There are many ways you can get Umami up and running. All you need is a database (either MySQL or PostgreSQL) and server that can run Node.js (18.17 or newer).

Single server

In this setup you would have the database and web server running on the same machine. You can optionally run Umami behind a dedicated web server like Nginx or Apache and proxy requests to Umami.

You can view the Running on DigitalOcean guide to learn how to set up a server.

Separate database and web server

In this setup you have a database running on its own machine that allows remote connections. Your web server is running on a different machine with Umami installed and connects to the database remotely to store and retrieve data.

App hosting

In this setup, you would have an app hosting provider host the Umami app for you. You would still need a database running elsewhere that the app could connect to. Here are a few app hosting providers that can host Umami. Vercel, Netlify, and Railway both have a free tier available.

For the deployment, the build command is npm run build and the publish directory is .next.

Managed databases

A managed database is where the host provides you with a running database that you don't have to install or maintain. Here are some providers for managed databases.