Skip to content
This repository was archived by the owner on Jul 26, 2024. It is now read-only.

System Requirements

Michael Stanclift edited this page Feb 12, 2021 · 22 revisions

The main requirement is Gravity Sync requires at least two separate Pi-hole 5.x instances. These Pi-hole instances should be already be deployed and verified to be functional, prior to the installation of Gravity Sync.

  • Only the Linux distributions that Pi-hole is certified to run on are officially supported. (More Here)
  • You will need a user account with operating system level administrator privileges at each side. This can be a dedicated account with sudo ability, or the system's root account.
  • If you're not using the root account, you can only install Gravity Sync in the user's $HOME directory.
  • If you're not using the root account, make sure that the account is a member of either the sudo or wheel group on both the primary and secondary Pi-hole. Most of the pre-built images available for the Raspberry Pi already have this configured, as does Ubuntu.
  • During installation, if a non-root user will be given passwordless sudo permissions to the system.

Docker Pi-hole

  • As of Gravity Sync 3.1, your Pi-hole installs can be a Docker container deployment.
  • Gravity Sync will run directly on the host OS, and not inside of the container image.
  • Only the official Pi-hole Docker image is supported.

Podman Containers

  • As of Gravity Sync 3.3, beta support for Podman as a container engine has been introduced.
  • The same restrictions as above for Docker, apply to Podman.

Required Components

The installer will perform checks to make sure the required components to use Gravity Sync (such as OpenSSH, etc) are available on both the primary and secondary Pi-hole during installation.

  • OpenSSH
  • Rsync
  • Crontab
  • Git
  • Sudo
  • SQLite3

If any of these components are missing, you will have an opportunity to use the package manager utility that is bundled with your Linux distribution to install them.

Debian Based (Ubuntu, Raspbian)

apt update && apt install sqlite3 sudo git cronie rsync ssh

Redhat Based (CentOS/Fedora)

dnf install sqlite3 sudo git cronie rsync ssh

Pi-hole Architecture

You will need to designate one Pi-Hole as primary and at least one as secondary.

  • The primary Pi-hole is where you'll make most of your configuration changes through the Web UI, doing things such as; manual allow-listing, adding block-lists, device/group management, configuring custom/local network DNS, and changing other list settings.
  • The secondary Pi-hole(s) are where you will install and configure Gravity Sync.

The primary Pi-hole will also be referred to in the interface as remote, while the secondary will be referred to as local. This is done to be as confusing as possible and make sure you read the documentation. (Just kidding) The default operation is to pull data from the primary to the secondary, and to put the operational load of Gravity Sync on what is expected to be a less active Pi-hole device.

See also: Reference Architectures

Clone this wiki locally