# Второй стенд рядом с основным Как поднять ещё один экземпляр проекта (например, для проверки правок в таблице на отдельном домене): свой каталог, свои порты, своя ссылка на таблицу. Основной стенд при этом не трогаем. ## 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=127.0.0.1:8001 FRONTEND_PORT=127.0.0.1:8091 ``` Порты 8001/8091 выбраны, чтобы не пересечься с основным стендом (8000/8090). Привязка к `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-dev.conf` порт `proxy_pass` должен совпадать с `FRONTEND_PORT` из `.env` (по умолчанию 8091). ```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 ```