Deploy Umami analytics with Launcher


I have recently moved my deployment solution to Launcher and I wanted to use it to deploy Umami in my server too. It involves a few steps.

Create a new site and set the Git repository to, and branch master, and copy the new database credentials.

Edit the App .env file.


Replacing USERNAME and PASSWORD with your generated database credentials, and RANDOMSTRING with a random string.

On macOS, you can use the following code to generate a random string of 32 characters.

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 32

Edit the Deploy script (entrypoint).


set -eux -o pipefail
export NODE_OPTIONS=--max-old-space-size=8192

echo "Git pull"
git remote set-url origin $LAUNCHER_SITE_GIT_REPOSITORY

if [ -f yarn.lock ]; then
    echo "Install yarn dependencies and build production assets"
    yarn install
    yarn run build

exec "$@"

Edit the Dockerfile PHP-FPM to expose the port 3000 used for Umami.

# # FROM uselauncher/php-fpm-80 # Uncomment the two lines below to install additional PHP extensions # See: # USER root # RUN install-php-extensions ldap USER launcher EXPOSE 3000

Deploy your site.

Create a daemon with the following command.

yarn --cwd /app start

SSH into container to get the daemon container name.

ssh launcher@YOURSERVERIP -t 'sudo docker ps'

SSH into container to get the daemon container IP address.

ssh launcher@YOURSERVERIP -t 'sudo docker inspect'

Edit your Nginx site config to proxy the traffic and add this location block as shown below, and redeploy the site.

location / {
     proxy_set_header Host $host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

Now Umami is accesible at, and you can log in using admin/umami and change your password.