Prerequisites
Before you start, make sure you have the following:- Node.js 24+ — the Dockerfile targets
node:24-alpine - pnpm — the monorepo uses pnpm for package management
- Discord bot token — create a bot at the Discord Developer Portal
- OpenAI API key — required for AI title generation, summarization, and responses
- GitHub token — required for the Issueifier feature
Your Discord bot must be invited to your server with the
bot and applications.commands scopes. Enable the Message Content and Server Members privileged intents in the Developer Portal.Steps
Set up environment variables
Create a See the configuration reference for a full description of every variable.
.env file (or export variables in your shell) with the following:.env
Build the bot
Build the This compiles the TypeScript source and outputs a CommonJS bundle to
discord-bot package:packages/discord-bot/dist/main.cjs.Deploying to Fly.io
The repository includes afly.toml configured for the effectful-discord-bot app on Fly.io. To deploy:
Dockerfile and deploys it to the iad region on a shared-cpu-1x instance with 512 MB of memory. Set your secrets with fly secrets set DISCORD_BOT_TOKEN=... OPENAI_API_KEY=... GITHUB_TOKEN=... before deploying.