Documentation
Local development
Develop from a git checkout. Docker Desktop must be running for Compose and for local game containers.
Run the panel
bash
docker compose up -d # Mongo replica set + Redis
npm install
npm run setup # writes .env secrets
npm run db:push # Prisma schema → Mongo
npm run dev # API :4000 and panel :3010Open http://localhost:3010. The first account is the admin. Node 22+ is required.
Attach a local daemon
- 1
Admin → Locations → create a location
- 2
Admin → Nodes → create a node
Copy theflt_token (shown once). - 3
Add allocations
0.0.0.0+25565is fine for local testing. - 4
Configure and start
bashnpm run daemon:configure -- --panel-url http://127.0.0.1:4000 --token <flt_token> --node <nodeId> npm run dev:daemon
The node turns Online after a heartbeat. Admin → Servers can then create a server. The seeded Generic / Sleep egg uses busybox:1.36.
Useful routes
| Route | What |
|---|---|
| /login | Sign in / first-admin setup |
| / | Client dashboard (live servers) |
| /admin | Locations, nodes, allocations, nests, eggs, servers, users |
| /api/v1/health | API health (Mongo + Prisma required; Redis reported) |
Stack notes
- Mongoose is the runtime ODM. Prisma owns
apps/api/prisma/schema.prisma(types, db push, Studio). Both talk to the same MongoDB. - The daemon uses dockerode (Docker Engine API), not the Docker CLI. On Linux, mount
/var/run/docker.sockinto the daemon image (apps/daemon/Dockerfile). - Passwords need at least 10 characters. Sessions last 14 days.