Files
notesnook-sync-server_custo…/examples
Ibaraki DoujiandGitHub 3c7327d3c7 docker: fix compose self-hosting and add external Mongo/MinIO/Garage examples (#106)
* docker: update .env and docker-compose.yml for SMTP and new services

* docker: add external MinIO, MongoDB, and GarageHQ examples with setup instructions

* docs: update README with dotenv docker setup instructions and configuration redirect for external services

* docker: update service dependency condition for setup-themes in docker-compose.yml

* chore: update example URLs in .env for public services
2026-07-29 09:07:52 +05:00
..

Docker Compose Examples

Reference deployments that split infrastructure from the Notesnook stack. Each example overrides the root docker-compose.yml instead of duplicating it.

Pattern

Run all commands from the repository root.

Step Compose files Role
1. Infra examples/<example>/infra.compose.yml MongoDB, MinIO, or Garage on notesnook-shared
2. Notesnook docker-compose.yml + examples/<example>/notesnook.override.yml Disables embedded services; patches connection strings
# 1. Merge example vars into root .env (see examples/<example>/.env.example)
# 2. Start infrastructure
docker compose -f examples/<example>/infra.compose.yml up -d

# 3. Start Notesnook (one-time setup for garage — see example README)
docker compose -f docker-compose.yml -f examples/<example>/notesnook.override.yml up -d

# Optional extras
docker compose -f docker-compose.yml -f examples/<example>/notesnook.override.yml --profile extras up -d

# Tear down (reverse order)
docker compose -f docker-compose.yml -f examples/<example>/notesnook.override.yml down
docker compose -f examples/<example>/infra.compose.yml down

Environment

The root .env is loaded automatically when running from the repository root. Each example ships a delta-only .env.example listing only variables that differ — merge those lines into your root .env.

Infra-only variables (e.g. GARAGE_RPC_SECRET) are in infra.env.example where applicable; pass with --env-file or merge into root .env.

Examples

Example External dependency Notes
external-mongodb MongoDB Embedded MinIO stays enabled
external-minio MinIO Embedded MongoDB stays enabled
garage GarageHQ S3 Manual bucket setup via setup-garage.sh

Shared network

Infra compose files create notesnook-shared. Override files attach Notesnook services to it as an external network. Run only one infra example at a time on the same host.

Root compose

The all-in-one stack: docker-compose.yml (no override file).