docker/README.md

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)