This package allows you to install Gitea quickly and simply on a YunoHost server. If you don't have YunoHost, please consult the guide to learn how to install it.
Gitea is a fork of Gogs a self-hosted Git service written in Go. Alternative to GitHub.
Shipped version: 1.19.1~ynh1
If you want to use Gitea with SSH and be able to pull/push with your SSH key, your SSH daemon must be properly configured to use private/public keys. Here is a sample configuration /etc/ssh/sshd_config
that works with Gitea:
PubkeyAuthentication yes
AuthorizedKeysFile /home/yunohost.app/%u/.ssh/authorized_keys
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
You must also add your public key to your Gitea profile.
When using SSH on any port other than 22, you need to add these lines to your SSH configuration ~/.ssh/config
:
Host domain.tld
port 2222 # change this with the port you use
By default, a backup is performed before upgrading. To avoid this, you have the following options:
- Pass the
NO_BACKUP_UPGRADE
env variable with1
at each upgrade. For exampleNO_BACKUP_UPGRADE=1 yunohost app upgrade gitea
. - Set
disable_backup_before_upgrade
to1
. You can set it with this command:
yunohost app setting gitea disable_backup_before_upgrade -v 1
After that, the settings will be applied for all the next updates.
From command line:
yunohost app upgrade gitea
This application now uses the core-only feature of the backup. To keep the integrity of the data and to have a better guarantee of the restoration it is recommended to proceed as follows:
- Stop Gitea service with this command:
systemctl stop gitea.service
- Launch Gitea backup with this command:
yunohost backup create --app gitea
- Backup your data with your specific strategy (could be with rsync, borg backup or just cp). The data is generally stored in
/home/yunohost.app/gitea
. - Restart Gitea service with theses command:
systemctl start gitea.service
Due of the backup core only feature the data directory in /home/yunohost.app/gitea
is not removed. It must be manually deleted to purge user data from the app.
To use a repository with an LFS
setup, you need to activate it on /opt/gitea/custom/conf/app.ini
[server]
LFS_START_SERVER = true
LFS_HTTP_AUTH_EXPIRY = 20m
By default, NGINX is configured with a maximum value for uploading files at 200 MB. It's possible to change this value on /etc/nginx/conf.d/my.domain.tld.d/gitea.conf
.
client_max_body_size 200M;
Don't forget to restart Gitea sudo systemctl restart gitea.service
.
These settings are restored to the default configuration when updating Gitea. Remember to restore your configuration after all updates.
If you want to use the Git command (like git clone
, git pull
, git push
), you need to set this app as public.
- Official app website: https://gitea.io/
- Official admin documentation: https://docs.gitea.io/
- Upstream app code repository: https://github.com/go-gitea/gitea
- YunoHost documentation for this app: https://yunohost.org/app_gitea
- Report a bug: https://github.com/YunoHost-Apps/gitea_ynh/issues
Please send your pull request to the testing branch.
To try the testing branch, please proceed like that.
sudo yunohost app install https://github.com/YunoHost-Apps/gitea_ynh/tree/testing --debug
or
sudo yunohost app upgrade gitea -u https://github.com/YunoHost-Apps/gitea_ynh/tree/testing --debug
More info regarding app packaging: https://yunohost.org/packaging_apps