An always-on bot process with no sleeping dyno, no idle timeout and no monthly bill. Built for Ampere A1 (arm64), listens on port 3000, and starts with node index.js.
FROM node:22-alpine
WORKDIR /app
ENV NODE_ENV=production
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
CMD ["node", "index.js"]A discord.js gateway connection uses well under 200 MB of RAM, so a single Always Free ARM instance can host several bots at once.
Cheaploy builds this image on your own Oracle Always Free VM, opens the ports, issues HTTPS and rolls back if health checks fail.