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");