Some standard maintenance procedures, such as upgrading your GitHub Enterprise instance or restoring backups, require that the GitHub Enterprise instance be taken offline for normal use, or "put into maintenance mode".

The following types of operations require a maintenance window:

  • Upgrading to a new version of GitHub Enterprise.
  • Increasing CPU, memory, or storage resources allocated to the virtual machine.
  • Migrating data from one virtual machine to another.
  • Restoring data from a GitHub Enterprise Backup Utilities snapshot.
  • Troubleshooting certain types of critical application issues.

While you can choose to put an instance into maintenance mode immediately, we recommend you schedule a maintenance window for 30 minutes, one, or two hours in the future in order to give users time to prepare.

Additionally, you can use the Management Console API to schedule maintenance for different times or dates.

Note: The https://<hostname>/status URL will return status code 503 (Service Unavailable) when the appliance is in maintenance mode.

To enable or schedule maintenance mode, visit the Management Console Maintenance page at https://<host>/setup/maintenance:

Configuring maintenance mode

When maintenance is scheduled, all users will see the following banner when accessing the site:

Scheduling maintenance

During the actual maintenance window, all normal HTTP and Git access is refused. Visiting the site in a browser results in the following maintenance page:

The maintenance mode splash screen

Git fetch, clone, and push operations are also rejected with an error message indicating that the site is temporarily unavailable.