LeadPilot — Infraestructura PaaS
Hetzner CX21 · Ubuntu 22.04 · Dokploy v0.16.2 · Migración desde Heroku completada
Migración completa. Todos los servicios están operativos en tu VPS propio. Ahorro estimado: 45,10€/mes (90% menos que Heroku Eco).
Servicios activos
5 / 5
↑ todos online
Coste mensual
4,90€
↓ antes 50€ en Heroku
Uptime (30d)
99.94%
0 cold starts
Último deploy
hace 2h
✓ exitoso
Servicios desplegados
| Servicio | Estado | CPU | Memoria | Réplicas | Dominio | Último deploy |
|---|---|---|---|---|---|---|
|
leadpilot-api
|
Running | 2 / 2 | api.leadpilot.io | hace 2h · OK | ||
|
leadpilot-dashboard
|
Running | 1 / 1 | app.leadpilot.io | hace 2h · OK | ||
|
leadpilot-worker
|
Building | 1 / 1 | — (internal) | ahora · building | ||
|
leadpilot-db
|
Running | 1 / 1 | :5432 (private) | — | ||
|
leadpilot-cache
|
Running | 1 / 1 | :6379 (private) | — |
Configuración — leadpilot-api
dokploy.yml
YAML
name: leadpilot-api type: application source: type: github repository: leadpilot/api branch: main autoDeploy: true build: type: dockerfile dockerfilePath: ./Dockerfile runtime: port: 3000 replicas: 2 resources: memory: 512M cpu: 0.5 healthCheck: path: /health interval: 30s timeout: 10s domains: - host: api.leadpilot.io https: true forceHttps: true notifications: - type: webhook url: https://hooks.slack.com/... events: [deploy_failure]
Deploy log — último despliegue
14:32:01[INFO]Push detectado en main · commit 3f9a2c1
14:32:03[INFO]Clonando repositorio leadpilot/api@main...
14:32:08[INFO]Building Docker image con Dockerfile...
14:32:09[INFO]Step 1/8: FROM node:20-alpine
14:32:12[INFO]Step 3/8: COPY package*.json ./
14:32:14[INFO]Step 4/8: RUN npm ci --only=production
14:33:02[INFO]Step 8/8: CMD ["node","src/index.js"]
14:33:05[OK]Imagen construida: sha256:a3f9...c12e
14:33:06[INFO]Rolling update — réplica 1/2...
14:33:10[INFO]Health check /health → 200 OK (réplica 1)
14:33:11[INFO]Rolling update — réplica 2/2...
14:33:16[INFO]Health check /health → 200 OK (réplica 2)
14:33:17[OK]Deploy completado — 0 downtime · duración: 76s
14:33:18[OK]Traefik routing actualizado → api.leadpilot.io
14:33:19[OK]Notificación Slack enviada ✓
Dominios y SSL
api.leadpilot.io
SSL ✓ Let's Encrypt
app.leadpilot.io
SSL ✓ Let's Encrypt
Certificados SSL
Emitidos por Let's Encrypt via Traefik ACME
Renovación automática 30 días antes de expiración
Expira: 2026-09-16 (89 días)
Variables de entorno — leadpilot-api
NODE_ENV
production
PORT
3000
DATABASE_URL
postgresql://leadpilot:•••@db:5432/leadpilot
REDIS_URL
redis://redis:6379
JWT_SECRET
sk-jwt-••••••••••••••••••
SMTP_HOST
smtp.resend.com
STRIPE_SECRET_KEY
sk_live_••••••••••••••
LOG_LEVEL
info
Los valores sombreados se desvelan al pasar el cursor. Gestionados con Dokploy Secrets.
Historial de deploys
3f9a2c1
fix: timeout en scraper de LinkedIn
e8b1d40
feat: exportar leads a CSV desde dashboard
a7c3f99
chore: actualizar dependencias npm
d2e4b11
feat: worker de scraping v2 con Playwright
c9f0a22
Migración inicial desde Heroku → Dokploy
Bases de datos y backups
Comparativa de costes: Heroku Eco vs Dokploy Self-Hosted
Heroku Eco — Antes
API (Eco dyno x2)20,00€
Dashboard (Eco dyno)10,00€
Worker (Eco dyno)10,00€
PostgreSQL Heroku Basic7,00€
Redis To Go Mini3,00€
TOTAL50,00€ / mes
Dokploy + Hetzner CX21 — Ahora
VPS Hetzner CX21 (2vCPU/4GB)4,90€
Dokploy (open-source)0,00€
SSL Let's Encrypt0,00€
Backups (incluidos en VPS)0,00€
Dominio (ya poseído)0,00€
TOTAL
50€4,90€ / mes
Ahorro acumulado anual: 541,20€ · Cold starts eliminados · Control total de datos · Sin límite de horas de dyno.
Recursos del servidor — Hetzner CX21
CPU Total
44% (2 vCPU)
Memoria RAM
2,6 GB / 4 GB
Disco SSD
8,8 GB / 40 GB
Red (entrada)
1,2 GB / mes