# Radionica3D Production Deployment Guide (No Docker)

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

---

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

### Зависимости бэкенда
Установите необходимые системные пакеты:
```bash
sudo apt update
sudo apt install python3-pip python3-venv nginx redis-server prusa-slicer libmagic1
```

---

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

1. Скопируйте папку `backend` в `/var/www/radionica3d/backend`.
2. Создайте виртуальное окружение и установите зависимости:
   ```bash
   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` в файле.
   - Активируйте службу:
     ```bash
     sudo systemctl daemon-reload
     sudo systemctl enable radionica-backend
     sudo systemctl start radionica-backend
     ```

---

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

1. Соберите проект локально:
   ```bash
   ./build_frontend.sh
   ```
2. Скопируйте содержимое папки `dist` в `/var/www/radionica3d/html` на сервере.

---

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

1. Скопируйте `nginx.conf` из проекта в `/etc/nginx/sites-available/radionica3d`.
2. Отредактируйте `server_name` и пути.
3. Активируйте конфиг:
   ```bash
   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`, а также импортировать схему.
