Добавить в корзинуПозвонить
Найти в Дзене

Caddy-Docker-Proxy

Веб-сервер Caddy крайне популярен не только в виде веб-сервера, но и обратного прокси, благодаря крайне простой настройке, автоматической конфигурации TLS, включая прозрачную интеграцию с Let’s Encrypt. Также Caddy популярен как обратный прокси для Docker, который обычно принято настраивать «классически», например: grafana.example.com { reverse_proxy grafana:3000 } nextcloud.example.com { reverse_proxy nextcloud:8080 } Но Docker – это в первую очередь динамические среды, контейнеры могут создаваться, удаляться, меняться, особенно в тестовых средах и каждый раз править руками конфигурацию обратного прокси – занятие утомительное. Поэтому был разработан специальный плагин Caddy-Docker-Proxy, который позволяет Caddy работать с метками Docker, автоматически подхватывая конфигурацию, как Traefik. Для этого просто используйте готовый контейнер от разработчика плагина, для этого создайте следующий docker-compose.yaml services: caddy: image: lucaslorentz/caddy-docker-proxy:ci-alpine port

Caddy-Docker-Proxy

Веб-сервер Caddy крайне популярен не только в виде веб-сервера, но и обратного прокси, благодаря крайне простой настройке, автоматической конфигурации TLS, включая прозрачную интеграцию с Let’s Encrypt.

Также Caddy популярен как обратный прокси для Docker, который обычно принято настраивать «классически», например:

grafana.example.com {

reverse_proxy grafana:3000

}

nextcloud.example.com {

reverse_proxy nextcloud:8080

}

Но Docker – это в первую очередь динамические среды, контейнеры могут создаваться, удаляться, меняться, особенно в тестовых средах и каждый раз править руками конфигурацию обратного прокси – занятие утомительное.

Поэтому был разработан специальный плагин Caddy-Docker-Proxy, который позволяет Caddy работать с метками Docker, автоматически подхватывая конфигурацию, как Traefik.

Для этого просто используйте готовый контейнер от разработчика плагина, для этого создайте следующий docker-compose.yaml

services:

caddy:

image: lucaslorentz/caddy-docker-proxy:ci-alpine

ports:

- 80:80

- 443:443/tcp

- 443:443/udp

environment:

- CADDY_INGRESS_NETWORKS=caddy

networks:

- caddy

volumes:

- /var/run/docker.sock:/var/run/docker.sock

- caddy_data:/data

restart: unless-stopped

networks:

caddy:

external: true

volumes:

caddy_data: {}

Затем в compose нужного сервиса добавьте:

services:

my_app:

image: my_app:latest

networks:

- caddy

labels:

caddy: my_app.example.com

caddy.reverse_proxy: "{{upstreams 80}}"

networks:

caddy:

external: true

Теперь при запуске контейнера my_app в конфигурацию Caddy будет добавлена секция для обратного проксирования вашего сервиса.