Nebula overlay network compose example.
Educational example only. Review every volume path, port, and credential before you run this. Do not copy production secrets into your wiki or git repo.
_shared/.env for non-secrets, _shared/.secret for credentialsmkdir -p /path/to/docker/stacks/nebula
cd /path/to/docker/stacks/nebula
# paste compose.yaml below, then:
docker compose pull
docker compose up -d
---
services:
nebula-sync:
image: ghcr.io/lovelaze/nebula-sync:latest
container_name: nebula
hostname: nebula
env_file:
- /path/to/docker/stacks/_shared/.env
- /path/to/docker/stacks/_shared/.secret
environment:
# PRIMARY and REPLICAS come from _shared/.secret via env_file
- FULL_SYNC=true
- RUN_GRAVITY=true
- SYNC_GRAVITY_DOMAIN_LIST=true
- CRON=0 * * * *
logging:
driver: json-file
options:
max-file: ${DOCKERLOGGING_MAXFILE:-10} # Max number of log files
max-size: ${DOCKERLOGGING_MAXSIZE:-200k} # Max file size
volumes:
- /path/to/docker/data/nebula/data:/app/data # Example: mapping a local directory to a container path
restart: unless-stopped
_shared/.secret.