___ _ _ _ _ ___ _ _ _ _ _
/ __(_) |_| |_ _ _| |__ | __|_ _| |_ ___ _ _ _ __ _ _(_)______ | || |___| |_ __ ___ _ _
| (_ | | _| ' \ || | '_ \ | _|| ' \ _/ -_) '_| '_ \ '_| (_-< -_) | __ / -_) | '_ \/ -_) '_|
\___|_|\__|_||_\_,_|_.__/ |___|_||_\__\___|_| | .__/_| |_/__|___| |_||_\___|_| .__/\___|_|
|_| |_|
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 Github.com 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.
The typical usage of this is GHE Administration however falls into the following 3 sub catagories.
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
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_HOST=github.yourghe.com
GHE_TOKEN= 1234567890abcdef1234567890abcdef12345678
GHE_SSH_USER=admin
GHE_SSH_PORT=122
GHE_USER=you@your-email.com
GHE_PASS=Y0urGh3P@ss0rd
GH_TOKEN=1234567890abcdef1234567890abcdef12345678
GHE_TOTP=1234567890abcdef1234567890abcdef12345678
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.
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](https://github.com/ppouliot/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.](https://github.com/ppouliot/ghe/wiki)
For Github to Github specific information please follow the documentation located at the [fork](https://github.com/ppouliot/ghe) of the
[original](https://git.generalassemb.ly/ga-admin-utils/ghe) GHE project that I am currently extending & maintaining [here.](https://github.com/ppouliot/ghe/wiki/ghe-migrate)
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.
Example Command
( coming soon. )
( coming soon. )
The following resources were used in the creation of this platform.