📦 Add VPS deployment guide for server 128.140.8.206
✨ Features: - Complete step-by-step deployment instructions - Docker & Docker Compose installation - Production environment configuration - Security and monitoring guidelines - Troubleshooting section - One-command deployment script 🎯 Ready for VPS deployment 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
bda23a773f
commit
07e854e68c
1 changed files with 236 additions and 0 deletions
236
VPS-DEPLOY.md
Normal file
236
VPS-DEPLOY.md
Normal file
|
|
@ -0,0 +1,236 @@
|
|||
# 🚀 VPS Deployment - Aimpress AutomationHub
|
||||
|
||||
## 🌐 **Развертывание на VPS сервере 128.140.8.206**
|
||||
|
||||
### Шаг 1: Подключение к серверу
|
||||
```bash
|
||||
# Подключиться к VPS
|
||||
ssh root@128.140.8.206
|
||||
# или
|
||||
ssh your-username@128.140.8.206
|
||||
```
|
||||
|
||||
### Шаг 2: Установка Docker (если не установлен)
|
||||
```bash
|
||||
# Обновить пакеты
|
||||
apt update && apt upgrade -y
|
||||
|
||||
# Установить Docker
|
||||
curl -fsSL https://get.docker.com -o get-docker.sh
|
||||
sh get-docker.sh
|
||||
|
||||
# Установить Docker Compose
|
||||
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||
chmod +x /usr/local/bin/docker-compose
|
||||
|
||||
# Проверить установку
|
||||
docker --version
|
||||
docker-compose --version
|
||||
```
|
||||
|
||||
### Шаг 3: Клонирование проекта
|
||||
```bash
|
||||
# Установить Git (если не установлен)
|
||||
apt install git -y
|
||||
|
||||
# Клонировать репозиторий
|
||||
git clone https://github.com/SamoilenkoVadym/SaaS.git
|
||||
cd SaaS
|
||||
```
|
||||
|
||||
### Шаг 4: Конфигурация для production
|
||||
```bash
|
||||
# Создать production docker-compose
|
||||
cp docker-compose.yml docker-compose.prod.yml
|
||||
|
||||
# Изменить порты для внешнего доступа
|
||||
sed -i 's/- "3000:3000"/- "80:3000"/' docker-compose.prod.yml
|
||||
sed -i 's/- "3001:3001"/- "3001:3001"/' docker-compose.prod.yml
|
||||
```
|
||||
|
||||
### Шаг 5: Настройка переменных окружения
|
||||
```bash
|
||||
# Backend environment
|
||||
cat > backend/.env << EOF
|
||||
PORT=3001
|
||||
DB_HOST=postgres
|
||||
DB_PORT=5432
|
||||
DB_NAME=saas_automation
|
||||
DB_USER=postgres
|
||||
DB_PASSWORD=secure_production_password_123
|
||||
JWT_SECRET=your_super_secret_jwt_key_production_123
|
||||
NODE_ENV=production
|
||||
EOF
|
||||
|
||||
# Frontend environment
|
||||
cat > frontend/.env.local << EOF
|
||||
NEXT_PUBLIC_API_URL=http://128.140.8.206:3001
|
||||
EOF
|
||||
```
|
||||
|
||||
### Шаг 6: Запуск приложения
|
||||
```bash
|
||||
# Запустить все сервисы
|
||||
docker-compose -f docker-compose.prod.yml up -d
|
||||
|
||||
# Проверить статус
|
||||
docker-compose -f docker-compose.prod.yml ps
|
||||
|
||||
# Посмотреть логи
|
||||
docker-compose -f docker-compose.prod.yml logs -f
|
||||
```
|
||||
|
||||
### Шаг 7: Настройка firewall (опционально)
|
||||
```bash
|
||||
# Открыть нужные порты
|
||||
ufw allow 80
|
||||
ufw allow 3001
|
||||
ufw allow 22
|
||||
ufw --force enable
|
||||
```
|
||||
|
||||
## 🌐 **Доступ к приложению**
|
||||
|
||||
После успешного развертывания приложение будет доступно:
|
||||
|
||||
- **🌐 Главная страница:** http://128.140.8.206
|
||||
- **👨💼 Admin Panel:** http://128.140.8.206/admin
|
||||
- **🛍️ Marketplace:** http://128.140.8.206/marketplace
|
||||
- **🔗 Integrations:** http://128.140.8.206/integrations
|
||||
- **🔧 Backend API:** http://128.140.8.206:3001
|
||||
|
||||
### 🔐 **Тестовые аккаунты**
|
||||
**Admin:**
|
||||
- Email: `info@ai-impress.com`
|
||||
- Password: `admin123`
|
||||
|
||||
## 📊 **Мониторинг и обслуживание**
|
||||
|
||||
### Проверка статуса
|
||||
```bash
|
||||
# Проверить работающие контейнеры
|
||||
docker ps
|
||||
|
||||
# Проверить логи
|
||||
docker-compose -f docker-compose.prod.yml logs frontend
|
||||
docker-compose -f docker-compose.prod.yml logs backend
|
||||
docker-compose -f docker-compose.prod.yml logs postgres
|
||||
```
|
||||
|
||||
### Обновление приложения
|
||||
```bash
|
||||
# Остановить контейнеры
|
||||
docker-compose -f docker-compose.prod.yml down
|
||||
|
||||
# Обновить код
|
||||
git pull origin main
|
||||
|
||||
# Пересобрать и запустить
|
||||
docker-compose -f docker-compose.prod.yml up -d --build
|
||||
```
|
||||
|
||||
### Резервное копирование базы данных
|
||||
```bash
|
||||
# Создать backup
|
||||
docker-compose -f docker-compose.prod.yml exec postgres pg_dump -U postgres saas_automation > backup_$(date +%Y%m%d).sql
|
||||
|
||||
# Восстановить из backup
|
||||
docker-compose -f docker-compose.prod.yml exec -T postgres psql -U postgres saas_automation < backup_20241228.sql
|
||||
```
|
||||
|
||||
## 🔒 **Безопасность для production**
|
||||
|
||||
### SSL сертификат (рекомендуется)
|
||||
```bash
|
||||
# Установить Certbot
|
||||
apt install certbot -y
|
||||
|
||||
# Если у вас есть домен, получить SSL сертификат
|
||||
# certbot --nginx -d yourdomain.com
|
||||
|
||||
# Настроить автообновление
|
||||
crontab -e
|
||||
# Добавить: 0 12 * * * /usr/bin/certbot renew --quiet
|
||||
```
|
||||
|
||||
### Изменить пароли по умолчанию
|
||||
```bash
|
||||
# Изменить пароль базы данных
|
||||
# Обновить docker-compose.prod.yml и backend/.env
|
||||
# Изменить JWT_SECRET на уникальный ключ
|
||||
```
|
||||
|
||||
## 🚨 **Troubleshooting**
|
||||
|
||||
### Проблема: Контейнеры не запускаются
|
||||
```bash
|
||||
# Проверить логи
|
||||
docker-compose -f docker-compose.prod.yml logs
|
||||
|
||||
# Очистить старые образы
|
||||
docker system prune -a
|
||||
|
||||
# Пересобрать
|
||||
docker-compose -f docker-compose.prod.yml up -d --build
|
||||
```
|
||||
|
||||
### Проблема: База данных не подключается
|
||||
```bash
|
||||
# Проверить статус PostgreSQL
|
||||
docker-compose -f docker-compose.prod.yml exec postgres pg_isready
|
||||
|
||||
# Подключиться к базе данных
|
||||
docker-compose -f docker-compose.prod.yml exec postgres psql -U postgres saas_automation
|
||||
```
|
||||
|
||||
### Проблема: Frontend не загружается
|
||||
```bash
|
||||
# Проверить переменные окружения
|
||||
cat frontend/.env.local
|
||||
|
||||
# Убедиться что API_URL указывает на правильный адрес
|
||||
# Должен быть: NEXT_PUBLIC_API_URL=http://128.140.8.206:3001
|
||||
```
|
||||
|
||||
## 📞 **Поддержка**
|
||||
|
||||
При возникновении проблем:
|
||||
1. Проверить логи: `docker-compose logs`
|
||||
2. Проверить статус: `docker-compose ps`
|
||||
3. Перезапустить: `docker-compose restart`
|
||||
4. Связаться с командой: info@ai-impress.com
|
||||
|
||||
---
|
||||
|
||||
## 🎯 **Быстрая команда для полного развертывания**
|
||||
|
||||
```bash
|
||||
# Скопировать и выполнить весь блок
|
||||
ssh root@128.140.8.206 '
|
||||
apt update && apt upgrade -y &&
|
||||
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh &&
|
||||
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose &&
|
||||
chmod +x /usr/local/bin/docker-compose &&
|
||||
apt install git -y &&
|
||||
git clone https://github.com/SamoilenkoVadym/SaaS.git &&
|
||||
cd SaaS &&
|
||||
cp docker-compose.yml docker-compose.prod.yml &&
|
||||
sed -i "s/- \"3000:3000\"/- \"80:3000\"/" docker-compose.prod.yml &&
|
||||
cat > backend/.env << EOF
|
||||
PORT=3001
|
||||
DB_HOST=postgres
|
||||
DB_PORT=5432
|
||||
DB_NAME=saas_automation
|
||||
DB_USER=postgres
|
||||
DB_PASSWORD=secure_production_password_123
|
||||
JWT_SECRET=your_super_secret_jwt_key_production_123
|
||||
NODE_ENV=production
|
||||
EOF
|
||||
cat > frontend/.env.local << EOF
|
||||
NEXT_PUBLIC_API_URL=http://128.140.8.206:3001
|
||||
EOF
|
||||
docker-compose -f docker-compose.prod.yml up -d
|
||||
'
|
||||
```
|
||||
|
||||
После выполнения команды приложение будет доступно по адресу: **http://128.140.8.206**
|
||||
Loading…
Add table
Reference in a new issue