Развертывание

Инструкции по развертыванию TVIP Provisioning Service.

Docker Deployment

Полное развертывание (все сервисы)

# В корне проекта
docker-compose --profile frontend up -d

Сервисы будут доступны:

Только backend

docker-compose up -d

Frontend отдельно

# Создать .env в frontend/
echo "VITE_API_BACKEND_URL=http://your-backend-url:7373" > frontend/.env

# Запустить
docker-compose up frontend -d

Остановка

docker-compose down

Просмотр логов

docker-compose logs -f tvip_provision
docker-compose logs -f frontend

Конфигурация

Environment Variables

Backend (опционально):

  • DATABASE_URL — строка подключения к PostgreSQL

  • PORT — порт uvicorn (по умолчанию 8000)

Frontend:

  • VITE_API_BACKEND_URL — адрес backend API

Docker Compose

Основные параметры в docker-compose.yml:

services:
  tvip_provision:
    ports:
      - "7373:7373"
    depends_on:
      - postgres

  postgres:
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data

  frontend:
    profiles: ["frontend"]
    ports:
      - "80:80"

Production рекомендации

HTTPS через nginx

Настроить nginx как reverse proxy с SSL сертификатом:

server {
    listen 443 ssl http2;
    server_name tvipupdate.net;

    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        proxy_pass http://localhost:7373;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Масштабирование

Для высоких нагрузок:

  • Несколько экземпляров backend за load balancer

  • Отдельный сервер PostgreSQL с репликацией

  • Redis для кэширования конфигураций

Backup базы данных

# Создать backup
docker-compose exec postgres pg_dump -U postgres tvip_provision > backup.sql

# Восстановить
docker-compose exec -T postgres psql -U postgres tvip_provision < backup.sql

Мониторинг

Health check

curl http://localhost:7373/docs

Проверка БД

docker-compose exec postgres psql -U postgres -d tvip_provision -c "SELECT COUNT(*) FROM devices;"

Логирование

Логи доступны через Docker:

docker-compose logs --tail=100 -f tvip_provision