# Installation de forgejo sur rocky-linux en mode binaire

## Installation des pré-requis

#### Installation des packages manquants

```
dnf install -y git git-lfs wget
```

## Installation de mariadb-server

#### Installer le package mariadb-server

```
dnf install -y mariadb-server
```

#### Activer et démarrer le service mariadb

```
systemctl enable mariadb
systemctl start mariadb
```

#### Créer la base de données forgejo et l'utilisateur associé

```
create database forgejo CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;
grant all privileges on forgejo.* TO 'forgejo'@'127.0.0.1' identified by 'PASSWORD';
flush privileges;
```

## Installation de forgejo  


#### Création du groupe et du user associé au futur service   


```
groupadd --system git
adduser --system --shell /bin/bash --comment 'Git Version Control' --gid git --home-dir /home/git --create-home git
```

#### Création des dossiers qui seront utilisés par le service  


- Création du dossier /var/lib/forgejo qui contiendra les données

```
mkdir /var/lib/forgejo
chown git:git /var/lib/forgejo && chmod 750 /var/lib/forgejo
```

- Création du dossier /etc/forgejo qui contiendra le fichier de configuration app.ini

```
mkdir /etc/forgejo
chown root:git /etc/forgejo && chmod 770 /etc/forgejo
```

#### Recuperation du binaire forgejo

```
cd /usr/local/bin
wget https://codeberg.org/forgejo/forgejo/releases/download/v7.0.4/forgejo-7.0.4-linux-amd64
chmod 755 /usr/local/bin/forgejo-7.0.4-linux-amd64
ln -s forgejo-7.0.4-linux-amd64 forgejo
```

#### Installation du service

```
wget -O /etc/systemd/system/forgejo.service https://codeberg.org/forgejo/forgejo/raw/branch/forgejo/contrib/systemd/forgejo.service
```

#### Ouverture firewall du port tcp/3000 sur firewalld  


```bash
firewall-cmd --permanent --add-port=3000/tcp
firewall-cmd --reload
```

#### Démarrage du service forgejo  


```
systemctl enable forgejo.service
systemctl start forgejo.service
```