70 lines
2.4 KiB
Markdown
70 lines
2.4 KiB
Markdown
# Второй стенд рядом с основным
|
||
|
||
Как поднять ещё один экземпляр проекта (например, для проверки правок в таблице
|
||
на отдельном домене): свой каталог, свои порты, своя ссылка на таблицу.
|
||
Основной стенд при этом не трогаем.
|
||
|
||
## 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
|
||
```
|