- Crear Dockerfile multi-stage (build + production) - Crear docker-compose.yml y docker-compose.prod.yml - Crear .dockerignore para optimizar build - Crear deploy-docker.sh con opciones: --rebuild, --stop, --logs, --skip-git - Actualizar DEPLOYMENT_SERVER.md con sección Docker completa - Actualizar GitHub Actions workflow para detectar y usar Docker automáticamente - Incluir health checks, límites de recursos y logging - Documentar comandos Docker útiles y solución de problemas - Puerto 8607 configurado en Docker
46 lines
994 B
YAML
46 lines
994 B
YAML
version: '3.8'
|
|
|
|
services:
|
|
emerges-tes:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
args:
|
|
- NODE_ENV=production
|
|
container_name: emerges-tes-prod
|
|
ports:
|
|
- "8607:8607"
|
|
environment:
|
|
- NODE_ENV=production
|
|
- PORT=8607
|
|
restart: always
|
|
healthcheck:
|
|
test: ["CMD", "node", "-e", "require('http').get('http://localhost:8607', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 3
|
|
start_period: 5s
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '1.0'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.5'
|
|
memory: 256M
|
|
labels:
|
|
- "com.emerges.app=emerges-tes"
|
|
- "com.emerges.version=1.0"
|
|
- "com.emerges.environment=production"
|
|
networks:
|
|
- emerges-network
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
networks:
|
|
emerges-network:
|
|
driver: bridge
|