Hosting

Running on Fly.io

Deploy Umami's prebuilt Docker image on Fly.io with a fly.toml file and a connected PostgreSQL app created during fly launch.

Fly.io turns containers into VMs that can be deployed in one or multiple regions. The fly launch process can automatically set up a PostgreSQL VM connected to your Umami app.

Set up using Umami's prebuilt container#

For anyone wishing to deploy Umami on Fly now, here's a simple method using Umami's prebuilt container instead of pulling the source and modifying the Dockerfile.

If you don't already have flyctl installed, install it.

  1. In a new directory for your app, create fly.toml:
  1. Run fly launch and choose to create an app with the found fly.toml configuration.
  2. Go through the launch steps, and choose y on the step to create a connected PostgreSQL app.
  3. Choose not to deploy the app yet.
  4. Run fly secrets set APP_SECRET="<random-string>", replacing <random-string> (including the angle brackets) with a random string used to secure authentication tokens.
  5. Run fly deploy. There will be errors, but let the deployment complete.
  6. Run fly scale memory 512. Umami may fail with less than 512 MB of RAM, so increase this if needed.
  7. Run fly deploy.
  8. Following the Login docs, log in with username admin and password umami, then change the default password.

Adjust instance locations, number of machines, auto-scaling, custom domains for your Umami app, and any other Fly.io options as per the Fly.io docs.