Run admin in a separate server #740
Replies: 2 comments 1 reply
-
Hi @microlancer, I was going to start a conversation around decoupling the Admin Front End from the Tracking Backend, but this sounds like a similar thing. My motivation for this is I'm currently running Umami in an Azure Container App, which is a serverless container that scales down to 0. This means there is a cold start whenever the server is hit after some time of inactivity and at the moment this is about 20 seconds. I'd like to decouple Umami into 2 servers and keep the Tracking Backend as light as possible so that it can run on serverless architecture, either as a container or an NPM package. I'm hoping this could reduce the cold start time down to <1 second and run it on lightweight functions (e.g. Azure Functions). The cold start time doesn't matter for the Admin Front End, but it would be pretty awesome if we could reduce the size so that it could be deployed on Azure Static Web Apps. I'm happy to help out with the design/programming if people think it's useful. TLDR, here's a diagram; graph LR;
id3([AdminUser])-->AdminWebsite-->AdminServer:::server-->id1[(Datastore)];
id2([User])-->Website--TrackingData-->TrackingServer:::server-->id1[(Datastore)];
classDef server fill:#bbf,stroke:#333,stroke-width:4px,color:#000;
|
Beta Was this translation helpful? Give feedback.
-
@microlancer If you don't want people to log in, you can set an environment variable @tombrereton We hose Umami on Vercel and they are serverless. I haven't had any issues with performance from them. Splitting out the frontend and backend won't save you much size. The backend needs to have a IP database deployed, which by itself is about 40MB. |
Beta Was this translation helpful? Give feedback.
-
Hello,
I noticed the tracking API and the admin interface are all running behind the same server (port 3000 default). It would be nice to separate this, so that I don't need to expose the admin side to the public, while obviously exposing the tracking JS/API to the public.
It's annoying to have hackers trying to guess the admin password on the umami login screen. All of the analytics should be private I think.
Beta Was this translation helpful? Give feedback.
All reactions