LobeHub SSOT
This vault is the operational source of truth for LobeHub at lobe.loca.zone. The deployment is a pinned Docker Compose stack rooted at ~/dev/lobe, uses native Authelia OIDC, reaches the existing LiteLLM gateway over an external Docker network, and owns its PostgreSQL and RustFS data.
Current state
- release:
- version:
2.2.15 - image:
lobehub/lobehub:2.2.15@sha256:9186fbb2a1cd593eada518560695e1f14f0fa570ed987ba1bf1b3008456422ca - Compose project:
lobe
- version:
- public surfaces:
- application:
https://lobe.loca.zone - object API:
https://s3.lobe.loca.zone - wiki:
https://wiki.lobe.loca.zone
- application:
- host publishes:
- LobeHub:
127.0.0.1:52100to container port3210 - RustFS S3 API:
127.0.0.1:52101to container port9000 - PostgreSQL, Redis, SearXNG, and the RustFS console have no published socket
- LobeHub:
- identity:
- LobeHub Better Auth delegates OIDC to Authelia with client ID
lobe - email and password login is disabled; there is no local break-glass account
- nginx deliberately has no
auth_requestgate on the application vhost
- LobeHub Better Auth delegates OIDC to Authelia with client ID
- model access:
- route: Lobe container to
lllm-proxy:4000/v1on external networklllm_default - scoped virtual key alias:
lobe - permitted aliases:
fast,oss-120b,free
- route: Lobe container to
- data authority:
- authoritative: PostgreSQL volume
lobe_postgres_dataand RustFS volumelobe_rustfs_data - reconstructible cache: Redis volume
lobe_redis_data - object consequence: anonymous
s3:GetObjectis enabled for bucketlobe; uploaded object URLs are publicly readable, while writes remain signed
- authoritative: PostgreSQL volume
Operating invariants
- Validate with
sudo -n docker compose config --quiet; never run the rendering form because it interpolates secrets. - Pin every container image by digest. A mutable tag without
@sha256:is not an accepted deployment state. - Take both the PostgreSQL custom-format dump and the RustFS mirror before an upgrade.
- Do not treat a Docker volume as a backup.
- Keep native OIDC at the application layer. An nginx forward-auth redirect would break desktop, API, and agent traffic.
- Keep the LiteLLM virtual key scoped to exactly the three approved aliases; never substitute the LiteLLM master key.
- Treat every uploaded object URL as public information unless the bucket policy is deliberately redesigned.
Start here
- architecture:
- operations:
- reference: