Sample deployments
The Confabulous-maintained instances run on two different stacks. Both configurations are public and you can copy from them.
Fly.io — confabulous.dev (managed)
Section titled “Fly.io — confabulous.dev (managed)”The free managed instance at confabulous.dev runs on Fly.io, using:
- App + worker as separate Fly processes from a single image.
- Tigris (Fly Object Storage) for S3-compatible session-blob storage.
- Neon as the managed Postgres provider — connection string passed in as
DATABASE_URL(a Fly secret). - Resend for share-invitation email.
- Honeycomb for OpenTelemetry traces.
- Anthropic for Smart Recaps.
The full configuration lives in the repo at fly.toml, with the deploy script at deploy-to-fly.sh.
Notable choices for a Fly.io deployment:
- Two
[[vm]]blocks — one for theappprocess (auto-stop enabled), one for the always-onworkersingleton. S3_ENDPOINT = "fly.storage.tigris.dev"for Tigris, withS3_USE_SSL = "true".- Secrets (
AWS_*,CSRF_SECRET_KEY,RESEND_API_KEY,ANTHROPIC_API_KEY,OTEL_EXPORTER_OTLP_HEADERS) are set viafly secrets set, not infly.toml. auto_stop_machines = 'stop'plusmin_machines_running = 1keeps response latency low while letting unused machines stop on idle.
Deploying
Section titled “Deploying”# One-time:fly launch # or `fly deploy` if the app already exists
# Run database migrations against the production DB, then deploy:export PRODUCTION_DATABASE_URL='postgresql://user:pass@host/db?sslmode=require'./deploy-to-fly.shLinode — demo.confabulous.dev (demo)
Section titled “Linode — demo.confabulous.dev (demo)”The public demo instance at demo.confabulous.dev runs on a Linode VPS using a Docker Compose stack much like the one in the Deployment walkthrough, with these additions:
- Caddy in front of the
appservice for HTTPS via Let’s Encrypt. - Demo mode enabled via
[email protected]— see Demo mode. - Auth: password auth (
AUTH_PASSWORD_ENABLED=true) — anonymous visitors are auto-impersonated as the read-only demo user, and the operator signs in as a real account with a password. OAuth is intentionally not configured.
Picking a stack
Section titled “Picking a stack”| If you want… | Use |
|---|---|
| Managed PaaS, scale-to-zero, minimal ops | Fly.io (or similar — Railway, Render) |
| Full control of a VM, low monthly cost | Linode VPS (or DigitalOcean, Hetzner) + Docker Compose + Caddy |
| Enterprise infra, OIDC SSO | Bring your own — k8s, ECS, etc. Confabulous is just a single Docker image plus Postgres + S3. |