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

67 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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)
```bash
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
```bash
cd /opt/law
make prod-up
```
## Проверка
```bash
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'
```
## Обновление
```bash
git pull
make prod-up
```
## Обновление сертификата
```bash
make prod-cert-renew
```
## Откат
```bash
make prod-down
# и вернуть предыдущий git tag/commit
```