Traefik
KumoYami behind Traefik, with Docker labels.
If Traefik already sits in front of your containers, KumoYami joins it with a few labels, like any other service.
Create a docker-compose.override.yml next to KumoYami's docker-compose.yml. Change the domain, and the names that
depend on your Traefik setup: the network (traefik in the example), the HTTPS entrypoint (websecure) and the
certresolver (letsencrypt).
services:
web:
networks:
- default
- traefik
labels:
- traefik.enable=true
- traefik.docker.network=traefik
- traefik.http.routers.kumoyami.rule=Host(`nube.example.com`)
- traefik.http.routers.kumoyami.entrypoints=websecure
- traefik.http.routers.kumoyami.tls.certresolver=letsencrypt
- traefik.http.services.kumoyami.loadbalancer.server.port=3000
networks:
traefik:
external: trueApply the change:
docker compose up -dTraefik talks to the container over the Docker network, on its internal port 3000: the 127.0.0.1:4890 in
docker-compose.yml doesn't come into it and can stay as it is.
Why the override
Docker Compose merges docker-compose.override.yml into docker-compose.yml, labels included (the Watchtower one is
kept). And the installer leaves alone any override it didn't create, whereas docker-compose.yml does get updated
when you run it again. If you gave the installer a domain, remove its Caddy first with --no-caddy.