Running your own Agora gives you full control over which gardens are included, how content is served, and how your instance integrates with social platforms. The Agora is composed of three separate repositories that work together: a configuration root, a read-oriented web server, and a write-oriented bridge that ingests content from external sources.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/flancian/garden/llms.txt
Use this file to discover all available pages before exploring further.
Architecture overview
agora
The Agora root:
gardens.yaml source list, CONTRACT.md, and the tree configuration. Think of it as the fstab of your Agora.agora-server
A Python/Flask web interface that renders the Agora as a distributed knowledge graph. Mostly read-only.
agora-bridge
The write-side component. Pulls content from all configured sources, runs bots, and handles social media integrations.
Prerequisites
- A Unix-like system (Debian GNU/Linux is what
anagora.orgruns) - Python 3,
git,nginx, andcertbotinstalled - A domain name pointed at your server if you want public HTTPS access
Setup
Create a dedicated user
All repositories and services run under a single Unix user. The reference deployment uses
agora:Clone all three repositories
From the You need all three for a fully functioning Agora. Technically you can run only
agora user’s home directory, clone all three repos:agora-server for a read-only, static view, but the setup below covers the full stack.Configure your source list
Open
agora/gardens.yaml (sometimes called sources.yaml) and edit the list of gardens your Agora will include. The repository ships with defaults from the reference Agora at anagora.org.gardens.yaml is the fstab of your Agora — it declares every content source the bridge will pull from and the server will render.Review CONTRACT.md
agora/CONTRACT.md contains the system account’s public commitment to the ecosystem. You can read and keep it as-is. If you modify it, your Agora may become incompatible with the one you forked from — conflict resolution is part of the Agora Protocol but is not yet fully specified.Set up agora-server
agora-server is a Python/Flask application. Create a virtual environment, install dependencies, and run the provided setup script:/home/<user>/<repo>, edit app/config.py to reflect your actual paths.To verify the server works locally:Run agora-server in production with UWSGI and nginx
For public-facing deployments, use Issue a TLS certificate with Certbot:Add the following To keep the server running across reboots, register it as a systemd service using the
run-prod.sh which starts the server over a UWSGI socket:location block to your nginx virtual host to forward traffic to the UWSGI socket:agora-server.service example included in the repository.What’s next
Configure Agora Bridge
Learn how to configure
bridges.yaml, add sources, and set up per-user agora.yaml files.Bots and integrations
Connect your Agora to Mastodon, Twitter, and Matrix using the built-in bots.