Law/context/13_production_deploy_ruakb.md
2026-03-01 17:31:09 +03:00

2.2 KiB
Raw Blame History

Production deploy (ruakb.ru + ruakb.online)

Цель

Развернуть платформу на сервере 45.150.36.116 c HTTPS на 80/443 для доменов ruakb.ru и ruakb.online.

Что добавлено

  • docker-compose.local.yml — локальные публикации портов (8081/8080/8002/5432/6379/9000/9001)
  • docker-compose.prod.nginx.yml — production override:
    • edge nginx на 80/443
    • certbot volume для сертификатов
    • отключены внешние порты у внутренних сервисов
  • docker-compose.prod.cert.yml — bootstrap override для первичного выпуска сертификата
    • edge nginx только на 80
  • deploy/nginx/edge-http-only.conf — nginx конфиг только под 80 + ACME challenge
  • deploy/nginx/edge-https.conf — nginx конфиг для 80/443 + TLS + reverse proxy
  • Makefile — цели локального и production запуска

Предусловия

  1. DNS:
    • A ruakb.ru -> 45.150.36.116
    • A www.ruakb.ru -> 45.150.36.116 (опционально)
    • A ruakb.online -> 45.150.36.116
    • A www.ruakb.online -> 45.150.36.116 (опционально)
  2. Открыты порты сервера:
    • 80/tcp, 443/tcp

Первичный выпуск сертификата (nginx только 80)

cd /opt/law
make prod-cert-init LETSENCRYPT_EMAIL=you@example.com DOMAIN=ruakb.ru WWW_DOMAIN=www.ruakb.ru

По умолчанию цель также включает SECOND_DOMAIN=ruakb.online и SECOND_WWW_DOMAIN=www.ruakb.online.

Запуск production

cd /opt/law
make prod-up

Проверка

curl -I http://ruakb.ru
curl -I https://ruakb.ru
curl -I https://ruakb.online
curl -fsS https://ruakb.ru/health
curl -fsS https://ruakb.ru/chat-health
curl -fsS https://ruakb.ru/email-health
ss -lntp | egrep ':(80|443|5432|6379|8002|8081|9000|9001)\b'

Обновление

git pull
make prod-up

Обновление сертификата

make prod-cert-renew

Откат

make prod-down
# и вернуть предыдущий git tag/commit