You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# 1. Hacer cambios al código# 2. Construir y publicar
npm run docker:push
En el servidor:
cd /opt/open-api-facturacion-sri
# Descargar nueva versión
docker compose -f docker-compose.prod.yml pull
# Reiniciar con nueva versión
docker compose -f docker-compose.prod.yml up -d
# Verificar
docker compose -f docker-compose.prod.yml logs -f
Variables de Entorno
Variable
Requerida
Descripción
Ejemplo
NODE_ENV
Sí
Entorno de ejecución
production
PORT
Sí
Puerto interno de la aplicación
3001
PUBLIC_URL
Sí
URL pública para generar links
https://api.dominio.com
CARBONE_API
Sí
URL del servidor Carbone
http://your-carbone-server:3000
TEMPLATES_DIR
Sí
Ruta de templates (en contenedor)
/data/templates
PDFS_DIR
Sí
Ruta de PDFs (en contenedor)
/data/pdfs
CERTS_DIR
Sí
Ruta de certificados (en contenedor)
/data/certs
XMLS_DIR
Sí
Ruta de XMLs SRI (en contenedor)
/data/xmls
SRI_ENVIRONMENT
Sí
Ambiente SRI (development/production)
production
DB_HOST
Sí
Host de PostgreSQL/Supabase
aws.supabase.com
DB_PORT
Sí
Puerto de PostgreSQL
6543
DB_NAME
Sí
Nombre de base de datos
postgres
DB_USER
Sí
Usuario de base de datos
postgres.proyecto
DB_PASSWORD
Sí
Password de base de datos
****
CARBONE_DEBUG
No
Habilitar debug de Carbone
false
CARBONE_CONVERT_TO
No
Formato de salida por defecto
pdf
CARBONE_LANG
No
Idioma para formateo
en-US
Comandos Útiles
Docker Compose
Comando
Descripción
docker compose -f docker-compose.prod.yml up -d
Iniciar en background
docker compose -f docker-compose.prod.yml down
Detener y eliminar
docker compose -f docker-compose.prod.yml restart
Reiniciar
docker compose -f docker-compose.prod.yml logs -f
Ver logs en tiempo real
docker compose -f docker-compose.prod.yml ps
Ver estado
docker compose -f docker-compose.prod.yml pull
Descargar última imagen
Docker
Comando
Descripción
docker exec -it open-api-facturacion-sri sh
Entrar al contenedor
docker stats open-api-facturacion-sri
Ver uso de recursos
docker system prune -a
Limpiar imágenes no usadas
Troubleshooting
Error: Permission denied
# Si hay problemas de permisos en volúmenes
sudo chown -R 1001:1001 templates pdfs certs
# O dar permisos amplios
sudo chmod -R 777 templates pdfs certs
Error: Port already in use
# Ver qué usa el puerto
sudo lsof -i :3001
# Matar proceso si es necesario
sudo kill -9 <PID>
Contenedor se reinicia constantemente
# Ver logs para identificar el error
docker compose -f docker-compose.prod.yml logs --tail=50
Limpiar todo y empezar de nuevo
docker compose -f docker-compose.prod.yml down
docker system prune -a
docker compose -f docker-compose.prod.yml pull
docker compose -f docker-compose.prod.yml up -d
Estructura Final en Servidor
/opt/open-api-facturacion-sri/
├── docker-compose.prod.yml # Configuración de Docker
├── .env.docker # Variables de entorno
├── templates/ # Archivos de plantillas
│ ├── template1.docx
│ └── template2.xlsx
├── pdfs/ # PDFs generados
│ ├── con_firma/ # PDFs firmados
│ ├── others/ # PDFs sin firma
│ ├── documents/ # Otros documentos
│ └── images/ # Imágenes
├── certs/ # Certificados P12
│ └── certificado.p12
└── xmls/ # XMLs de comprobantes SRI
└── 0924383631001/ # Por RUC del emisor
└── 2026/01/ # Por año/mes