Gitea
Gitea is a self-hosted Git service, written in Go, which can serve Git repositories with associated issue trackers and wikis.
- 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 theDOMAIN
andROOT_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.
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, replacinggitea.mydomain.com
with the domain assigned to your Gitea site andgitea_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