Running on Forge
Forge is a paid server management services, tailored to hosting Laravel apps on Server Providers like DigitalOcean, Linode, Vultr, Amazon, Hetzner and more.
If you have a Forge Account and a connected server bucket, you can easily set up an Umami installation.
Prerequisites
- Configure the (sub) domain you would like to have Umami available on. Usually, you do this by configuring you DNS config with an A-Record that points to your bucket IP-Address.
Setup
-
Select your desired Server in Forge.
-
Go to Sites > New Site
- Enter the domain name
- Project Type: Static HTML
- Check Create Database, enter a Database Name
- Click Add
-
To install the Repository, fork the https://github.com/umami-software/umami project to your GitHub account or install from the official repository.
- Enter the Repository path:
umami-software/umami
- Uncheck Install Composer Dependencies
- Click Install Repository
- Enter the Repository path:
-
Update the deployment script and add the following after the
git pull origin $FORGE_SITE_BRANCH
command.yarn install yarn build
Remove these lines, since we don't have artisan or use php:
( flock -w 10 9 || exit 1 echo 'Restarting FPM...'; sudo -S service $FORGE_PHP_FPM reload ) 9>/tmp/fpmlock if [ -f artisan ]; then $FORGE_PHP artisan migrate --force fi
-
In Forge, go to your Server page, click Database and add a user to the just created database.
-
Create the database-connection string and add it to your
.env
file:DATABASE_URL=mysql://user:password@localhost:3306/dbname
The connection url is in the following format:
DATABASE_URL=postgresql://username:mypassword@localhost:5432/mydb DATABASE_URL=mysql://username:mypassword@localhost:3306/mydb
-
Perform the initial project setup, via SSH:
yarn install yarn update-db yarn build
-
Go to your Umami-Site and click on SSL in the left menu and add an SSL-Certificate.
-
Click Edit files > Edit Nginx Configuration and overwrite the following block:
location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache_bypass $http_upgrade; }
This configuration will route the traffic to the node-server that Umami runs on.
-
In Forge, go to your Server page, click Daemons and add New Daemon to keep the Umami Node-Server up and running.
- Command:
yarn start
- Directory:
/home/forge/umami.yourdomain.tld
- Click Create
- Command:
You should now be able to reach your Umami project.