Skip to content

Getting‐Started

timeout edited this page Jul 7, 2026 · 1 revision

Getting Started

Quickstart

git clone https://github.com/timeout187/botfleet.git
cd botfleet
npm install

cp .env.example .env
# edit .env: DATABASE_URL, BOTFLEET_ENCRYPTION_KEY, AUTH_DISCORD_ID/SECRET,
# AUTH_SECRET, BOTFLEET_ADMIN_DISCORD_IDS

npx prisma migrate deploy
npm run dev

Generate the two required secrets:

openssl rand -base64 32   # BOTFLEET_ENCRYPTION_KEY
openssl rand -base64 32   # AUTH_SECRET

Create a Discord OAuth app at the Discord Developer Portal, add http://localhost:3000/api/auth/callback/discord as a redirect, and put its client ID/secret in .env. Put your own Discord user ID in BOTFLEET_ADMIN_DISCORD_IDS to be promoted to owner on first sign-in.

Visit http://localhost:3000/ - it redirects to /setup until an owner account exists, then to /login, then to /admin once you've signed in.

Mock data

Want something to look around with instead of an empty dashboard?

npx prisma db seed

Creates 3 fake customers, 4 bots (mixed online/failed/offline), 2 workers, shards, and alerts. Entirely synthetic - see prisma/seed.ts.

Docker Compose

cp .env.example .env   # fill in the same values as above
export $(grep -v '^#' .env | xargs)
docker compose up --build -d

Runs the app, Postgres, and Redis (reserved for a future AI worker queue, not wired up yet) in containers; migrations run automatically on start.

Next steps

Clone this wiki locally