Skip to content

Gitea — Git repositories in the TRE

Gitea is the Git service available within the TVS SDE. Because the TRE does not have direct internet access, you cannot use GitHub or other external Git services from inside your VM. Gitea provides Git functionality within the secure environment instead.

There are two separate Gitea instances — it is important to understand the difference between them.


The two Gitea instances

Shared Service Gitea

URL: https://gitea-tvstre.azurewebsites.net

The Shared Service Gitea runs at the TRE level and is managed by the TVS SDE team. It mirrors external repositories (e.g. from GitHub) into the TRE so they are accessible from within your VM. This instance is pull-only — you cannot push changes back to it, and it updates on a schedule to stay in sync with the external source.

You need to request an account from the TVS SDE team before you can access it. See Requesting access to Shared Service Gitea below.

Workspace Service Gitea

URL: shown on the Gitea Workspace Service card in your workspace

The Workspace Service Gitea runs inside your specific workspace and is isolated to it. Unlike the Shared Service, this instance supports both push and pull — you can use it as a full local Git server for your project. You sign in using your TRE credentials (OpenID).

This service is not deployed by default. See Requesting the Workspace Service Gitea below.


Requesting access to Shared Service Gitea

To get an account on the Shared Service Gitea, raise an issue in your workspace repository:

  1. Go to https://github.com/orgs/tvs-sde/repositories and find your workspace repository
  2. Create a new issue using the Gitea issue template
  3. The TVS SDE team will create your account and notify you

Once your account is set up:

  1. Access the Shared Service Gitea from within a TRE VM: https://gitea-tvstre.azurewebsites.net
  2. Log in and reset your password when prompted
  3. Browse and clone any repositories available to you:
    git clone https://gitea-tvstre.azurewebsites.net/giteaadmin/<repository-name>
    
    Enter your Gitea credentials when prompted.

Requesting the Workspace Service Gitea

To request the Workspace Service Gitea for your workspace, raise an issue in your workspace repository at https://github.com/orgs/tvs-sde/repositories.

Once deployed, the URL will appear on the Gitea Workspace Service card in your workspace in the TRE portal.

Signing in to the Workspace Service Gitea

  1. Open the Workspace Service Gitea URL from the portal
  2. Click Sign in, then click Sign in with OpenID
  3. Use your TRE credentials to authenticate
  4. Choose a username when prompted
  5. Go to User Settings → Account (https://<gitea_url>/user/settings/account) and set a password — use this username and password for all Git operations (clone, push, pull) from your VM

Scenarios

I want to bring my team's GitHub repository into the TRE

  1. Request a Shared Service Gitea account (see above)
  2. Once set up, the TVS SDE team can mirror your repository into the Shared Service Gitea
  3. Clone it from within your VM:
    git clone https://gitea-tvstre.azurewebsites.net/giteaadmin/<repository-name>
    
  4. To make it available to all users in the workspace, add it to the Workspace Service Gitea:
    • Create a new empty repository in the Workspace Service Gitea
    • Clone it into your VM and add the files from the Shared Service clone
    • Push to the Workspace Service — other users can then clone from there

I want to bring a private repository into the TRE (snapshot)

Use this if you know the repository won't change outside the TRE.

  1. Export your repository as a zip or tar archive on a machine outside the TRE
  2. Import it via the airlock — see Airlock requests
  3. Once approved, extract the archive inside your VM
  4. Add it to the Workspace Service Gitea for push/pull capability within the workspace

I want a public repository mirrored into the TRE

Raise an issue in your workspace repository at https://github.com/orgs/tvs-sde/repositories using the Gitea issue template. The TVS SDE team will set up the mirror in the Shared Service Gitea.

I want to keep a repository in sync with ongoing external changes

Request the repository as a mirror in the Shared Service Gitea. It will update automatically on a schedule. Note that this is pull-only — you cannot push changes back to the external repository from within the TRE.


Summary

Shared Service Gitea Workspace Service Gitea
Scope TRE-wide Single workspace only
Managed by TVS SDE team Researchers
Push/pull Pull only Both
Login Gitea username/password (requested from TVS SDE team) TRE credentials (OpenID)
Use case Mirror external repos into TRE Local Git for your project
Available by default Yes (account required) No (must be requested)