Tutorial técnico

ERPNext Docker self-hosted: tu ERP en tu servidor

Guía técnica de 8 pasos para desplegar ERPNext v16 con Docker en producción en tu propio cloud (Hetzner, AWS, OVH, DigitalOcean). Usando frappe-docker oficial, NGINX con SSL Let's Encrypt, backups automáticos y monitoring básico.

¿Por qué self-hosted en lugar de SaaS?

Self-hosted significa que tu ERPNext corre en una infraestructura que tú controlas (un VPS en Hetzner, una EC2 en AWS, un servidor on-premise en tu oficina). El software es el mismo que usaría una versión SaaS, pero los datos, los backups y la operativa están en tu mano.

Ventajas claras: 1) coste mucho menor a partir de 15+ usuarios (un VPS Hetzner cuesta 6-25 €/mes vs 60-130 €/usuario/mes de SaaS enterprise); 2) propiedad total del dato (nadie más accede a tu información); 3) personalización ilimitada (tu servidor, tu kernel, tu config); 4) cumplimiento RGPD claro (eliges UE como datacenter); 5) sin lock-in (si cambias de proveedor cloud, mueves tus contenedores Docker en horas).

Trade-offs: 1) requieres conocimiento técnico (Docker, NGINX, certificados, backups) o un partner que lo gestione; 2) actualizaciones, parches de seguridad y migraciones son tu responsabilidad; 3) si tu servidor cae a las 3 AM, alguien tiene que levantarlo. Para pymes sin equipo IT, contratar un partner gestionado (CodigoNext incluido) suele compensar el ahorro de SaaS por simplicidad operativa.

8 pasos

Despliegue ERPNext con Docker paso a paso

De provisionar el VPS a tener ERPNext en producción con SSL y backups.

1

Provisiona el VPS

Mínimo recomendable: 4 GB RAM, 2 vCPU, 40 GB SSD para arranque (1-20 usuarios). Para 50+ usuarios: 8 GB RAM, 4 vCPU. Hetzner CX22 / AWS t3.medium / DigitalOcean Basic / OVH VPS Comfort 2 cumplen. Sistema operativo: Ubuntu 22.04 LTS recomendado.

2

Instala Docker y Docker Compose

Docker Engine 24+ y Docker Compose v2. Sigue la guía oficial de Docker para Ubuntu (`curl -fsSL https://get.docker.com | sh` y verifica con `docker --version`). Añade tu usuario al grupo docker para no usar sudo en cada comando.

3

Clona frappe-docker oficial

Repositorio oficial: github.com/frappe/frappe_docker. Es el método recomendado por el equipo de Frappe. Contiene los Compose files para distintos escenarios (production, easy install, custom apps). Para una pyme, usa pwd.yml o easy-install.py según preferencia.

4

Configura variables y secretos

Edita .env con: nombre del sitio (mi-empresa.com), versión ERPNext (v16), nombre de la base de datos, contraseñas (DB root, admin del sitio, redis), dominio y email para Let's Encrypt. Para producción, generar passwords aleatorios fuertes (`openssl rand -base64 32`).

5

Levanta los contenedores

`docker compose up -d` con el archivo de producción. Tendrás contenedores: frappe-bench, mariadb (o postgres), redis-cache, redis-queue, redis-socketio, scheduler, queue-default, queue-long, queue-short, websocket, configurator y nginx. Verifica con `docker compose ps` que todos están healthy.

6

Crea el sitio inicial

`docker compose exec backend bench new-site mi-empresa.com --admin-password X --db-root-password Y --install-app erpnext`. Esto crea la base de datos, instala ERPNext y configura el sitio. La instalación tarda 2-5 minutos.

7

Configura SSL con Let's Encrypt

El stack frappe-docker incluye traefik o nginx-proxy con cert-bot integrado. Configura LETSENCRYPT_EMAIL=admin@mi-empresa.com y VIRTUAL_HOST=mi-empresa.com en el .env. SSL se renueva automáticamente cada 60 días.

8

Configura backups y monitoring

Backup automático: `bench backup --with-files` programado en cron diario. Restauración probada periódicamente. Monitoring: log de errores en /home/frappe/frappe-bench/logs, métricas con Prometheus + Grafana opcional. Alerta por email cuando un contenedor muera o el disco supere el 80 %.

Tres alternativas a frappe-docker manual

1. Frappe Cloud (SaaS oficial): gestionado por Frappe Technologies, tu instancia ERPNext sin tocar Docker. 10-100 €/mes según plan. Recomendado para arranques rápidos y empresas que no quieren gestionar infraestructura. Datacenter Hetzner, AWS y otros disponibles.

2. Dokploy (open source): herramienta moderna que da UI a Docker Compose en tu propio servidor. Despliegue de aplicaciones containerizadas con flujo Heroku-like, monitoring incluido y deploys con git push. Alternativa a Coolify. Excelente para pymes con un sysadmin que quiere control sin complejidad.

3. Servicios managed (Elestio, Elest.io): despliegan ERPNext en tu cloud (AWS, DigitalOcean, Hetzner, etc.) y se encargan de actualizaciones, monitoring y backups. Pagas un fee mensual encima del coste del cloud. Alternativa intermedia entre SaaS puro y self-hosted manual.

— FAQ

Preguntas frecuentes sobre ERPNext Docker self-hosted

Las dudas reales del CTO o sysadmin que va a desplegar ERPNext.

