Files
siteperso/content/post/2024-10-30-Un mirroir pour Haiku/index.md

2.5 KiB
Raw Blame History

date, title, description, authors, slug, toc, draft, category, tags
date title description authors slug toc draft category tags
2024-10-30 Un mirroir pour le site du projet Haiku Comment j'ai créé un pirroir pour le site principal du projet Haiku à l'aide d'un simpls script Bash.
yann64
mirroir-haiku false false Informatique Haiku

Dans la mesure du possible, le projet Haiku essaye dêtre auto hébergé. Cela nest pas sans contrainte pour un projet aux ressources encore limitées, et il arrive parfois que lhébergement officiel ne soit pas accessible.

Jai donc créé un script permettant de réaliser un mirroir du site principal et ainsi pouvoir accéder aux informations quand lhébergement principal nest pas accessible : https://barbel.synology.me/haiku/

Pour ce faire, j'utilise le script Bash suivant :

# Changer les valleurs suivantes pour configurer votre mirroir

# Chemin de l'exécutable Hugo
HUGO_PATH="/path/to/hugo"
# Titre du site mirroir
MIRROR_TITLE="Haiku Project (Yann64's Mirror)"
# UTL du mirroir (doit se terminer avec un slash '/')
MIRROR_BASEURL="https://barbel.synology.me/haiku/"
# Chemin racine du server web
MIRROR_ROOTPATH="/opt/http"
# Chemin complet du repertoire de stockage du mirroir
MIRROR_LOCALPATH="/opt/http/haiku"

# Mise à jour du mirroir à la dernière version
echo "==> Clone website from the official repository :"
git clone https://github.com/haiku/website.git
cd website

sed -i "s/title = \"Haiku Project\"/title = \"$MIRROR_TITLE\"/" ./config.toml
sed -i "s@baseURL = \"https://www.haiku-os.org/\"@baseURL = \"$MIRROR_BASEURL\"@" ./config.toml

# Décommenter les lignes suivantes et modifier pour changer la source des tickets d'évolution
#sed -i "s@'https://cgit.haiku-os.org/haiku/commit/?id='@'https://git.barbel.synology.me/Haiku/haiku/commit/'@" ./static/js/activity.js
#sed -i "s@https://cgit.haiku-os.org/haiku/log/@https://git.barbel.synology.me/Haiku/haiku/commits/branch/master@ " ./themes/shijin4/layouts/partials/home.html

echo "==> Site generation using Hugo :"
$HUGO_PATH
echo "==> Copy files to destination forlder: "$MIRROR_LOCALPATH
cd  public
cp -r * $MIRROR_LOCALPATH
cp -r ./images $MIRROR_ROOTPATH

echo "==> Cleaning"
cd ../..
rm -rf ./website

# Update userguide to latest version
echo "==> Clone userguide from the official repository :"
git clone "https://review.haiku-os.org/userguide"
cd userguide
echo "==> Copy files to destination forlder: $MIRROR_LOCALPATH/docs"
cp -r * "$MIRROR_LOCALPATH/docs"
echo "==> Cleaning"
cd ..
rm -rf ./userguide

echo "Done !"