112 lines
2.2 KiB
Markdown
112 lines
2.2 KiB
Markdown
# Инструкции по развертыванию
|
||
|
||
## Развертывание с 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
|
||
```
|