selfhosted-apps-docker/uptime-kuma
2023-08-18 13:00:47 +02:00
..
readme.md update 2023-08-18 13:00:47 +02:00

Uptime Kuma in docker

guide-by-example

logo

Purpose & Overview

Website uptime monitoring and notifications.

Simple, modern, uptime monitoring, with rich notification system.

Written in javascript.


interface-pic

Files and directory structure

/home/
└── ~/
    └── docker/
        └── uptimekuma/
            ├── 🗁 uptimekuma_data/
            └── 🗋 docker-compose.yml
  • uptimekuma_data - persistent data, contains sqlite database
  • .env - a file containing environment variables for docker compose
  • docker-compose.yml - a docker compose file, telling docker how to run the containers

You only need to provide the two files.
The directory is created by docker compose on the first run.

docker-compose

It's a simpler, single container approach.

docker-compose.yml

services:
  uptimekuma:
    image: louislam/uptime-kuma:1
    container_name: uptimekuma
    hostname: uptimekuma
    restart: unless-stopped
    ports:
      - "3001:3001"
    volumes:
      - ./uptimekuma_data:/app/data

networks:
  default:
    name: $DOCKER_MY_NETWORK
    external: true      

.env

# GENERAL
TZ=Europe/Bratislava
DOCKER_MY_NETWORK=caddy_net

Reverse proxy

Caddy v2 is used, details here.

Caddyfile

uptime.{$MY_DOMAIN} {
  reverse_proxy uptimekuma:3001
}

Manual image update:

  • docker-compose pull
  • docker-compose up -d
  • docker image prune

Backup and restore

Backup

should be just backup of uptimekuma_data directory

not tested yet

Restore