# Инструкции по развертыванию ## Развертывание с Docker ### 1. Клонирование репозитория ```bash git clone [repository-url] cd cash-report-system ``` ### 2. Настройка переменных окружения ```bash cp .env.example .env # Отредактируйте .env файл под ваши нужды ``` ### 3. Запуск с Docker Compose ```bash docker-compose up -d ``` ### 4. Проверка статуса ```bash docker-compose ps docker-compose logs -f ``` ## Развертывание без Docker ### 1. Установка зависимостей ```bash # Backend cd backend npm install # Frontend (если используете сервер разработки) cd ../frontend npm install ``` ### 2. Инициализация базы данных ```bash cd backend npm run init-db ``` ### 3. Запуск сервисов ```bash # Backend cd backend npm start # Frontend (статический сервер) cd ../frontend python -m http.server 8080 ``` ## Производственное развертывание ### Nginx конфигурация ```nginx server { listen 80; server_name your-domain.com; location / { root /var/www/cash-system/frontend; try_files $uri $uri/ /index.html; } location /api/ { proxy_pass http://localhost:3001; 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 с Let's Encrypt ```bash sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d your-domain.com ``` ### Мониторинг с PM2 ```bash npm install -g pm2 cd backend pm2 start server.js --name "cash-system-api" pm2 startup pm2 save ``` ## Backup базы данных ```bash # Создание backup cp data/database.sqlite backups/database-$(date +%Y%m%d).sqlite # Восстановление cp backups/database-20240101.sqlite data/database.sqlite ``` ## Обновление системы ```bash git pull origin main docker-compose down docker-compose build --no-cache docker-compose up -d ``` ## Production настройки Для production среды обязательно установите: ```env GENERATE_DEMO_DATA=false NODE_ENV=production ``` Включение демо-данных в production может привести к утечке тестовой информации!