Comparativa

Desplegar un bot en Node.js (grammY, discord.js, Bolt) en producción

Los bots en Node.js se despliegan fácil si el inicio, la configuración y el apagado son explícitos.

Comparativa2 min de lecturaActualizado

Lista

  1. Un script start en package.json y el lockfile en el repo.
  2. Configuración desde process.env; en local usa node --env-file=.env.
  3. Maneja SIGTERM para que los despliegues detengan el bot limpiamente.
  4. Escucha en process.env.PORT en modo webhook.
FROM node:20-slim
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
USER node
CMD ["npm", "start"]

Despliega

Railway: Tutorial: desplegar un bot en Railway · Vultr: Tutorial: bot en un VPS de Vultr con systemd

Plantillas: grammY · discord.js · Slack Bolt · WhatsApp

Guías y herramientas relacionadas

Preguntas frecuentes

¿Qué versión de Node.js?

Nuestras plantillas apuntan a Node.js 20 o más reciente; usa una línea LTS activa.

¿npm ci o npm install?

npm ci en producción: instala exactamente el lockfile.

¿Por qué mi bot responde doble tras desplegar?

La copia vieja y la nueva se solaparon; maneja SIGTERM y evita correr dos réplicas de un bot de polling o gateway.