
mattwebbio/orbital-syncOrbital Sync 通过内置的 "teleporter" 功能同步多个 Pi-hole 实例以实现高可用性 (HA)。具体而言,它通过主 Pi-hole 实例的管理界面执行 "备份",然后通过从 Pi-hole 的管理界面将该备份 "恢复" 到任意数量的 "从" Pi-hole。因此,它支持 Pi-hole 的 "teleporter" 当前支持的所有同步内容。有关默认配置,请参阅 "配置"。
我喜欢 Gravity Sync 并且使用了很长时间,但个人发现在某些环境(Docker、Unraid、Synology 等)中设置起来比较困难。Orbital Sync 的设计思路是减少对运行 Pi-hole 的服务器的依赖,而是像用户一样通过管理界面进行操作。
您是否遇到过运行 Pi-hole 的服务器宕机的情况?或者需要对该服务器进行维护?这显然会对网络用户造成极大干扰。通过运行多个 Pi-hole 实例(副本)并为网络客户端提供次要/ tertiary 等 DNS 服务器,任何一个 Pi-hole 实例的故障都不会导致整个网络瘫痪。
按照设置主 Pi-hole 的方式设置从 Pi-hole 实例。完成后,选择以下任一方式:
以下是运行此项目的 Docker Compose 示例文件。有关更多环境变量,请参阅 配置 部分。
yamlversion: '3' services: orbital-sync: image: mattwebbio/orbital-sync:1 environment: PRIMARY_HOST_BASE_URL: '[***] PRIMARY_HOST_PASSWORD: 'your_password1' SECONDARY_HOSTS_1_BASE_URL: '[***] SECONDARY_HOSTS_1_PASSWORD: 'your_password2' SECONDARY_HOSTS_2_BASE_URL: '[***] SECONDARY_HOSTS_2_PASSWORD: 'your_password3' SECONDARY_HOSTS_3_BASE_URL: '[***] SECONDARY_HOSTS_3_PASSWORD: 'your_password4' SECONDARY_HOSTS_3_PATH: '/apps/pi-hole' INTERVAL_MINUTES: 60
Orbital Sync Docker 镜像发布在 DockerHub 和 GitHub 包仓库: mattwebbio/orbital-sync ghcr.io/mattwebbio/orbital-sync
Distroless 镜像 也可通过 *-distroless 标签获取;例如,v1 可通过 mattwebbio/orbital-sync:1-distroless 获取。这些镜像稍大,但理论上比默认的基于 Alpine 的镜像更安全,因为它们仅包含 Orbital Sync 代码及其直接依赖项,不包含 shell、包管理器或其他通常在 Linux 发行版中存在的工具。
与 Docker 类似,使用 Node 运行需要在运行 Orbital Sync 之前导出所有必需的环境变量。有关更多信息,请参阅 配置 部分。
shellnpm install -g orbital-sync orbital-sync
所有 Pi-hole 的管理 Web 界面必须可被运行此服务的容器/服务器访问。换句话说,它们必须在同一网络中。
建议使用 Docker 运行此服务。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务