Fauna
Multi-service management platform for Path of Titans game servers — full-stack, self-hosted, live at faunasemireal.com.br.
- Next.js 16
- FastAPI
- discord.js
- LangChain
- PostgreSQL
- Docker
Overview
Fauna is a management platform for Path of Titans game servers, designed around multi-tenant “guild” topology. One install hosts several independent guilds, each with its own server fleet, Discord integration, and admin team — share the platform, not the data.
The platform spans five services that talk over an internal API and a shared PostgreSQL: a FastAPI core, a Discord bot, a Next.js admin panel, a public marketing site, and a LangChain MCP server for AI-assisted moderation.
Architecture
Each service does one thing and exposes a stable contract. The core owns domain state, the Discord bot owns chat events, the panel renders state and mutations on top of the core’s API, and the MCP server exposes a controlled slice of moderation tools to an LLM agent.
Guild multi-tenancy is row-level, not database-level — keeps operations simple and lets cross-guild reporting stay cheap. Authentication is Discord OAuth; Discord is already the source of truth for who’s who in this community.
Technical decisions worth talking about
- Multi-tenant guild model over per-guild instances. Self-hosting one stack per server fleet was the obvious first move; collapsing them into one install with tenant-scoped rows kept the operational cost flat as more guilds joined.
- Discord OAuth as the identity backbone. The audience already lives in Discord. Adding a separate auth layer would have been pure friction.
- LangChain MCP server for moderation, kept narrow. The LLM only sees tools, not raw data. Agent can search recent reports, classify a message, and propose actions — humans confirm. Hard line: nothing the agent does is silent.
- Self-host on a single VPS. Docker Compose, Caddy in front, no Kubernetes. The whole platform fits one host comfortably.
Stack
Next.js 16 (panel + marketing), FastAPI (core API), discord.js (bot), LangChain (MCP), PostgreSQL, Docker Compose, Caddy.
Status
Live, in active use by the player community at faunasemireal.com.br.