Self-hosting
flamel runs as a single Docker container. Your data stays on your machine. Everything below applies to a standard deployment.
Running the container
docker run -d \ --name flamel \ --restart always \ --privileged \ -p 8181:8181 \ -v flamel:/data \ flameldev/flamel:latest
First-start registration
On first start, the server isn't registered with flamel.dev yet. It generates a registration URL and prints it to the logs:
docker logs flamel
flamel server is not registered with flamel.dev. Register at: https://flamel.dev/register-server?nonce=abc123...&callback_url=... Starting server and waiting for registration callback...
Open that URL in your browser. Sign in to flamel.dev and confirm the registration. flamel.dev then redirects your browser back to your server's callback endpoint to complete the handshake and store credentials.
http://1.2.3.4:8181). For local use, http://localhost:8181 is fine.| Flag | Why |
|---|---|
--privileged | Required for bubblewrap (bwrap) — the sandbox that isolates each agent session. Without this, sessions won't start. |
--restart always | Docker brings the container back up after crashes or reboots. |
-v flamel:/data | Persists the SQLite database, session history, and config across container restarts. |
-p 8181:8181 | Exposes the API. Change the host port if 8181 is taken. |
Data
Everything lives in /data inside the container — the SQLite database (flamel.db), session history, Drive files, and config. Back this volume up if you care about your data.
Updating
docker pull flameldev/flamel:latest docker stop flamel && docker rm flamel docker run -d --name flamel --restart always \ --privileged -p 8181:8181 -v flamel:/data \ flameldev/flamel:latest
Your data in the flamel volume is untouched — the new container mounts the same volume.
Reverse proxy (TLS)
flamel listens on plain HTTP. Put nginx or Caddy in front for TLS. Example Caddy config:
flamel.yourdomain.com {
reverse_proxy localhost:8181
}Then add your server to flamel.dev using https://flamel.yourdomain.com.
Native packages
If you prefer running the binary directly, .deb, .rpm, .pkg.tar.zst, and .tar.gz packages ship on every tagged release. Download from the downloads page.
bwrap) to be installed on the host. On Debian/Ubuntu: apt install bubblewrap. On Arch: pacman -S bubblewrap.