For anyone wishing to deploy Umami on Fly now, here’s a simple method using Umami’s pre-built container for postgres instead of pulling the source and modifying the Dockerfile.
- In a new directory for your app, create
kill_signal = "SIGINT" kill_timeout = "5s" [experimental] auto_rollback = true [build] image = "ghcr.io/umami-software/umami:postgresql-latest" [[services]] protocol = "tcp" internal_port = 3000 processes = ["app"] [[services.ports]] port = 80 handlers = ["http"] force_https = true [[services.ports]] port = 443 handlers = ["tls", "http"] [services.concurrency] type = "connections" hard_limit = 25 soft_limit = 20 [[services.tcp_checks]] interval = "15s" timeout = "2s" grace_period = "1s"
fly launchand choose to create an app with the found
- Go through the launch steps, and choose
yon the step to create a connected Postgres app.
- Choose not to deploy the app yet.
fly secrets set HASH_SALT="<any-string-minus-angle-brackets>", using whatever string you want to salt the hash.
fly deployThere will be errors, but let the deployment complete.
fly scale memory 512(or higher, if needed. Umami seems to fail with less than 512 MB RAM)
- Following the Umami docs, log in with user:
HOSTNAME = "0.0.0.0" from
[env] as it’s no longer necessary with Umami v2.7.0