# 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)