-
-
Notifications
You must be signed in to change notification settings - Fork 132
System Requirements
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
sudoability, or the system'srootaccount. - If you're not using the
rootaccount, you can only install Gravity Sync in the user's$HOMEdirectory. - If you're not using the
rootaccount, make sure that the account is a member of either thesudoorwheelgroup 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.
- 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.
- 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.
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.
apt update && apt install sqlite3 sudo git cronie rsync sshdnf install sqlite3 sudo git cronie rsync ssh
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