# Comment créer un site internet avec garage ## Création du site web Pour servir les sites statiques la filouterie utilise [garage](https://garagehq.deuxfleurs.fr/) derrière [Tricot](https://git.deuxfleurs.fr/Deuxfleurs/tricot/). Voici les étapes à suivre pour se créer un site statique et y uploader des fichiers. Tout d'abord connectez vous en SSH sur une des machines du cluster. Ensuite pour faciliter les prochaines étapes faites un alias shell pour accéder à garage : ``` alias garage="docker exec -it /garage" ``` Sachant que pour avoir le `` utilisez la commande `docker ps` normalement il est sous la forme "server-62a435e6-dae0-e901-5c65-98e97c9d8c0e". Maintenant que l'alias est fait vous pouvez créer un bucket avec le nom du site à créer. Ex : ``` garage bucket create test.chokbar.bzh ``` Si tout a fonctionné vous devriez avoir le texte suivant qui s'affiche : ``` [zuma@riri:~]$ garage bucket create test.chokbar.bzh 2025-11-22T21:18:18.979177Z INFO garage_net::netapp: Connected to 10.0.2.1:3901, negotiating handshake... 2025-11-22T21:18:19.024546Z INFO garage_net::netapp: Connection established to f1ef11406ffab64e ==== BUCKET INFORMATION ==== Bucket: a944b080f4fdd8a7132b57bf12103b88ac914897008bd2040d7a59973cd6e3bd Created: 2025-11-22 21:18:19.049 +00:00 Size: 0 B (0 B) Objects: 0 Website access: false Global alias: test.chokbar.bzh ==== KEYS FOR THIS BUCKET ==== Permissions Access key Local aliases ``` Attention il y'a une propriété à ajouter pour transformer ce bucket en site statique, afin d'éviter que n'importe qui puisse accéder à tous nos bucket gratos. Il faut passer le bucket en mode site web : ``` garage bucket website --allow test.chokbar.bzh ``` Okay maintenant plus qu'à envoyer des trucs dessus ! Mais heu comment on fait ? Il faut ajouter une clé pour pouvoir accéder à votre bucket ! Si vous n'en possédez pas vous pouvez en créer une comme ceci : ``` garage key create test-key ``` Cela devrait vous renvoyez ceci : ``` [zuma@riri:~]$ garage key create test-key 2025-11-22T21:22:12.412322Z INFO garage_net::netapp: Connected to 10.0.2.1:3901, negotiating handshake... 2025-11-22T21:22:12.457657Z INFO garage_net::netapp: Connection established to f1ef11406ffab64e ==== ACCESS KEY INFORMATION ==== Key ID: GKf760bfb32e04251efc08d8bd Key name: test-key Secret key: dbd1d7d0c6a57b3c4fb00a4b298d5edf37fe5b36b9b3ab9bd518ad1507274da7 Created: 2025-11-22 21:22:12.458 +00:00 Validity: valid Expiration: never Can create buckets: false ==== BUCKETS FOR THIS KEY ==== Permissions ID Global aliases Local aliases ``` Notez bien le `Key ID` et le `Secret key` c'est ce qui vous permet d'administrer vos bucket ensuite ! Une fois que la clé est créée plus qu'à l'ajouter au bucket : ``` garage bucket allow --read --write --owner test.chokbar.bzh --key test-key ``` C'est tout configuré, plus qu'à uploader. Vous pouvez quand même checker l'état du bucket avec : ``` garage bucket info test.chokbar.bzh ``` Maintenant si vous voulez uploader des fichiers vous pouvez utiliser n'importe quel outil qui fonctionne avec s3 ([liste ici](https://garagehq.deuxfleurs.fr/documentation/connect/cli/)). En sachant que l'endpoint est `https://garage.chokbar.bzh`. ## Bonus : utiliser minio-client Si vous utilisez minio-client vous pouvez configurer un serveur en faisant : ``` mc alias set \ garage \ https://garage.chokbar.bzh \ \ \ --api S3v4 ``` Et ensuite pour les commandes : ``` # La liste des buckets auxquels vous avez accès mc ls garage/ # Copier un fichier index.html mc cp ./index.html garage/test.chokbar.bzh/index.html # Mirror un dossier local vers un dossier distant (genre blog hugo) mc mirror --overwrite ./public garage/monblog.chokbar.bzh ``` Merci à toüs·tes