In an active/passive configuration, the replica appliance is a redundant copy of the primary appliance. If the primary appliance fails, high availability mode allows the replica to act as the primary appliance, allowing minimal service disruption.

  1. Set up a new GitHub Enterprise appliance on your desired platform. The replica appliance should mirror the primary appliance's CPU, RAM, and storage settings. We recommend that you install the replica appliance in an independent environment. The underlying hardware, software, and network components should be isolated from those of the primary appliance. If you are a using a cloud provider, use a separate region or zone. For more information, see "Provisioning and installation".
  2. In a browser, navigate to the new replica appliance's IP address and upload your GitHub Enterprise license.
  3. Set an admin password that matches the password on the primary appliance and continue.
  4. Click New Install to set up a new installation or migrate from another appliance.
  5. On the Settings page, add an SSH key to the list of authorized SSH keys. Use this key to:
    • SSH to the replica appliance for initial setup.
    • Monitor replication status.
    • Perform manual failover (if necessary).
  6. Connect to the replica appliance's IP address using SSH:

    ssh -p 122 admin@REPLICA IP
    
  7. To generate a key pair for replication, use the ghe-repl-setup command with the primary appliance's IP address and copy the public key that it returns:

    ghe-repl-setup PRIMARY IP
    
  8. To add the public key to the list of authorized keys on the primary appliance, browse to https://<PRIMARY HOSTNAME>/setup/settings and add the key you copied from the replica to the list.

  9. To verify the connection to the primary and enable replica mode for the new replica, run ghe-repl-setup again.

    ghe-repl-setup PRIMARY IP
    
  10. Use the ghe-repl-start command to start replication of the datastores:

    ghe-repl-start
    
  11. Use the ghe-repl-status command to verify the status of each datastore's replication channel:

    ghe-repl-status
    

Further reading