|
3 days ago | |
---|---|---|
capsule | 3 days ago | |
README.md | 1 week ago | |
agate-template.service | 2 weeks ago | |
post-receive-template | 1 week ago |
Installer le serveur Agate : https://github.com/mbrubeck/agate
mkdir ~/bin
# Ajuster l'architecture et la version si besoin.
wget -O ~/bin/agate.gz https://github.com/mbrubeck/agate/releases/download/v2.5.2/agate.x86_64-unknown-linux-gnu.gz
cd ~/bin && gunzip agate.gz
chmod +x agate
cargo
(et en installant la Rust toolchain au préalable) :
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install agate
Possible erreur si installation sur un nouveau serveur Debian : error: linker 'cc' not found
. Résolution : sudo apt install build-essential
Ajouter du contenu
mkdir ~/gemini && cd ~/gemini
echo "# Hello World" > index.gmi
Installer un certificat TLS et une clé privée
mkdir -p ~/certs/gemini && cd ~/certs/gemini
# Remplacer nom.de.domaine.com ci-dessous par le nom de domaine choisi.
openssl req -new -subj "/CN=nom.de.domaine.com" -x509 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -days 3650 -nodes -keyout key.pem -out cert.pem
Ajouter Agate à systemd
cd /etc/systemd/system
sudo wget -O agate.service https://codeberg.org/etienne/gemini/raw/branch/main/agate-template.service
<username>
et <nom.de.domaine.com>
par le nom d'utilisateur utilisé jusqu'ici et le nome de domaine choisi.Lancer le service Agate
sudo systemctl start agate
sudo systemctl enable agate
Et c'est bon ! Essayer de contacter le site via un navigateur Gemini, comme Lagrage par exemple.
S'il y a une erreur de connexion :
sudo journalctl -f
pour vérifier que le service agate ne renvoie
pas d'erreur.Sources qui ont permis l'élaboration de ce guide d'installation :
Ces quelques étapes permettent de mettre en place un dépôt vide sur le serveur où se trouve une capsule Gemini. Il sera alors possible d'y pousser via git
un projet Gemini (statique) créé localement afin de le publier automatiquement.
Créer un dépôt vide sur serveur, qui sera la cible des git push
fait
localement.
mkdir ~/repo && cd ~/repo
mkdir gemini.git && cd gemini.git
git init --bare
Créer un hook post-receive
, basé sur ce
template-là.
cd ~/repo/gemini.git/hooks
wget -O post-receive https://codeberg.org/etienne/gemini/raw/branch/main/post-receive-template
chmod +x post-receive
Modifier le post-receive
script :
<username>
par le nom d'utilisateur utilisé pour acceder au contenu Gemini.GEMINI_CONTENT_SOURCE
si le contenu à publier se trouve dans un
dossier spécifique de votre projet.De retour sur le localhost, depuis la racine du projet,
rajouter le nouveau dépôt vide en tant que remote
. Par example :
git remote add gemini username@adresse.ou.ip.serveur:~/repo/gemini.git
Et voilå ! Vous pouvez maintenant publier votre contenu depuis votre
localhost via git
en faisant:
git push gemini master