Bebe MomentBebe Moment

Self-hosting Bebe Moment

Bebe Moment is a self-hosted family baby photo journal. Instead of trusting a cloud with your child's photos, videos, and milestones, you run it on your own server (a Synology NAS, a home Linux box, a VPS) and keep everything within the family — no ads, no tracking, no subscription.

One instance = one family. The first user (the admin) sets up the family, and everyone after that joins by invite link only.

Deployment topology

A deployment is just three containers.

  • app — runs web, media, and the notifications worker as three processes in a single image. Exposes only port 3000.
  • postgres — the metadata DB (pgvector/pgvector:pg17, includes vector search for face embeddings).
  • redis — the processing queue (valkey/valkey:9-alpine, the service name stays redis).

No separate reverse-proxy container (Caddy, etc.) is needed. The browser reaches media via PUBLIC_URL/media/*, and inside the container Next proxies that to localhost:3001.

Image

A single image, pulled from GHCR.

ghcr.io/svrforum/bebe-moment/app:latest

The image is currently linux/amd64 only. ARM Synology models are unsupported until an arm64 image is added (x86 Synology and plain amd64 Linux only).

Where to start