TGViewer
Записки IT специалиста Записки IT специалиста @interface31 · 8.99K subscribers
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

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
More from @interface31
  1. Oct 1, 2026V2V миграция при помощи Vinchin Backup & Recovery Виртуализация сегодня – норма жизни, даж…
  2. Oct 1, 2026Post #6822
  3. Oct 1, 2026Проблема, как и статья не новая, но регулярно возникают вопросы. Не включается сетевое обн…
  4. Oct 1, 2026Post #6820
  5. Sep 30, 2026Влияние антивирусов на производительность 1С После выхода нашего материала: 🔹 Почему торм…
  6. Sep 30, 2026Termshot – скриншоты для вашего терминала Скриншоты? В терминале? Да ну, зачем это нужно……
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →