PRODUCTION_SETUP.md 2.5 KB

Radionica3D Production Deployment Guide (No Docker)

Этот гид описывает шаги по ручному деплою Radionica3D на Linux-сервер (Ubuntu/Debian) с использованием Nginx и Systemd.


1. Подготовка окружения (на сервере)

Зависимости бэкенда

Установите необходимые системные пакеты:

sudo apt update
sudo apt install python3-pip python3-venv nginx redis-server prusa-slicer libmagic1

2. Деплой Бэкенда

  1. Скопируйте папку backend в /var/www/radionica3d/backend.
  2. Создайте виртуальное окружение и установите зависимости:

    cd /var/www/radionica3d/backend
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    pip install gunicorn uvicorn
    
  3. Настройте службу в systemd:

    • Скопируйте файл radionica-backend.service в /etc/systemd/system/.
    • Проверьте пути WorkingDirectory и ExecStart в файле.
    • Активируйте службу:

      sudo systemctl daemon-reload
      sudo systemctl enable radionica-backend
      sudo systemctl start radionica-backend
      

3. Деплой Фронтенда

  1. Соберите проект локально:

    ./build_frontend.sh
    
  2. Скопируйте содержимое папки dist в /var/www/radionica3d/html на сервере.


4. Настройка Nginx

  1. Скопируйте nginx.conf из проекта в /etc/nginx/sites-available/radionica3d.
  2. Отредактируйте server_name и пути.
  3. Активируйте конфиг:

    sudo ln -s /etc/nginx/sites-available/radionica3d /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl restart nginx
    

5. Переменные окружения

Backend автоматически подтянет настройки из переменных окружения. Вы можете задать их в файле службы radionica-backend.service в секции [Service]:

  • DB_HOST, DB_USER, DB_PASS, DB_NAME
  • REDIS_HOST
  • RADIONICA_DEBUG=False
  • EFI_ENABLED=True (для фискализации)

6. База данных

Не забудьте развернуть MySQL и создать базу данных radionica3d, а также импортировать схему.