Skip to content

Installing

Michael Stanclift edited this page Dec 12, 2022 · 28 revisions

Please make sure you've read over the System Requirements prior to beginning your installation.

Prior to making any major changes to your Pi-hole setup, including an install of Gravity Sync, you should take a backup of your configuration through the Pi-hole Teleport function.

  • In the web interface under Settings > Teleporter > Backup

Installation Script

Open an SSH session to each Pi-hole, and execute the following script.

curl -sSL https://raw.githubusercontent.com/vmstan/gs-install/main/gs-install.sh | bash

The installer will validate that you have all the necessary components to use Gravity Sync, including an active Pi-hole deployment. It will also add a password-less sudo configuration file for the current user, if it is required.

Make sure you have run the installation script on both Pi-hole before starting the configuration.

Configuration

If you do not have an existing configuration file, the installer will prompt to create one. It can also be run later by executing gravity-sync config. Each Gravity Sync install requires it's own unique configuration.

The configuration utility will guide you through the process of:

  • Specifying the IP address of the remote Pi-hole instance.
  • Specifying the SSH username to connect to your remote Pi-hole host.
  • Creating a unique key and pairing it to your remote Pi-hole.
  • Providing details about how each of your two Pi-hole are configured.

The configuration will be saved as gravity-sync.conf in /etc/gravity-sync. If you need to make adjustments to your settings in the future, you can edit this file or run the configuration tool to generate a new one.

After you're pleased with your configuration of both Gravity Sync instances, proceed to the Execution phase.

Custom SSH Ports

Gravity Sync is configured by default to use the standard SSH port (22) but if you need to change this, such as if you're traversing a NAT/firewall for a multi-site deployment, you can use a non-standard port. To do so, simply specify the target SSH port number in the config command.

Example: gravity-sync config 1234 (where 1234 is the remote SSH port)