IT-канал, просто о сложном
https://interface31.ru
Купить рекламу:
https://telega.in/c/interface31
Post #5792
2.74K

Настраиваем Uptime Kuma с обратным прокси-сервером Caddy и TLS-защитой
Популярная система мониторинга Uptime Kuma представляет собой обычное веб-приложение и не имеет встроенных средств защиты, поэтому для ее публикации во внешнюю сеть нам потребуется обратный прокси, который будет брать на себя работу с TLS-сертификатами.
Традиционно это решается при помощи Certbot и Nginx, но есть способ проще – веб-сервер Caddy, который крайне прост в настройках и показывает отличную производительность при скромном потреблении ресурсов.
В целом особой проблемы запустить связку Uptime Kuma и Caddy нет, но всегда полезно читать официальную документацию. Так в документации Uptime Kuma мы нашли отсылку к проекту Caddy-Docker-Proxy, который работает с контейнерами Docker при помощи меток.
Таким образом нам вообще практически не надо ничего настраивать, плюс мы получаем возможность использовать Caddy и для других развернутых на этом хосте контейнеров, получив своего рода Traefik «на минималках».
Интересно? Тогда приступим. Нам потребуется следующий docker-compose.yml
Все, что вам потребуется в нем поменять – это вместо uptime.example.com указать свой домен.
После чего просто делаем
И переходим в браузере по указанному адресу.
Если вам нужно использовать этот же контейнер Caddy для других контейнеров, то просто добавьте к нему метки:
Где вы указываете желаемый внешний домен и порт внутреннего контейнера. Теперь при его запуске Caddy на лету изменит свою конфигурацию и начнет проксирование для нового сервиса.
Популярная система мониторинга Uptime Kuma представляет собой обычное веб-приложение и не имеет встроенных средств защиты, поэтому для ее публикации во внешнюю сеть нам потребуется обратный прокси, который будет брать на себя работу с TLS-сертификатами.
Традиционно это решается при помощи Certbot и Nginx, но есть способ проще – веб-сервер Caddy, который крайне прост в настройках и показывает отличную производительность при скромном потреблении ресурсов.
В целом особой проблемы запустить связку Uptime Kuma и Caddy нет, но всегда полезно читать официальную документацию. Так в документации Uptime Kuma мы нашли отсылку к проекту Caddy-Docker-Proxy, который работает с контейнерами Docker при помощи меток.
Таким образом нам вообще практически не надо ничего настраивать, плюс мы получаем возможность использовать Caddy и для других развернутых на этом хосте контейнеров, получив своего рода Traefik «на минималках».
Интересно? Тогда приступим. Нам потребуется следующий docker-compose.yml
networks:
default:
name: "proxy_network"
services:
uptime-kuma:
image: louislam/uptime-kuma:1
restart: unless-stopped
volumes:
- /srv/uptime:/app/data
labels:
caddy: uptime.example.com
caddy.reverse_proxy: "* {{upstreams 3001}}"
caddy:
image: "lucaslorentz/caddy-docker-proxy:ci-alpine"
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /srv/caddy/:/data
restart: unless-stopped
environment:
- CADDY_INGRESS_NETWORKS=proxy_network
Все, что вам потребуется в нем поменять – это вместо uptime.example.com указать свой домен.
После чего просто делаем
docker compose up -d
И переходим в браузере по указанному адресу.
Если вам нужно использовать этот же контейнер Caddy для других контейнеров, то просто добавьте к нему метки:
caddy: service.example.com
caddy.reverse_proxy: "* {{upstreams 8080}}"
Где вы указываете желаемый внешний домен и порт внутреннего контейнера. Теперь при его запуске Caddy на лету изменит свою конфигурацию и начнет проксирование для нового сервиса.
- 👍 30
- 🤝 2


















