139 lines
3 KiB
Markdown
139 lines
3 KiB
Markdown
# Deploy Manual - Paquetería
|
|
|
|
## Prerrequisitos
|
|
|
|
- Docker y Docker Compose instalados
|
|
- Acceso SSH al servidor
|
|
- Git instalado en el servidor
|
|
|
|
## Estructura en el servidor
|
|
|
|
```
|
|
/home/dillus/
|
|
├── repos/ ← Código fuente (clonado de Forgejo)
|
|
│ ├── app-paqueteria-nest/
|
|
│ │ ├── src/
|
|
│ │ └── Dockerfile
|
|
│ ├── app-paqueteria-worker/
|
|
│ │ ├── src/
|
|
│ │ └── Dockerfile
|
|
│ └── docker/ ← Archivos de deploy
|
|
│ ├── paqueteria-nest/
|
|
│ │ ├── docker-compose.yml
|
|
│ │ └── .env
|
|
│ └── paqueteria-worker/
|
|
│ ├── docker-compose.yml
|
|
│ └── .env
|
|
│
|
|
└── Dockge administra /home/dillus/repos/docker/
|
|
```
|
|
|
|
## Paso 1: Clonar repositorios
|
|
|
|
```bash
|
|
cd /home/dillus/repos
|
|
|
|
# Clonar desde Forgejo
|
|
git clone http://git.alphaxdev.cc/dillus/app-paqueteria-nest.git
|
|
git clone http://git.alphaxdev.cc/dillus/app-paqueteria-worker.git
|
|
git clone http://git.alphaxdev.cc/dillus/docker.git
|
|
```
|
|
|
|
## Paso 2: Configurar variables de entorno
|
|
|
|
```bash
|
|
cd /home/dillus/repos/docker/paqueteria-nest
|
|
cp .env.example .env
|
|
nano .env # Editar con valores reales
|
|
|
|
cd /home/dillus/repos/docker/paqueteria-worker
|
|
cp .env.example .env
|
|
nano .env # Editar con valores reales
|
|
```
|
|
|
|
## Paso 3: Deploy con Dockge
|
|
|
|
1. Abrir Dockge en `http://tu-servidor:5000`
|
|
2. Configurar la ruta de los stacks en Dockge Settings:
|
|
- Path: `/home/dillus/repos/docker`
|
|
3. Los stacks aparecerán automáticamente
|
|
4. Hacer clic en "Pull & Start" en cada stack
|
|
|
|
## Paso 4: Deploy manual (sin Dockge)
|
|
|
|
```bash
|
|
# Backend (incluye PostgreSQL)
|
|
cd /home/dillus/repos/docker/paqueteria-nest
|
|
docker compose up -d --build
|
|
|
|
# Worker
|
|
cd /home/dillus/repos/docker/paqueteria-worker
|
|
docker compose up -d --build
|
|
```
|
|
|
|
## Paso 5: Verificar
|
|
|
|
```bash
|
|
# Ver logs
|
|
docker logs paqueteria-nest -f
|
|
docker logs paqueteria-worker -f
|
|
|
|
# Verificar que corren
|
|
docker ps | grep paqueteria
|
|
```
|
|
|
|
## Paso 6: Configurar Nginx Proxy Manager
|
|
|
|
En la UI de NPM, crear proxy hosts:
|
|
|
|
### Backend API
|
|
- Domain: `api.alphaxdev.cc`
|
|
- Forward to: `paqueteria-nest:3000`
|
|
- WebSocket: Sí
|
|
- SSL: Let's Encrypt
|
|
|
|
### OpenWA (ya configurado)
|
|
- Domain: `whatsapp.alphaxdev.cc`
|
|
- Forward to: `whatsapp-host:2785`
|
|
|
|
## Actualizaciones
|
|
|
|
```bash
|
|
# Pull cambios
|
|
cd /home/dillus/repos/app-paqueteria-nest
|
|
git pull
|
|
|
|
# Rebuild y deploy
|
|
cd /home/dillus/repos/docker/paqueteria-nest
|
|
docker compose up -d --build
|
|
|
|
# Repetir para worker
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
```bash
|
|
# Ver logs de un servicio
|
|
docker logs paqueteria-nest -f --tail 100
|
|
|
|
# Entrar al contenedor
|
|
docker exec -it paqueteria-nest sh
|
|
|
|
# Verificar conexión a DB
|
|
docker exec -it postgres-dev psql -U postgres -d paqueteria
|
|
|
|
# Reiniciar un servicio
|
|
cd /home/dillus/repos/docker/paqueteria-nest
|
|
docker compose restart paqueteria-nest
|
|
```
|
|
|
|
## Archivos en git
|
|
|
|
### Subir a git ✓
|
|
- `Dockerfile` (en cada proyecto)
|
|
- `docker-compose.yml`
|
|
- `.env.example`
|
|
- `README.md`
|
|
|
|
### NO subir a git ✗
|
|
- `.env` (contiene contraseñas)
|