Gitea verbindet Quelltext-Verwaltung, Fehlerdatenbank und Wiki unter einer webbasierten Oberfläche.
Da es noch kein Debian Paket für Gitea gibt, legen wir den Benutzer selbst an und laden das Programm direkt von der Webseite herunter.
version=1.9.6 adduser --system --group --home /srv/gitea gitea curl https://dl.gitea.io/gitea/$version/gitea-$version-linux-amd64 > /srv/gitea/gitea chmod +x /srv/gitea/gitea
Um auf eine neuere Version zu wechseln, müssen wir nur die Unit stoppen, die neue Version herunterladen und anschließend wieder starten.
Quellcode und Wiki speichert Gitea in einem Git-Repository. Tickets und Metadaten speichern wir in PostgreSQL und erzeugen dafür einen Benutzer und eine leere Datenbank.
su postgres -c "createuser --pwprompt gitea" su postgres -c "createdb --owner gitea gitea"
Die Zugangsdaten für die Datenbank hinterlegen wir in der Konfigurationsdatei.
/srv/gitea/custom/conf/app.ini[database] DB_TYPE = postgres HOST = 127.0.0.1:5432 NAME = gitea USER = gitea PASSWD = Password SSL_MODE = disable PATH = data/gitea.db [repository] ROOT = /srv/gitea/repositories [server] SSH_DOMAIN = durmstrang.illusioni.de DOMAIN = localhost HTTP_PORT = 3000 ROOT_URL = https://durmstrang.illusioni.de/gitea/ DISABLE_SSH = false SSH_PORT = 22 LFS_START_SERVER = true LFS_CONTENT_PATH = /srv/gitea/data/lfs LFS_JWT_SECRET = ************************** OFFLINE_MODE = false
Wir erstellen eine Unit für Systemd.
/etc/systemd/system/gitea.service[Unit] Description=Gitea (Git with a cup of tea) After=network.target After=postgresql.service Requires=postgresql.service [Service] Type=simple User=gitea Group=gitea WorkingDirectory=/srv/gitea ExecStart=/srv/gitea/gitea web Restart=always [Install] WantedBy=multi-user.target
Service starten. Gitea lauscht auf Port 3000.
systemctl enable --now gitea
firefox http://localhost:3000