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
32%
298M
2 / 2 api.leadpilot.io hace 2h · OK
⚛️
leadpilot-dashboard
Running
8%
82M
1 / 1 app.leadpilot.io hace 2h · OK
🐍
leadpilot-worker
Building
71%
180M
1 / 1 — (internal) ahora · building
🐘
leadpilot-db
Running
15%
512M
1 / 1 :5432 (private)
🔴
leadpilot-cache
Running
4%
48M
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
→ leadpilot-api · puerto 3000 · Traefik
SSL ✓ Let's Encrypt
🌐
app.leadpilot.io
→ leadpilot-dashboard · puerto 80 · Traefik
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
hace 2h · Carlos M. · leadpilot-api · 76s
e8b1d40 feat: exportar leads a CSV desde dashboard
ayer 18:22 · Sara V. · leadpilot-dashboard · 43s
a7c3f99 chore: actualizar dependencias npm
ayer 11:05 · Carlos M. · leadpilot-api · 88s
d2e4b11 feat: worker de scraping v2 con Playwright
hace 3 días · Sara V. · leadpilot-worker · 4m12s ⚠ lento
c9f0a22 Migración inicial desde Heroku → Dokploy
hace 7 días · Carlos M. · todos · setup inicial
Bases de datos y backups
🐘 leadpilot-db (PostgreSQL 16) Running
Storage: 3,4 GB / 10 GB
Conexiones: 14 / 100
Tablas: 28
Query p95: 18 ms
Backups automáticos (cron 02:00)
leadpilot-db_2026-06-18.dump✓ 312 MB
leadpilot-db_2026-06-17.dump✓ 308 MB
leadpilot-db_2026-06-16.dump✓ 301 MB
... (retención 7 días)
🔴 leadpilot-cache (Redis 7) Running
Keys: 24,891
Hit ratio: 94.2%
Memoria: 48 MB / 1 GB
Latencia: <1 ms
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