Эпик: Веб-сервер и сайты¶
Цель¶
Обеспечить HTTPS-доступ к веб-сервисам VPS-RU через Caddy с автоматическим wildcard TLS и деплоем статических сайтов через Docker-labels — без Caddyfile.
Границы¶
- Caddy:
caddy-docker-proxy(CMDcaddy 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_proxynetwork) - 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-запись
doc → 89.44.87.72 должна быть добавлена в Cloudflare вручную.