Skip to content

Instantly share code, notes, and snippets.

@paulknulst
Created October 22, 2022 21:16
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save paulknulst/58543c289a08d193d9fbe850750ce0a9 to your computer and use it in GitHub Desktop.
Save paulknulst/58543c289a08d193d9fbe850750ce0a9 to your computer and use it in GitHub Desktop.
Uptime Kuma Docker Compose file to run in a Docker Swarm with Traefik reverse proxy.
version: '3.6'
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
volumes:
- data:/app/data
restart: always
networks:
- traefik-public
deploy:
placement:
constraints:
- node.labels.monitor == true
labels:
- traefik.enable=true
- traefik.docker.network=traefik-public
- traefik.constraint-label=traefik-public
- traefik.http.routers.uptime-kuma-http.rule=Host(`monitor.${PRIMARY_DOMAIN?Variable not set}`)
- traefik.http.routers.uptime-kuma-http.entrypoints=http
- traefik.http.routers.uptime-kuma-http.middlewares=https-redirect
- traefik.http.routers.uptime-kuma-https.rule=Host(`monitor.${PRIMARY_DOMAIN?Variable not set}`)
- traefik.http.routers.uptime-kuma-https.entrypoints=https
- traefik.http.routers.uptime-kuma-https.tls=true
- traefik.http.routers.uptime-kuma-https.tls.certresolver=le
- traefik.http.services.uptime-kuma.loadbalancer.server.port=3001
networks:
traefik-public:
external: true
volumes:
data:
@PatelShukan
Copy link

followed your tutorial to create the swarm and deploy the swarm
permissions for acme.json is set to 600
regarding the volumes, I would want them to share a common volume (NFS) that is why /mnt/nfs/docker
all the nodes have access to this share and is configured correctly -- checked by login into each node

@paulknulst
Copy link
Author

If I have a look at the readme on Uptime Kuma repository at https://github.com/louislam/uptime-kuma it says that NFS is not supported. So please test without using an NFS.

From Uptime Kuma:

Warning
File Systems like NFS (Network File System) are NOT supported. Please map to a local directory or volume.

@PatelShukan
Copy link

still no good

version: '3.7' 
services: 
  kuma: 
    image: louislam/uptime-kuma:latest
    networks:
      - traefik-public
    volumes: 
      - data:/app/data
    deploy:
      labels:
        - traefik.enable=true
        - traefik.docker.network=traefik-public
        - traefik.constraint-label=traefik-public
        - traefik.http.routers.kuma-http.rule=Host(`time.bitsandbots.cc`)
        - traefik.http.routers.kuma-http.entrypoints=http
        - traefik.http.routers.kuma-http.middlewares=https-redirect
        - traefik.http.routers.kuma-https.rule=Host(`time.bitsandbots.cc`)
        - traefik.http.routers.kuma-https.entrypoints=https
        - traefik.http.routers.kuma-https.tls=true
        - traefik.http.routers.kuma-https.tls.certresolver=le
        - traefik.http.services.kuma.loadbalancer.server.port=3001

networks:
  traefik-public:
    external: true

volumes:
  data:

@paulknulst
Copy link
Author

paulknulst commented Apr 10, 2024

I just copied your docker-compose file and adjusted the URL to up.paulsblog.dev and deployed it in my Docker Swarm. It work out of the box. I guess you did not follow my tutorial or have something broken in your server cluster setup.
Sorry, I don't see any error in your

image

I will shut down Uptime Kuma in 10 minutes, it was just a fast test :)

@PatelShukan
Copy link

update: the setup did work on AWS , seems like there is issue with the overlay network. Would you have any idea on how to check for issues in overlay network
H/W setup: ESXI -8 and VMs on it
Screenshot 2024-04-11 at 12 55 23 PM

@PatelShukan
Copy link

the problem was with overlay networks in virtual machines that are running on the ESXI.
It seems like there is a bug in the virtual network driver. In my case it helped to disable the checksum verification, and it started to work as I needed it.
"sudo ethtool -K eth0 rx off tx off"
and it worked

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment