Running on Koyeb
Koyeb is a developer-friendly serverless platform to deploy apps globally. The platform lets you seamlessly run Docker containers, web apps, and APIs with git-based deployment, native autoscaling, free SSL, a global edge network, and built-in service mesh and discovery.
Setup
In this guide, you need to have a PostgreSQL database server running and accepting remote connections. If you do not already have a database, you can check out the Managed database section under Hosting.
You will need to set up the database tables by following the Create database tables section of the Install docs.
To deploy Umami, we use the Koyeb CLI, you can also perform the setup using the Koyeb control panel.
Create Koyeb Secrets
Create one Koyeb secrets to securely store your DATABASE_URL
. In the terminal execute the following command:
$ koyeb secret create umami-database-url
Enter your secret: postgres://<user>:<password>@<host>:<port>/<db-name>?sslmode=require
$ openssl rand -hex 32 | koyeb secret create umami-hash-salt --value-from-stdin
Deploy Umami
Once you’ve created the secrets, you can deploy Umami. In your terminal run the following command to create a new Koyeb App and deploy the Umami service:
koyeb app init umami --docker ghcr.io/umami-software/umami:postgresql-latest --ports 3000:http --routes /:3000 --env DATABASE_URL=@umami-database-url
Your Umami service is being deployed. To retrieve the Umami URL run:
$ koyeb app get umami
ID NAME DOMAINS UPDATED AT
30de8301-05b1-4131-a842-28e608900000 umami umami-<YOUR_KOYEB_ORG>.koyeb.app 2021-07-06 11:58:01.143967 +0000 UTC
Open the URL to access Umami and follow the Getting started guide starting from the Login step.