Git est un système de contrôle de version utilisé par les développeurs de logiciels, les codeurs et les bricoleurs pour collaborer et distribuer des projets open source. En utilisant Git, vous pouvez gérer des projets de toute taille, extraire des modifications et des fusions de code et permettre aux utilisateurs de cloner vos référentiels sur leurs propres machines. L'écosystème open source fonctionne sur Git, et de nombreux projets présentés sur MakeUseOf.com impliquent l'utilisation de ressources de GitHub. Avec Gitea, vous pouvez héberger vos propres référentiels Git entièrement fonctionnels sur un Raspberry Pi chez vous.
Pourquoi héberger votre propre service Git sur Raspberry Pi au lieu d'utiliser GitHub ?
Avec 55 millions d'utilisateurs, GitHub est le plus grand référentiel de logiciels libres et open source
sur Terre, mais son propriétaire actuel, Microsoft, n'est pas un candidat naturel pour le rôle de gardien. Les anciens PDG de la société ont décrit Linux et la licence publique générale comme "un cancer", et la plupart des propres produits de Microsoft sont propriétaires et fermés.La propriété de Microsoft a également vu GitHub explorer certaines technologies éthiquement douteuses, notamment avec GitHub Copilot, un outil d'IA pour aider les programmeurs à générer du code. Copilot a été formé sur les données de GitHub, en violation possible des termes des licences Creative Commons employées par les codeurs.
En utilisant GitHub, les développeurs créent un autre point d'étranglement où l'innovation peut être étouffée, sapée et soumise à des interférences frivoles.
Gitea vous permet de configurer votre propre serveur Git sur Raspberry Pi
Gitea est un fork de Gogs, et est une solution d'hébergement de code léger gérée par la communauté écrite en Go et publiée sous la licence MIT. Il vise à avoir un modèle de développement plus ouvert et plus rapide que son prédécesseur, et fonctionnera sur des machines aux ressources même modestes, comme un Raspberry Pi. Vous pourrez travailler sur vos dotfiles, ISO Ubuntu personnalisés, les scripts Bash et les utilitaires Java et Python sans craindre qu'ils ne soient soumis à un retrait DMCA, qu'ils ne soient utilisés pour former des logiciels malveillants ou qu'ils ne soient autrement hors de votre contrôle.
Comment installer Gitea sur votre Raspberry Pi
Gitea est livré avec plusieurs méthodes d'installation, mais la plus simple est via Docker. Si vous ne les avez pas déjà en cours d'exécution sur votre Raspberry Pi, installer Docker et Docker Compose maintenant.
Les fichiers que vous stockez sur votre serveur Gitea prendront potentiellement beaucoup de place, nous vous suggérons donc utiliser un stockage externe avec votre Raspberry Pi, et en l'utilisant comme emplacement pour votre installation Gitea.
Connectez-vous à votre Pi via SSH, puis accédez à l'emplacement où vous souhaitez installer Gitea et créez un nouveau répertoire, puis déplacez-vous dedans :
mkdir gitea
CD gîte
Créez un nouveau fichier avec nano :
nanodocker-composer.yml
...et collez-y le code suivant :
version: "3"réseaux :
gîte :
externe: faux
prestations de service:
serveur:
image: gitea/gitea: les dernières
nom_conteneur: gitea
environnement:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=db: 3306
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
redémarrer: toujours
réseaux :
- gîte
tomes :
- ./gitea:/data
- /etc/timezone:/etc/timezone: gb
- /etc/localtime:/etc/localtime: gb
ports :
- "3000:3000"
- "222:22"
dépend de:
- db
bd :
image: mysql: 8
redémarrer: toujours
environnement:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
réseaux :
- gîte
tomes :
- ./mysql:/var/lib/mysql
Modifiez les fuseaux horaires selon vos propres paramètres régionaux et choisissez un mot de passe fort pour votre base de données, puis enregistrez et quittez nano avec Ctrl + O, alors Ctrl + X.
Entrer:
docker-composer jusqu'à -d
… pour afficher docker-compose en mode détaché. Docker-compose extraira plusieurs images pour Gitea et Maria DB et configurera des conteneurs. Selon votre vitesse de connexion, cela peut prendre un certain temps.
Lorsque vous revenez à l'invite de commande :
docker-composer ps
… devrait afficher "gitea" et "gitea_db_1" comme "up". Vous pouvez désormais visiter la page de configuration initiale de votre site Gitea sur votre.adresse.ip.locale.pi.: 3000.
Ne modifiez rien pour le moment. Si vous envisagez d'accéder à votre instance Gitea via Internet, vous devez d'abord faire un peu plus de préparation.
Accédez à votre instance Gitea sur Internet
Vous voulez pouvoir saisir une URL standard pour pouvoir accéder à votre instance Gitea, vous aurez donc besoin d'Apache pour gérer le proxy. Installez Apache avec :
sudo apt installer apache2
Maintenant, démarrez et activez Apache avec les commandes suivantes :
sudo systemctl commencer apache2
sudo systemctl activer apache2
Activez les modules proxy d'Apache avec :
Proxy sudo a2enmod
sudo a2enmod proxy_http
Choisissez un nom de domaine ou un nom de sous-domaine d'un bureau d'enregistrement réputé. Ensuite, depuis la page des paramètres de votre registrar, trouvez les options 'DNS avancé' et ajoutez un nouveau UN enregistrer. Met le Héberger champ à "@" et le champ de valeur à votre adresse IP statique. Définissez la valeur TTL (Time to Lease) aussi basse que possible, puis enregistrez.
Ouvrez la page d'administration de votre routeur et recherchez une section intitulée soit Redirection de port, Cartographie des ports, ou Gestion portuaire.
Créez une nouvelle entrée pour les requêtes HTTP. Définissez le port local et public sur 80, et l'adresse IP locale à l'adresse IP de votre Raspberry Pi.
Un deuxième port ouvert est requis pour les requêtes HTTPS. Définissez le port local et public sur 443, et encore une fois, l'adresse IP locale à l'adresse IP de votre Pi.
Enfin, vous avez besoin d'un port ouvert pour les requêtes SSH vers votre serveur Git. Définissez le port local et public sur 222, et l'adresse IP locale à l'adresse IP de votre Pi.
Vous utiliserez Certbot pour obtenir des certificats et des clés de sécurité. Ajoutez le référentiel Certbot, mettez à jour, puis installez Certbot :
sudo add-apt-repository ppa: certbot/certbot
sudo apt mise à jour
sudo apt-obtenir installer python3-certbot-apache
Changez de répertoire et créez un nouveau fichier avec nano :
CD /etc/apache2/sites-available/
nanogîte.conf
Dans le nouveau fichier, collez ce qui suit, en veillant à copier dans votre propre nom de domaine :
<Hôte virtuel *: 80>ServerName votre-nom-de-domaine.tldProxyPass / http://127.0.0.1:3000/ProxyPassReverse / http:/127.0.0.1:3000/ProxyPreserveHost activé</VirtualHost>
Enregistrez et quittez nano avec Ctrl + O, alors Ctrl + X, et activez votre nouveau fichier de configuration avec :
sudoa2ensitegîte.conf
Redémarrez Apache :
redémarrage du service sudo apache2
Exécutez Certbot avec :
certbot sudo
…et sélectionnez votre nom de domaine dans une liste. Certbot récupérera et installera les certificats et les clés. Lorsque vous revenez à l'invite, redémarrez à nouveau Apache :
redémarrage du service sudo apache2
Configuration de l'instance Gitea
Vous pouvez maintenant visiter votre instance Gitea dans un navigateur avec à l'adresse https://your-domain-name.tld. Vous pourrez définir le type de base de données, le mot de passe et d'autres variables dans la première section. Ce seront les valeurs que vous avez spécifiées dans votre fichier docker-compose et devraient déjà être renseignées, il n'est donc pas nécessaire de les modifier.
Dans réglages généraux, met le Titre du site à celui qui convient, Domaine du serveur devrait être votre nom de domaine et Port du serveur SSH doit être réglé sur 222. L'URL de base doit être votre nom de domaine, y compris "HTTPS://".
Lorsque vous avez terminé, appuyez sur le grand bleu Installer Gitea bouton. Vous serez accueilli par une grande tasse de thé vert, et quel que soit le nom et la limace que vous avez donnés à l'instance. Pour créer votre premier utilisateur, cliquez sur s'inscrire en haut à droite de la page, puis entrez vos coordonnées. Toutes nos félicitations!
Pour empêcher quiconque d'enregistrer et d'héberger ses propres référentiels sur votre serveur Git, vous devez modifier le app.ini déposer. Si vous avez initialement créé votre gîte répertoire dans le / répertoire (racine), saisissez :
nano /gitea/gitea/gitea/conf/app.ini
Faites défiler jusqu'à la section de service et définissez DISABLE_REGISTRATION à vrai.
Enregistrez et quittez nano avec Ctrl + O, alors Ctrl + X, puis redémarrez vos conteneurs :
docker-composer downdocker-composer up -d
Utiliser Gitea
Si vous avez déjà utilisé GitHub, vous serez instantanément chez vous à Gitea. Une fois connecté, vous verrez qu'aucun dépôt n'est disponible. Créez-en un en cliquant sur le + signe vers la droite de la page, et donnez-lui un nom sensé.
Vous pouvez choisir de rendre le référentiel privé en cochant la case ou de le laisser ouvert au monde entier. Cochez la case pour initialiser avec un fichier readme, puis cliquez sur Créer un référentiel pour créer votre premier référentiel! Vous pouvez apporter et valider des modifications, télécharger des fichiers et modifier comme s'il s'agissait de GitHub.
Cliquer sur SSH pour copier l'adresse, et vous ne pourrez pas cloner les référentiels sur votre machine locale, recevant une erreur: "Veuillez vous assurer que vous disposez des droits d'accès corrects et que le référentiel existe" à la place. Vous devez d'abord ajouter la clé SSH de votre machine locale à Gitea. Pour ce faire, copiez la sortie de :
chat ~/.ssh/id_rsa.pub
Dans votre interface web Gitea, cliquez sur votre photo de profil, puis choisissez paramètres> Clés SSH/GPG. Cliquer sur Ajouter une clé, et collez la clé que vous venez de copier.
Vous pouvez désormais interagir avec votre propre référentiel Git sur votre propre serveur Git sur votre propre Raspberry Pi !
Utilisez votre instance Gitea pour créer des projets logiciels impressionnants
Git est un outil génial pour collaborer sur des projets incroyables, mais même sans équipe, il est fantastique pour organiser votre propre flux de travail et créer de fabuleux logiciels ou configurations. Utilisez-le pour vous aider à garder une trace de vos fichiers lorsque vous apprenez un nouveau langage de programmation ou personnalisez votre système de bureau pour qu'il soit le meilleur possible.