Installation De La Forge Logicielle Gitea Sur Debian

Installation

Nous allons voir comment mettre en œuvre Gitea, un fork communautaire de Gogs.

On commence par la création de l’utilisateur git

useradd git

Téléchargement de la version ad hoc en fonction de l’architecture du processeur de la machine hôte.

su - git
# sur linux 64bit
wget https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64
# sur Raspbian (Debian modifié pour Raspberry pi)
wget https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-arm-7
# on change les droits sur le fichier
chmod +x gitea-1.7.0-linux-arm-7
# On crée un lien symbolique vers gitea-1.7.0-linux-arm-7
ln -s gitea-1.7.0-linux-arm-7 gitea

On exécute la commande suivante une fois.

./gitea

Ce qui va créer l’arborescence des fichiers de configuration de gitea.

Configuration

Le fichier de configuration est dans : /home/git/gitea/custom/conf/app.ini

APP_NAME = Gitea: Git with a cup of tea
RUN_USER = git
RUN_MODE = prod


[database]
DB_TYPE  = sqlite3
HOST     = 127.0.0.1:3306
NAME     = gitea
USER     = gitea
PASSWD   =
SSL_MODE = disable
PATH     = data/gitea.db


[repository]
ROOT = /home/git/gitea-repositories


[server]
SSH_DOMAIN       = ton.domaine.fr
HTTP_PORT        = 3000
ROOT_URL         = https://ton.domaine.fr/
DISABLE_SSH      = false
SSH_PORT         = 22
LFS_START_SERVER = false
OFFLINE_MODE     = false
LOCAL_ROOT_URL   = http://localhost:3000/

[mailer]
ENABLED = false

[service]
REGISTER_EMAIL_CONFIRM     = false
ENABLE_NOTIFY_MAIL         = false
DISABLE_REGISTRATION       = true
ENABLE_CAPTCHA             = false
REQUIRE_SIGNIN_VIEW        = false
DEFAULT_KEEP_EMAIL_PRIVATE = true
NO_REPLY_ADDRESS           = noreply.example.org

[picture]
DISABLE_GRAVATAR        = true
ENABLE_FEDERATED_AVATAR = false

[session]
PROVIDER = file

[log]
MODE      = file
LEVEL     = Info
ROOT_PATH = /home/git/gitea/log

[security]
INSTALL_LOCK   = true
SECRET_KEY     = XXXXXXXX
INTERNAL_TOKEN = XXXXXXXXXXXXXXXXXX

Déclaration du service dans systemD

Voici la déclaration du service à déployer dans systemD. Avec l’utilisateur root, on place le fichier dans /etc/systemd/system/gitea.service.

[Unit]
Description=Gitea service
After=network.target
After=syslog.target

[Service]
Type=simple
WorkingDirectory=/home/git/gitea
ExecStart=/home/git/gitea/gitea web -p 3000
Restart=always
User=git
Groups=git
Environment=USER=git HOME=/home/git

[Install]
WantedBy=multi-user.target

On ajoute le service avec la commande:

systemctl -q enable gitea.service

On supprime le service avec la commande

systemctl disable gitea.service