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
+49
View File
@@ -0,0 +1,49 @@
# Единый источник истины для всех сайтов проекта
# Добавление нового сайта = одна секция в этом файле
# После изменений запусти: bash generate-configs.sh
sites:
yalarba:
domain: yalarba.ru
aliases:
- www.yalarba.ru
type: upstream
upstream: http://yalarba:3000
api:
/api/v1/: http://api_yal:8787
valitovgaziz:
domain: valitovgaziz.ru
aliases:
- www.valitovgaziz.ru
type: upstream
upstream: http://valitovgaziz/
api:
/api/: http://analytics:3000/
easysite102:
domain: easysite102.ru
aliases:
- www.easysite102.ru
type: upstream
upstream: http://easysite:3000
api:
/api/v1/: http://api_yal:8787
begushiybashkir:
domain: begushiybashkir.ru
aliases:
- www.begushiybashkir.ru
type: static
root: /usr/share/nginx/begushiybashkir/html
api:
/api/: http://api_bb:8080/
begushiybashkir_idn:
domain: xn--80abahjtcfl5d0a8di.xn--p1ai
aliases:
- www.xn--80abahjtcfl5d0a8di.xn--p1ai
type: static
root: /usr/share/nginx/begushiybashkir/html
api:
/api/: http://api_bb:8080/