SWITCH | SWITCHdrive | SWITCHengines |

Hosting Git repositories

We have received some requests about the possibility of hosting source repositories, in particular Git repositories, on SWITCHengines. There are a few options that have been tested. I’ll describe them in this topic. Feel free to add your own suggestions and feedback in the comments!


c4science.ch is a project to provide tools for Code Co-Creation and Curation. It was built and is operated by the SCITAS team at EPFL as part of the eSCT project, which is funded under swissuniversities’ P-2 cooperation program.

C4Science is based on the Phabricator platform. It supports Git, but also Subversion (svn) and Mercurial (Hg) repositories. In addition, it supports Continuous Integration (CI), code review, project management and Wikis.

GitLab options

GitLab is another open-source system that has become quite popular as a self-hostable alternative to GitHub. It also includes features for code review, CI and Wikis. It generally has fewer features and options than Phabricator; on the other hand it’s quite intuitive to use.

gitlab.switch.ch (not a service!)

We have set this up for a collaboration project, and anyone with a SWITCHaai (including SWITCH edu-ID) account can use it—just sign in via the “SWITCHaai” option. But note that this is not a “service”… this means that there is no formal support (although we will look into requests sent to engines-support on a best-efforts basis), it can go away at any time, we upgrade the software without notice etc. Several ongoing collaboration projects are using this server, so the immediate probability of it going away is low, but please consider this.

gitlab.YOURDOMAIN (as a service)

We can set up an instance of GitLab for your organization (with Shibboleth/SWITCHaai support, if desired) on SWITCHengines and keep it running, patched and backed up. Pricing is the normal cost of a suitable SWITCHengines VM plus storage, plus 2–3 days worth of consulting fees per year for setup and maintenance. Please contact engines-support via e-mail if you are interested in this.

Maintenance includes: regular security upgrades; general upgrades according to the wishes of the institution and testing on our other instances; nightly backup of all user data to a remote location. Maintenance work will be scheduled to accommodate the institution’s constraints, including service windows and advance notice.

Also, if your institution has access to a “premium” GitLab license (note that universities can apply for a free “Ultimate” license), we can also run an Enterprise Edition of GitLab under this arrangement.

Install your own GitLab VM

Of course you can also just start a SWITCHengines VM and install GitLab on your own. We recommend GitLab’s “Omnibus” package, which powers (in the Community Edition) all GitLab instances mentioned above. We have used it successfully on all Ubuntu LTS releases from 16.04 to 20.04.

Today I updated the text a bit:

  • “SWITCHaai” rather than “Shibboleth” to log on to gitlab.switch.ch
  • Specify what “maintenance” (of gitlab.YOURDOMAIN) includes
  • Mention the option of Enterprise Edition and Ultimate license for universities