# nebula-sync: Effortlessly Synchronize Your Pi-hole Configurations

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Source: osrepos.com
Repository profile: https://osrepos.com/repo/lovelaze-nebula-sync
Generated for open source discovery and AI-assisted research.

nebula-sync is a powerful tool designed to synchronize configurations across multiple Pi-hole v6.x instances. Developed in Go, it offers both full and selective synchronization options, ensuring your ad-blocking setup remains consistent and up-to-date across your network. This project simplifies the management of distributed Pi-hole deployments.

GitHub: https://github.com/lovelaze/nebula-sync
OSRepos URL: https://osrepos.com/repo/lovelaze-nebula-sync

## Summary

nebula-sync is a powerful tool designed to synchronize configurations across multiple Pi-hole v6.x instances. Developed in Go, it offers both full and selective synchronization options, ensuring your ad-blocking setup remains consistent and up-to-date across your network. This project simplifies the management of distributed Pi-hole deployments.

## Topics

- dns
- docker
- golang
- pi-hole
- replication
- sync
- network-management
- system-administration

## Repository Information

Last analyzed by OSRepos: Sat May 02 2026 12:06:11 GMT+0100 (Western European Summer Time)
Detail views: 4
GitHub clicks: 5

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## Introduction

Managing multiple Pi-hole instances can be a challenge, especially when striving for consistent configurations across all your devices. `nebula-sync` addresses this by providing a robust solution to synchronize settings between your primary Pi-hole v6.x instance and its replicas. Built in Go, this community-maintained project offers flexible synchronization options, from full Teleporter imports to granular control over specific settings, making multi-Pi-hole management significantly easier.

## Installation

`nebula-sync` offers several convenient installation methods to get you started:

### Linux/OSX binary

Download the binary from the [latest release](https://github.com/lovelaze/nebula-sync/releases/latest) or build from source:

bash
go install github.com/lovelaze/nebula-sync@latest


Run the binary:

bash
# run
nebula-sync run

# read envs from file
nebula-sync run --env-file .env


### Docker Compose (recommended)

yaml
---
services:
  nebula-sync:
    image: ghcr.io/lovelaze/nebula-sync:latest
    container_name: nebula-sync
    environment:
    - PRIMARY=http://ph1.example.com|password
    - REPLICAS=http://ph2.example.com|password,http://ph3.example.com|password
    - FULL_SYNC=true
    - RUN_GRAVITY=true
    - CRON=0 * * * *


### Docker CLI

bash
docker run --rm \
  --name nebula-sync \
  -e PRIMARY="http://ph1.example.com|password" \
  -e REPLICAS="http://ph2.example.com|password" \
  -e FULL_SYNC=true \
  -e RUN_GRAVITY=true \
  ghcr.io/lovelaze/nebula-sync:latest


## Examples

For practical configuration examples, including environment variables and Docker Compose setups, refer to the `examples` directory within the repository. Additionally, `nebula-sync` supports webhooks, allowing you to integrate with services like healthcheck.io or Apprise for notifications on sync success or failure. Detailed webhook configuration examples are available in the project's README.

## Why Use nebula-sync?

`nebula-sync` is an invaluable tool for anyone running multiple Pi-hole instances. It eliminates the tedious manual process of updating each Pi-hole individually, ensuring all your ad-blocking and DNS configurations are identical across your network. Key features include:

*   **Full Sync**: Utilize Pi-hole's Teleporter for comprehensive synchronization of all settings.
*   **Selective Sync**: Gain granular control by synchronizing only specific features, such as DNS settings, ad lists, or client configurations.
*   **Cron Schedule**: Automate your synchronization tasks by setting up a cron schedule, ensuring your Pi-hole replicas are always up-to-date without manual intervention.

## Links

*   **GitHub Repository**: [https://github.com/lovelaze/nebula-sync](https://github.com/lovelaze/nebula-sync)