itcloud/DEPLOYMENT.md

2.6 KiB
Raw Permalink Blame History

Инструкция по развертыванию

Текущая конфигурация (разработка)

Сейчас проект настроен для локальной сети на IP 192.168.1.8:

Переход на домен (production)

Когда будете ставить на домен, просто отредактируйте файл .env:

Вариант 1: Домен без поддомена

# .env
SERVER_IP=yourdomain.com
CORS_ORIGINS=https://yourdomain.com,https://www.yourdomain.com
VITE_API_URL=https://yourdomain.com:8094

# Рекомендуется сменить порты на стандартные через nginx:
# FRONTEND_PORT=80 (или 443 для HTTPS)
# BACKEND_PORT=8080 (скрыть за nginx reverse proxy)

Вариант 2: С поддоменом для API (рекомендуется)

# .env
SERVER_IP=yourdomain.com
CORS_ORIGINS=https://yourdomain.com,https://www.yourdomain.com,https://api.yourdomain.com
VITE_API_URL=https://api.yourdomain.com

# Настроить nginx reverse proxy:
# yourdomain.com -> frontend:8095
# api.yourdomain.com -> backend:8094

Обязательно измените в production:

JWT_SECRET=ваш-очень-длинный-случайный-секретный-ключ
MINIO_ROOT_USER=ваш-логин
MINIO_ROOT_PASSWORD=ваш-сильный-пароль

Настройка HTTPS (nginx + Let's Encrypt)

Создайте nginx.conf:

# Frontend
server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

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

# Backend API
server {
    listen 80;
    server_name api.yourdomain.com;

    location / {
        proxy_pass http://localhost:8094;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Затем установите SSL сертификаты:

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com -d api.yourdomain.com

Быстрая смена конфигурации

  1. Отредактируйте .env
  2. Перезапустите контейнеры:
    docker-compose down
    docker-compose up -d
    

Готово! 🚀