Gitea

Gitea is a self-hosted Git service, written in Go, which can serve Git repositories with associated issue trackers and wikis.

Installing Gitea

1

Create a shell user if you have not done so already. You can use an existing shell user if you wish.

2

Click on Applications in the control panel sidebar.

3

Click the button labeled "+ Add Application" in the upper-left corner of the content area.

4

Select Gitea as the application type.

5

Enter a name for your application in the Name field.

This name will be used to create a subdirectory in your shell user's apps directory such as /home/username/apps/appname.

6

Select the shell user that will host the application.

If you have multiple servers, be sure to select the shell user that is located on the server from which you intend to serve your site.

7

Click the "Add Application" button to save your new application.

8

A notification will appear in the control panel when the application is ready. This may take a minute or longer. The notification will contain your initial Gitea username and password.

9

Create a site to serve your Gitea application - see Managing Sites for instructions on how to create a site.

10

SSH into your shell user's server and update /home/username/app/appname/custom/conf/app.ini to set the DOMAIN and ROOT_URL parameters to use your site's domain.

11

Restart the app:

/home/username/app/appname/stop
/home/username/app/appname/start
12

Log in to your Gitea site and set your email address to the address that you want to use with your Gitea profile.

Using SSH Keys with Gitea

Gitea supports the use of SSH keys to enable secure password-less access to your Git repositories.

If you are already using SSH keys to access your shell account, you'll need to create a new key for Gitea.

To set it up:

1

Open your terminal application on your local system and generate a new key by executing the following commands, replacing mydomain_com with the domain name and suffix assigned to your Gitea site:

mkdir -p ~/.ssh
touch ~/.ssh/config
chmod 600 ~/.ssh/config
chmod 700 ~/.ssh
ssh-keygen -t rsa -f $HOME/.ssh/gitea_mydomain_com_rsa -N ""
2

Edit your local ~/.ssh/config with the following contents, replacing gitea.mydomain.com with the domain assigned to your Gitea site and gitea_mydomain_com_rsa with the name of the key you created in step 1:

Host gitea.mydomain.com
  IdentityFile ~/.ssh/gitea_mydomain_com_rsa 
3

Run the following command to output the public key to your terminal:

cat ~/.ssh/gitea_mydomain_com_rsa.pub

Select the output and copy it to your clipboard.

4

Log into your Gitea site and go to /user/settings/keys.

There, locate the "Manage SSH Keys" box and click the blue "Add Key" button in the right-hand corner.

5

Enter a name for your key, then paste the output from step 3 into the content box.

6

Save the key by clicking the green "Add Key" button below the form.

At this point you should be able to access your repos over SSH with no password with your Gitea app's shell user. For example:

git clone myshelluser@gitea.mydomain.com:username/reponame.git