Nebula-Sync
Nebula-Sync
Create a new directory for Nebula Sync and navigate into it.
mkdir -p /opt/stacks/nebula-sync
cd /opt/stacks/nebula-sync
Create our compose file.
docker pull ghcr.io/lovelaze/nebula-sync:v0.10.0 # pre-load the container
nano compose.yml
Inside of our compose.yml
paste:
---
name: nebula-sync
services:
nebula-sync:
container_name: nebula-sync
image: ghcr.io/lovelaze/nebula-sync:v0.10.0
restart: unless-stopped
env_file: .env
Create our .env
with our variables.
Replace with your server IPs, passwords, timezone, and how frequently you want so run this sync job.
# This file is used to set environment variables for the Nebula-Sync Docker container.
PRIMARY="http://192.168.1.5|abc123"
REPLICAS="http://192.168.1.6|abc123,http://192.168.1.7|abc123"
FULL_SYNC=false
RUN_GRAVITY=true
CRON=*/15 * * * * # every 15min
CLIENT_SKIP_TLS_VERIFICATION=true
CLIENT_RETRY_DELAY_SECONDS=5
CLIENT_TIMEOUT_SECONDS=60
TZ="America/Toronto"
SYNC_CONFIG_DATABASE=false
SYNC_CONFIG_DEBUG=false
SYNC_CONFIG_DHCP=false
SYNC_CONFIG_DNS=true
SYNC_CONFIG_MISC=false
SYNC_CONFIG_NTP=false
SYNC_CONFIG_RESOLVER=false
SYNC_GRAVITY_AD_LIST_BY_GROUP=true
SYNC_GRAVITY_AD_LIST=true
SYNC_GRAVITY_CLIENT_BY_GROUP=false
SYNC_GRAVITY_CLIENT=false
SYNC_GRAVITY_DHCP_LEASES=false
SYNC_GRAVITY_DOMAIN_LIST_BY_GROUP=true
SYNC_GRAVITY_DOMAIN_LIST=true
SYNC_GRAVITY_GROUP=true
Start our compose stack as a daemon. Optionnaly, we can look at the logs and others related informations.
docker compose up -d
docker ps | grep nebula
docker logs nebula-sync