License Source Code Latest version GitHub issues GitHub forks Docker Automated build Docker Build Status Docker pulls

   ___ _ _   _        _      ___     _                    _          _  _     _               
  / __(_) |_| |_ _  _| |__  | __|_ _| |_ ___ _ _ _ __ _ _(_)______  | || |___| |_ __  ___ _ _ 
 | (_ | |  _| ' \ || | '_ \ | _|| ' \  _/ -_) '_| '_ \ '_| (_-< -_) | __ / -_) | '_ \/ -_) '_|
  \___|_|\__|_||_\_,_|_.__/ |___|_||_\__\___|_| | .__/_| |_/__|___| |_||_\___|_| .__/\___|_|  
                                                |_|                            |_|            


This is the Dockerfile for building Github Enterprise Helper (ghe-helper). Github Enterprise Helper is a container platform built with tooling for interacting with Github Enterprise and data and functionality.

The container launches multiple byobu windows which present different GHE tooling or vizualizes logging of the GHE instance.

The core of this originated around a project to consolidate multiple SCMs into Github Enterprise.

You can find published versions of this image on the Docker Hub.

Typical Use Cases

The typical usage of this is GHE Administration however falls into the following 3 sub catagories.

  1. Github to Github Enterprise Migrations
  2. Github/Github Enteprise Backups
  3. Creation of markup using tooling specific for use in GH-Pages/GHE-Pages

Github to Github Enterprise Migrations

  1. Required Environment Varibles

    The following Environmental Variables must be set either in the docker run statement by using a file containing the variables and supplying the --env-file <your_file> or using -e and pass in each required variable independently. The following variables are needed for successful migrations

    • GHE_HOST: The hostname of your github enterprise server
    • GHE_TOKEN: A token from your Github Enterprise server which has Site Admin Privileges.
    • GHE_SSH_USER: The name of your Github Enterprise server administrator account
    • GHE_SSH_PORT: The administrative ssh port of your Github Enterprise Instancea.
    • GHE_PASS: The password for the Github Enterprise Admin Site.
    • GHE_USER: The username of the account used for GHE_TOKEN
    • GH_TOKEN: The Token of an Owner of the Repository on
    • GHE_TOTP: same as GHE_TOKEN

    Example: Environment Variables

    Included in this project is a sample file containing the environment variables needed to bo be configured in order to successfully migrate Organizations from Github to Github Enterprise. This file can be used as template.
    GHE_TOKEN= 1234567890abcdef1234567890abcdef12345678
  2. SSH Keys

    SSH Keys that have admin access to the Github Enterprise Instance are required. These can be passed into the container at runtime using -v path/to/.ssh:/root/.ssh. Additional information on how to generate ssh keys can be found here.

  3. Running the Container

    The following docker commands can be used to run the container.

    docker pull ppouliot/ghe-helper:latest
    docker run -h ghe-helper -it --env-file .env -v $HOME/.ssh:/root/.ssh  -p 4000:4000 -p 4567:4567 ppouliot/ghe-helper

    Once properly executed you will be placed into a running instance of the GHE-Helper presented as a multi-window console experience. The console is broken into four different areas.


  This includes the [GHE]( application.  GHE is a python application wrapping GHE tooling on the GHE Appliance.
  GHE can be used for basic admin tasks as well as Github to GHE migrations. 
  General usage information can be obtained by running ``` help ``` from within the ``` GHE> ``` command shell or by visitingi
  the documentation [here.](
  For Github to Github specific information please follow the documentation located at the [fork]( of the
  [original]( GHE project that I am currently extending & maintaining [here.](

Github Backup Utilities

  1. Accessing the Github backup utilities

    Github provides tooling for performing backups of Github Enterprise. The Github Backup Utilities are included within this container image. Additoinally a gh-backup user is also added to the container image and configured for access to installed Github Backup Utilities.. Currently in order to access the gh-backup user existing in this container you must run su - gh-backup as passed in option from the original docker command.

  2. Example Command

    ( coming soon. )

Github Pages

( coming soon. )


The following resources were used in the creation of this platform.

  1. github/backup-utils
  2. GHE
    1. (Code used in this container)
    2. (Origianl Source of the code used in this container)
  3. Misc Research