Preparar aplicación Node.js para Dokku

Módulo: node

Taller Digital

Ficha del módulo

  • ID: node-preparacion-app
  • Categoría: node

Preparar aplicación Node.js para Dokku

Objetivo: dejar el proyecto listo para desplegar en Dokku sin fallas de runtime.

Estructura mínima requerida

proyecto/
├── Procfile
├── package.json
├── package-lock.json
└── src/

Crear Procfile

Usar un Procfile en la raíz del repositorio (sin extensión).

# app simple
web: node src/index.js

# con build/release
web: npm run start:prod
release: npm run build

Configurar package.json

Definir versión de runtime y scripts de arranque.

{
  "engines": {
    "node": "20.x",
    "npm": "10.x"
  },
  "scripts": {
    "start": "node src/index.js",
    "start:prod": "node dist/index.js",
    "build": "tsc"
  }
}

Usar siempre process.env.PORT

La app debe escuchar el puerto que entrega Dokku.

const PORT = process.env.PORT || 3000;
app.listen(PORT, "0.0.0.0");