====== GITea ====== **NOTE:** i moved to [[services:forgejo|Forgejo]], so this page is not updated anymore. [[http://gitea.com|GITEA]] is a nice web gui for GIT. It is actually much more and allows for GIT fine tuning of remote repositories and access control. It can be used to version-control any kind of sources, including text documents and scripts. Installing is easy: > echo ">=acct-user/git-0-r3 gitea" >> /etc/portage/package.use/gitea > emerge -v gitea Then you want to move repositories and data and config to your RAID drive, this can be done by changing user gitea home folder: > usermod -d /data/daemons/gitea -m gitea Adapt default config, edit **/etc/conf.d/gitea**: GITEA_CONF="/data/daemons/gitea/app.ini" GITEA_WORK_DIR="/data/daemons/gitea" and also edit your **/data/daemons/gitea/app.ini**: BASE_URL = https://home.mydomain.com/gitea/ HTTP_ADDR = 127.0.0.1 HTTP_PORT = 3001 === Reverse Proxy setup === And setup NGINX reverse proxy by creating **gitea.conf**: location /gitea/ { client_max_body_size 512M; # make nginx use unescaped URI, keep "%2F" as is rewrite ^ $request_uri; rewrite ^/gitea(/.*) $1 break; proxy_pass http://127.0.0.1:3001$uri; proxy_set_header Connection $http_connection; proxy_set_header Upgrade $http_upgrade; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-WEBAUTH-USER $remote_user; proxy_set_header Authorization ""; } (refer to [[selfhost:nginx|The Reverse Proxy concept]] for more details on this) Now your remote URLs are in the following format: For SSH urls: ssh://git@home.mydomain.com:ssh_port/user/repo.git == Using Reverse Proxy authentication === GITea support reverse proxy authentication. The above NGINX config already set it up, but you need to open GITea settings and go to **Authentication Sources** and replace the existing one (or add a new one) ad **PAM_Auth**. The settings you need are: * pam_service_name: system-local-login that's it.