Skip to main content

Self-Hosting Guide

Bellamy Book is a self-hosted social network.
One server / one Docker stack = your community (Frontend + Admin + API + workers + data). You own the data and the domain.

Canonical install uses the self-host kit (dockerPublish): Docker Compose, pre-built images, one .env. No application source build required.

Evaluating the product? See the self-hosted social network landing, then return here for deploy steps.
Architecture of what runs: Deployment architecture.

Can I self-host from this kit alone?​

Yes. Use the dockerPublish folder (or a release package that includes it: docker-compose.yml, .env.example, config dirs):

  1. Copy .env.example → .env (domain, secrets, passwords, MinIO, JWT).
  2. Create the MongoDB keyfile (one command).
  3. Run docker compose pull && docker compose up -d.

Optional: SMTP, Turnstile, Google Login, LiveKit, R2 — see Configuration in the sidebar.

Which folder is which?​

Folder / pathAudiencePurposeRoot / (guests)
dockerPublishOperatorsSelf-host kit — start hereSign-in (VITE_SHOW_MARKETING_LANDING=false) — community app
dockerProdMaintainers with full repoOfficial bellamybook.com / full monorepo prodMarketing landing (VITE_SHOW_MARKETING_LANDING=true) — SEO product site
dockerLocalENVDevelopersInfra only for local codingN/A (apps run from source)
Homepage: self-host vs official site

Self-host (dockerPublish) is a community social network: guests hitting / go to login, not the Bellamy Book product landing.
Official site (dockerProd / bellamybook.com) keeps / as the marketing landing for SEO.
Same frontend image; toggle with runtime VITE_SHOW_MARKETING_LANDING in .env (see Environment). Set true on self-host only if you deliberately want the product landing as your homepage.

Official repository​

BellamyBook on GitHub

What you get​

  • Full control over data and branding
  • Social app + Admin panel + Docs
  • Storage (required): MinIO by default (MINIO_*, Minio__PublicUrl) or R2
  • Optional: SMTP, Turnstile, Google OAuth, LiveKit, content moderation

Installation​

GuideWhen to use it
Self-Host with Pre-Built ImagesSelf-host kit — recommended
Test the stack locallyTry before DNS / server
Traefik when you deployProduction hostnames + HTTPS
Docker Compose (full project)Full source / dockerProd-style stack
Manual install

A non-Docker “manual” install is not a supported first-class path. Prefer Docker Compose. If you must run services bare-metal, use Backend + Deployment as a map and run each dependency yourself.

Requirements​

For the full stack (API, frontend, admin, workers, databases):

  • CPU: 8+ cores
  • RAM: 16GB+
  • Storage: 200GB+ SSD
  • Software: Docker and Docker Compose

Local testing can use fewer resources (see local-testing guide).

Quick start (self-host kit)​

  1. Env: Copy .env.example → .env. Set registry/tag, domain URLs, passwords. See Environment.
  2. Mongo keyfile: openssl rand -base64 756 > mongo-keyfile && chmod 600 mongo-keyfile
  3. Run: docker compose pull && docker compose up -d
  4. Access: Configured Traefik URLs, or without Traefik: Frontend :8081, Admin :8084, API :5000
  5. Admin: Activate license, set registration/settings, verify media upload

Full steps: docker-publish install.

Configuration & maintenance​

Use the sidebar: Environment, JWT, Database, Storage, SMTP, Turnstile, Google OAuth, LiveKit, Live chat, Content moderation, Backups, Updates, Monitoring.