Uptime Kuma is a self-hosted monitoring tool like "Uptime Robot".
Dokku is the smallest PaaS implementation you've ever seen - Docker powered mini-Heroku.
- A working Dokku host
Note: We are going to use the domain uptime.example.com
for demonstration purposes. Make sure to
replace it with your own domain name.
Log onto your Dokku Host to create the Uptime Kuma app:
dokku apps:create uptime-kuma
To get the routing working, we need to apply a few settings. First we set the domain.
dokku domains:set uptime-kuma uptime.example.com
To persists user uploads (e.g. avatars) between restarts, create a folder on the host machine and tell Dokku to mount it to the app container.
sudo mkdir -p /var/lib/dokku/data/storage/uptime-kuma
dokku storage:mount uptime-kuma /var/lib/dokku/data/storage/uptime-kuma:/app/data
First clone this repository onto your machine.
# Via SSH
git clone [email protected]:d1ceward/uptime_kuma_on_dokku.git
# Via HTTPS
git clone https://github.com/d1ceward/uptime_kuma_on_dokku.git
git remote add dokku [email protected]:uptime-kuma
git push dokku master
Last but not least, we can go an grab the SSL certificate from Let's Encrypt.
# Install letsencrypt plugin
dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git
# Set certificate contact email
dokku letsencrypt:set uptime-kuma email [email protected]
# Generate certificate
dokku letsencrypt:enable uptime-kuma
Your Uptime Kuma instance should now be available on https://uptime.example.com.
If the Plausible instance is not available at the address https://plausible.example.com check the return of this command :
dokku proxy:ports plausible
### Valid return
-----> Port mappings for plausible
-----> scheme host port container port
http 80 5000
### Invalid return
-----> Port mappings for plausible
-----> scheme host port container port
http 5000 5000
If the return is not the expected one, execute this command :
dokku proxy:ports-set plausible http:80:5000
If the return of the command was valid and Plausible is still not available, feel free to fill an issue in the issue tracker.