feat: CI/CD, per-domain HTTPS, backup, config generator

- sites.yml — единый источник истины для всех сайтов
- generate-configs.sh — генератор nginx конфигов, certbot domains.txt, .env
- nginx: per-domain HTTPS (вместо all-or-nothing switch-config)
- certbot: единый renew-all.sh, динамический init (без 5 дублирующих скриптов)
- backup: контейнер с pg_dump + rclone (Яндекс.Диск), ежедневно в 3AM
- Gitea + Gitea Runner в docker-compose (self-hosted Git + CI/CD)
- .gitea/workflows/deploy.yml — CI/CD pipeline: push → авто-деплой
- Makefile: generate-configs, reconfig, deploy, backup, restore, gitea, help
This commit is contained in:
valitovgaziz
2026-06-12 12:22:19 +05:00
parent abcb327278
commit 8e766b540e
31 changed files with 1535 additions and 343 deletions
+18 -9
View File
@@ -1,16 +1,18 @@
# Автоматически сгенерировано generate-configs.sh — не редактировать вручную
# HTTP-only конфигурация (работает когда нет сертификатов)
server {
listen 80;
server_name yalarba.ru \
www.yalarba.ru \
easysite102.ru \
www.easysite102.ru \
valitovgaziz.ru \
www.valitovgaziz.ru \
xn--80abahjtcfl5d0a8di.xn--p1ai \
www.xn--80abahjtcfl5d0a8di.xn--p1ai \
easysite102.ru \
www.easysite102.ru \
begushiybashkir.ru \
www.begushiybashkir.ru \
auth.yalarba.ru;
xn--80abahjtcfl5d0a8di.xn--p1ai \
www.xn--80abahjtcfl5d0a8di.xn--p1ai;
location / {
root /usr/share/nginx/stub/html;
@@ -25,12 +27,19 @@ server {
# Блок для HTTPS → HTTP редиректа (порт 443)
server {
listen 443 ssl;
server_name yalarba.ru www.yalarba.ru easysite102.ru www.easysite102.ru valitovgaziz.ru www.valitovgaziz.ru xn--80abahjtcfl5d0a8di.xn--p1ai www.xn--80abahjtcfl5d0a8di.xn--p1ai begushiybashkir.ru www.begushiybashkir.ru;
server_name yalarba.ru \
www.yalarba.ru \
valitovgaziz.ru \
www.valitovgaziz.ru \
easysite102.ru \
www.easysite102.ru \
begushiybashkir.ru \
www.begushiybashkir.ru \
xn--80abahjtcfl5d0a8di.xn--p1ai \
www.xn--80abahjtcfl5d0a8di.xn--p1ai;
# Указание пустых сертификатов (обязательно для запуска Nginx)
ssl_certificate /etc/nginx/ssl/dummy.crt;
ssl_certificate_key /etc/nginx/ssl/dummy.key;
# Редирект всех HTTPS-запросов на HTTP
return 301 http://$host$request_uri;
}
}