Orbital Sync
TL;DR - I just setup Orbital Sync on a docker stack to keep my pi-holes in sync.
A post came across my reddit feed that let me know that Gravity Sync has been retired. A replacement that was offered in the comments was Orbital Sync. The installation was straight forward. The difference between Gravity Sync and Orbital Sync is that Orbital Sync can sync from one-to-many pi-hole installations, where as Gravity Sync was a one-to-one sync.
Effective July 26, 2024, this project has been retired. Thank you for your use and enthusiasm for a project that began as a few lines of bash in a Slack channel and evolved into something far more complex, and used by many thousands of Pi-hole enthusiasts over the last four years.
I had Gravity Sync installed directly on the primary pi-hole installation (Proxmox LXC). The installation method I chose for Orbital Sync was to install it on a docker stack on another Proxmox LXC that I was already running.
What does Orbital Sync do?
Orbital Sync synchronizes multiple Pi-hole instances for high availability (HA) using the built-in “teleporter”. In other words, it performs a “backup” in the Pi-hole admin interface of your primary Pi-hole instance, and then “restores” that backup to any number of “secondary” Pi-holes also via their admin interface. As a result, it supports the synchronization of anything currently supported by Pi-hole’s “teleporter”.
docker-compose
version: '3'
services:
orbital-sync:
image: mattwebbio/orbital-sync:1
environment:
PRIMARY_HOST_BASE_URL: 'https://pihole1.example.com'
PRIMARY_HOST_PASSWORD: 'your_password1'
SECONDARY_HOSTS_1_BASE_URL: 'https://pihole2.example.com'
SECONDARY_HOSTS_1_PASSWORD: 'your_password2'
SECONDARY_HOSTS_2_BASE_URL: 'http://192.168.1.3'
SECONDARY_HOSTS_2_PASSWORD: 'your_password3'
SECONDARY_HOSTS_3_BASE_URL: 'http://server:8080'
SECONDARY_HOSTS_3_PASSWORD: 'your_password4'
SECONDARY_HOSTS_3_PATH: '/apps/pi-hole'
INTERVAL_MINUTES: 60
Additional Features
Notifications via SMTP
Environment Variable | Required | Default | Example | Description |
---|---|---|---|---|
NOTIFY_SMTP_ENABLED | No | false | true /false | Send notifications via email. |
NOTIFY_SMTP_FROM | No | N/A | [email protected] | The email address to send notifications from. |
NOTIFY_SMTP_TO | No | N/A | [email protected] | The email address to send notifications to. Can be a comma-separated list. |
NOTIFY_SMTP_HOST | No | N/A | smtp.example.com | The SMTP server host. |
NOTIFY_SMTP_PORT | No | N/A | 25 /587 /465 | The SMTP server port. |
NOTIFY_SMTP_TLS | No | false | true /false | Should usually be set to true if using port 465. Otherwise, leave as is. |
NOTIFY_SMTP_USER | No | N/A | [email protected] | The SMTP account username. |
NOTIFY_SMTP_PASSWORD | No | N/A | yourpasswordhere | The SMTP account password. |