Guide: Metronome in Digital Ocean
This guide will walk you through the steps to install Metronome in Digital Ocean, but the same steps can be used for any other cloud provider that you can ssh into.Before you start
You need to create a Digital Ocean account first, if you haven't already, you can use this affiliate link to get a $200 in credit for 60 days.
Reverse proxy server
Metronome comes with Caddy configured as a reverse proxy with SSL termination to expose Metronome to the internet.You need a domain name to use with Metronome. You can use your existing domain and add an record like to point to your Digital Ocean Droplet IP address.
A
metronome.yourdomain.com
1. Create a Digital Ocean Droplet
Create an Ubuntu droplet. You can use the cheapest option, but make sure it has at least 2GB of RAM and 2 CPUs. At the end, it will depends on your ingestion rate.2. Install Docker Compose
SSH into your droplet and install Docker Compose.Terminal
$apt install -y docker-compose
3. Assign a Reserved IP to your Droplet
Assign a reserved IP to your droplet. This will ensure that your droplet will always have the same IP address.4. Configure your domain name
Add anA
metronome.yourdomain.com
5. Clone the Metronome repository
SSH into your droplet and clone the Metronome repository.Terminal
$git clone https://github.com/metronome-sh/docker.git
6. Run the setup script
To create the necessary configuration files and start Metronome, run the setup script.Geolocation
Metronome uses MaxMind GeoLite2 database to geolocate IP addresses. You need to create a free account on MaxMind and get a license key to use with Metronome.If you don't provide a license key, Metronome will still work, but it will not geolocate IP addresses.
Terminal
$cd docker
$./setup.sh --maxmind-license MAXMIND_LICENSE --url DOMAIN_NAME
.env
7. Start Metronome
Terminal
$docker-compose up -d; docker-compose logs --tail="all" -f
https://metronome.yourdomain.com
Updating Metronome self hosted
To update Metronome, you need to pull the updated docker images and restart the containers.Terminal
$docker pull metronomedotsh/metronome:latest
Terminal
$docker-compose down && docker-compose up -d