Files
schedule/deploy/README-dev.md

70 lines
2.4 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.

# Второй стенд рядом с основным
Как поднять ещё один экземпляр проекта (например, для проверки правок в таблице
на отдельном домене): свой каталог, свои порты, своя ссылка на таблицу.
Основной стенд при этом не трогаем.
## 1. Код
```bash
sudo mkdir -p /opt/schedule-dev && sudo chown "$USER" /opt/schedule-dev
git clone <адрес репозитория> /opt/schedule-dev
```
## 2. .env
Скопировать `.env.example` в `/opt/schedule-dev/.env` и заполнить:
```ini
SCHEDULE_LINK=https://disk.yandex.ru/i/...
SCHEDULE_INTERVAL_MINUTES=15
SCHEDULE_RETRY_AFTER=60
API_PORT=8001
FRONTEND_PORT=8091
```
Порты 8001/8091 выбраны, чтобы не пересечься с основным стендом (8000/8090).
В docker-compose.yml оба порта публикуются на `127.0.0.1` — API и фронт не
смотрят в интернет напрямую, наружу их отдаёт nginx.
## 3. Запуск
```bash
cd /opt/schedule-dev
sudo docker compose up -d --build
sudo docker compose ps
```
## 4. nginx и сертификат
Конфиг генерирует `deploy/nginx-site.sh`: порт фронта возьмёт из `.env`,
сертификат — родительского домена (wildcard), затем включит сайт, проверит
`nginx -t` и перечитает nginx:
```bash
sudo deploy/nginx-site.sh --domain dev.schedule.our-place.ru --cert our-place.ru
```
Если у родительского домена нет wildcard-сертификата — выпустите свой
(конфиг-заготовка для ручного пути: `deploy/nginx-dev.conf`):
```bash
sudo cp deploy/nginx-dev.conf /etc/nginx/sites-available/dev.schedule.our-place.ru
sudo ln -sf /etc/nginx/sites-available/dev.schedule.our-place.ru /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d dev.schedule.our-place.ru
```
## 5. Проверка
```bash
curl -s http://127.0.0.1:8091/healthz # {"ok":true}
curl -sI https://dev.schedule.our-place.ru/ | head -3 # 200
```
## Обновление
```bash
cd /opt/schedule-dev && git pull && sudo docker compose up -d --build
```