Ver todas las preguntas
¿Puedo desplegar ERPNext yo mismo con Docker o necesito partner?+
Técnicamente puedes hacerlo solo si tienes experiencia DevOps razonable (Linux, Docker, NGINX, certificados, backups). Para una empresa con equipo técnico interno, frappe-docker oficial es el camino. Para una pyme sin equipo IT (o con equipo IT generalista), el coste/beneficio de hacerlo tú vs contratar un partner suele inclinarse hacia partner: gestión de actualizaciones, backups, parches de seguridad, monitorización 24/7 y resolución de incidencias requieren tiempo y experiencia ERPNext específica que no se aprende en una semana.
¿Qué proveedor cloud recomiendas para hostear ERPNext?+
Para España y Europa, Hetzner Cloud es la opción con mejor precio/prestaciones (Falkenstein DE o Helsinki FI, datacenter europeo, GDPR-compliant, ~5-30 €/mes para pyme). Alternativas: AWS Lightsail / EC2 (más caro pero más servicios alrededor), DigitalOcean (UX más simple, datacenter europeo Frankfurt o Amsterdam), OVH Cloud (français, datacenter Strasbourg). Para empresas grandes con requisitos enterprise: AWS, Azure o GCP. Lo importante: datacenter en UE para cumplimiento RGPD.
¿Cuánto cuesta hostear ERPNext en mi propio servidor?+
Para una pyme de 5-20 usuarios: VPS Hetzner CX22 (4 GB RAM, 2 vCPU) por 6 €/mes, o CX32 (8 GB RAM, 4 vCPU) por 12 €/mes. Backup snapshot diario incluido por 1-2 €/mes adicional. Total ≈ 10-15 €/mes, 120-180 €/año. Para una empresa de 50+ usuarios: CX42 o CX52 por 25-50 €/mes, ≈ 300-600 €/año. Si lo gestiona un partner profesional: añadir 100-300 €/mes de mantenimiento gestionado. Compara con SaaS ERP cerrado a 20-100 €/usuario/mes — para 20 usuarios el cloud privado siempre sale más barato.
¿Y si quiero algo más simple que Docker manual?+
Hay tres opciones más simples: 1) Frappe Cloud — el SaaS oficial de Frappe Technologies, gestiona todo por 10-100 €/mes según plan, sin tocar Docker; 2) Dokploy — herramienta open source moderna que da UI a Docker Compose en tu servidor (alternativa a Coolify); 3) Elestio, Elest.io o Hetzner Apps — servicios gestionados que despliegan ERPNext en tu cloud por una tarifa. Para pymes sin DevOps interno y que quieren control sin complejidad, Frappe Cloud es probablemente la mejor opción si los planes encajan con tu uso.
¿Cómo se actualiza ERPNext en producción con Docker?+
Con frappe-docker la actualización es: 1) Hacer backup completo (DB + files) `bench backup --with-files`; 2) Cambiar la versión en .env (de v15 a v16, por ejemplo); 3) `docker compose pull` para descargar las nuevas imágenes; 4) `docker compose up -d --force-recreate` para reiniciar con las nuevas; 5) Ejecutar `docker compose exec backend bench --site mi-empresa.com migrate` para actualizar la base de datos. Tiempo total: 15-30 minutos para versiones menores, 1-2 horas para mayor (v15 → v16) con tests previos en entorno staging.
¿Qué pasa si mi servidor cae? ¿Cómo restauro ERPNext?+
Con backups bien configurados, restaurar es directo: provisiona un servidor nuevo (Ubuntu 22.04, Docker), clona frappe-docker con la misma versión que tenías, copia el último backup .sql.gz y .tar (DB + files) al servidor nuevo, ejecuta `bench --site mi-empresa.com restore /path/to/backup.sql.gz --with-public-files X --with-private-files Y`. Tiempo de recuperación típico (RTO): 30-60 minutos si tienes backups recientes accesibles. Para empresas críticas, replicación master-slave de la base de datos baja el RTO a minutos.
¿Cumple ERPNext self-hosted con RGPD y GDPR?+
El producto en sí (ERPNext + Frappe) permite cumplir RGPD: control de acceso por rol, logs de auditoría, derechos de acceso/rectificación/supresión, consentimientos, encriptación en tránsito (HTTPS) y en reposo (configurable a nivel de disco o BD). Lo que tienes que hacer tú: 1) elegir datacenter UE (Hetzner DE, AWS Frankfurt, OVH Strasbourg); 2) configurar TLS obligatorio; 3) implementar política de retención de logs; 4) tener firmado DPA con el proveedor cloud. Mucho más control que un SaaS cerrado donde dependes del DPA del proveedor.
¿Docker, Dokploy, Frappe Cloud o Kubernetes? ¿Cuál elijo?+
Depende de tu escala y equipo. 1) Frappe Cloud: SaaS oficial, mejor para arranques rápidos y empresas que no quieren gestionar infraestructura; 2) Dokploy + Docker en VPS propio: mejor para pymes con un sysadmin que quiere control sin complejidad; 3) frappe-docker manual con Docker Compose: mejor para empresas con equipo técnico que prefiere control total; 4) Kubernetes (Helm chart oficial de Frappe): solo justifica para empresas grandes con varias instancias de ERPNext o requisitos enterprise (alta disponibilidad multi-zona, escalado horizontal, rolling deploys). Para 95 % de las pymes españolas, opciones 1 o 2 son las más prácticas.
Empezar · Respuesta en 24h

¿Te lo dejamos funcionando?

Si el self-hosted te suena bien pero no tienes equipo IT para mantenerlo, hosteamos ERPNext en infraestructura europea con backups, parches, monitoring y soporte. Coste estable y previsible.

Demo personalizada
Sin compromiso
Equipo en España