Перейти к содержанию

Эпик: Веб-сервер и сайты

Цель

Обеспечить HTTPS-доступ к веб-сервисам VPS-RU через Caddy с автоматическим wildcard TLS и деплоем статических сайтов через Docker-labels — без Caddyfile.

Границы

  • Caddy: caddy-docker-proxy (CMD caddy docker-proxy), конфигурация через labels
  • Wildcard-сертификат *.kuzya-cabi.net через Cloudflare DNS-01
  • Сайты: nginx:alpine контейнеры, подключены к сети caddy_proxy (external)
  • Новый сайт = новый модуль + контейнер с caddy: labels; Caddy подхватывает автоматически

Модули

Модуль Узел Назначение
06_caddy.sh RU Caddy xcaddy-build + Cloudflare DNS-01 + docker-proxy
11_website_cv.sh RU CV-портфолио: Astro build → nginx:alpine
12_website_mebel.sh RU Мебельный сайт: Astro build → nginx:alpine
14_wiki.sh RU MkDocs-документация: mkdocs build → nginx:alpine

Зависимости

  • Требует: base (Docker, UFW, caddy_proxy network)
  • Caddy (06) должен стартовать до сайт-модулей (network caddy_proxy)

Пути на сервере

Сервис Compose dir Webroot
Caddy /opt/caddy/ — (docker-proxy, нет статики)
CV /opt/websites/11_website_cv/ .../src/dist/
Mebel /opt/websites/12_website_mebel/ .../src/dist/
Wiki /opt/websites/14_wiki/ .../site/

DNS

Субдомен Запись IP
kuzya-cabi.net A 89.44.87.72
*.kuzya-cabi.net A 89.44.87.72 (wildcard)
doc.kuzya-cabi.net покрыт wildcard

DNS для doc.kuzya-cabi.net

Wildcard *.kuzya-cabi.net покрывает TLS-сертификат, но DNS A-запись doc89.44.87.72 должна быть добавлена в Cloudflare вручную.

Статус: stable