From 0 to GitHub Enterprise on Mac

Octokitty says RAWR

GitHub Enterprise


Use VMWare ESXi 6.0 as your hypervisor. You need one of the machines listed here to be able to install it onto. I’m using a Mac Pro. You don’t need an OS on the machine you’re going to install onto because the EXSi server runs as its own OS effectively. GitHub Enterprise says it only supports up to ESXi 5.5, but VMWare is rude enough not to provide a download for older versions, so we’ll say our Hail Mary’s and give it a go anyway.

  1. Follow this guide to create a bootable VMWare EXSi USB stick and then boot into it.
  2. Follow this guide to install the server. The vSphere client is Windows only (I didn’t know that was still a thing?). Don’t worry:
  3. In your ESXi install, press F2 -> Troubleshooting Options-> Enable Shell and Enable SSH. Now, escape the settings and on the main screen you can press Option F1 to open the shell. Login with your root user created at install.
  4. Download the ovftool for Mac and install it.
  5. Download the GitHub Enterprise ovf. Now on your Mac you’ll deploy it to the EXSi:
  6. cd /Applications/VMware\ OVF\ Tool/
  7. ./ovftool -dm=thin -ds=datastore1 /local/path/to/github-enterprise.ova “vi://root@12.234.12.12"
  8. Now in the terminal on your EXSi machine, you can check that it deployed properly: vim-cmd vmsvc/getallvms
  9. Power it on: vim-cmd vmsc/power.on 1
  10. This article was very helpful here for the above steps.
  11. Create an 80GB virtual disk with thick provisioning and lazy zeroing: vmkfstools -c 255G -d zeroedthick -a lsilogic IOMETER.vmdk. This is the same as GitHub Enterprise’ GUI instructions except without the Windows herpes.
  12. Add the new virtual disk to the running GitHub Enterprise instance: vmware-vim-cmd vmsvc/device.diskaddexisting vmid /vmfs/volumes/path/to/disk.vmdk 0 1
  13. Find the IP address of your newly running GitHub Enterprise Instance: vim-cmd vmsc/get.summary. It will appear near the bottom in the guest = section.


Mac OSX 10.10 Virtual Machine


The following instructions are as far as I’ve gotten, but unfortunately I haven’t succeeded. I’ve been unable to get VNC to work on an ESXi virtual machine.

Let’s now install a Mac OSX virtual machine onto the Mac Pro’s ESXi server.

I’ll assume you have already download a Mac OS X image.

  1. Get a free trial of VMWare Fusion Pro and create a Mac OS X 10.10.2 virtual machine with your image.
  2. Boot into the Mac OS X and set up your admin user. Also go to Sharing preferences for that admin user and enable remote login. This will be useful for sshing into your virtual machine once it’s on your ESXi server. Next, VMWareFusion go to Virtual Machine -> Install VMWare Tools and install them onto your virtual machine. Finally, shut down your virtual machine and remove the installation image from the virtual machine’s settings.
  3. From your command line:
/ovftool --acceptAllEulas ~/Documents/Virtual\ Machines.localized/OS\ X\ 10.10.vmwarevm/OS\ X\ 10.10.vmx ~/Desktop/macos.ova

4. Now you can deploy the created .ova file to your remote EXSi server:

./ovftool -dm=thin -ds=datastore1 /local/path/to/macos.ova "vi://root@12.234.12.12"

5. On your ESXI server, check that it installed correctly: vim-cmd vmsvc/getallvms

6. Find your license number by signing into myvmware.com and looking at what’s listed next to “VMware vSphere Hypervisor 6 License” on the download page for ESXi. Replace the line in /etc/vmware/vmware.lic with that number.

7. Start it up: vim-cmd vmsvc/power.on <vm id>

8. Find the IP address: vim-cmd vmsc/get.summary <vmid>. Now you should be able to ssh into it with youradmin@ipaddress


Follow these instructions to enable the VNC server on your ESXi server. This will allow you to remote screen share with the virtual machine so that you can set it up.

Create a new virtual machine by following these instructions.

Useful ESXi commands


This list of common commands is useful.

# ESXi has the command line editor `vi`
# Virtual machines are located at /vmfs/
# List all running virtual machines
esxcli vm process list
# List all the firewall's rules
esxcli network firewall ruleset list
# Check if a certain virtual machine is powered on
vim-cmd vmsvc/power.getstate <vmid>
# Look at system performance
TERM=xterm esxtop
# Press m to Change to the memory view
# Press V to only show the virtual machines
# Reload a virtual machine (Such as after making changes to the .vmx) without having to unregister and register it
vim-cmd vmsvc/reload <vmid>
# Unregister a vm
vmsvc/unregister <vmid>
# Register a vim
vim-cmd solo/registervm /vmfs/volumes/datastore1/VM_NAME/VM_NAME.vmx
# Show a summary of your ESXi Server
vim-cmd hostsvc/hostsummary
# Interesting log output when you try to start a virtual machine:
tail -f /var/log/hostd.log
# Restart the management agent
/etc/init.d/hostd restart
/etc/init.d/vpxa restart
# Show your ESXi instance's license information
vim-cmd vimsvc/license --show
# Show all tasks
vim-cmd vimsvc/task_list