Posté(e) il y a 12 heures12 h Bonjour,Je documente ici ce que j'ai subit/vécu en essayant d'utiliser le stockage S3 Next.ink dans un environnement serveur amateur.Cas d'usage:Je veux monter le bucket s3 en local sur une machine linux en y rajoutant une couche de cryptage à la voléeJe veux que ce montage puisse être passé comme un volume à un conteneur docker.je veux pouvoir manipuler les fichiers en ligne de commande ET via l'utilisation de ce volume dans Nextcloud (partager à des utilisateur.ices, ...)Sans être un fou de perfo, faut éviter les timeoutsPremière approche:Suite à l'annonce de Next, bon nombre de lecteur.ices ont proposés des méthodes pour expliquer ce qui était possible de faire selon leurs besoins. Je me suis appuyé sur @bingo.crepuscule et un script pondu de sa main (et adapté à mon cas). Le montage et l'utilisation de gocryptfs ont bien fonctionné, mais passer ce dossier à un docker a lamentablement échoué. ou bien j'avais pas fait les bonnes recherches ou bien docker a évolué depuis car...Une deuxième approche utilisant rclone a parfaitement fonctionné. Rclone est une merveille de couteau suisse pour faire à peu près tout ce que fait rsync et bien plus encore. Tout ce qui suit est fait sous root dans une VM Debian 13 dans un proxmox.apt install rclonerclone config # créer un "remote" rclone pour accéder au S3On se laisse guider, ça roule presque tout seul.Là vous avez un paragraphe dans /root/.config/rclone/rclone.confOn peut monter, synchroniser, explorer ce remote grâce aux commandes habituelles de rclone : rclone mount, rclone sync, rclone ls, etc... On peut aussi monter ce bucket comme un système de fichier perenne avec un coup de /etc/fstab : s3next: /mnt/s3next rclone config=/root/.config/rclone/rclone.conf,allow_other,uid=33,gid=33,umask=0007,x-systemd.mount-timeout=0,vfs_cache_mode=writes,_netdev 0 0Je vais avoir besoin que ce soit le user www-data qui possède tout ça (d'où le uid/gid).Oui mais moi je veux que les données chez Next soient cryptées... qu'à cela ne tienne, je créé un second remote:rclone configLà je choisi "crypt" dans les options "14 / Encrypt/Decrypt a remote \ (crypt)"et pareil on se laisse guider à la création de clées de chiffrement et on pointe sur la remote S3 créés précédemment avec son nom de bucket : s3next:lisez-next On obtient un truc qui ressemble à ça dans rclone.conf :[s3next]type = s3provider = Otheraccess_key_id = <truc secret>secret_access_key = <encore plus secret>region = fr1endpoint = https://s3.fr1.next.ink[s3next_crypt]type = cryptremote = s3next:lisez-nextpassword = <wahou faut pas le dire>password2 = <et en plus c'est salé>On modifie /etc/fstab pour monter ce remote là plutôt que le premier. (pour que rclone puisse servir d'outil de montage internet me dit qu'il faut créer un lien symbolique depuis /usr/bin/rclone vers /sbin/mount.rclone )Et enfin (et je pense avec le recule que c'est ça qui a fait que la méthode de @bingo.crepuscule a pas fonctionné chez moi). il faut maintenant faire en sorte que ce point de montage rclone (c'est FUSE derrière) puisse être vue/lue/modifié par des conteneurs docker.Au final c'est pas sorcié. Votre usage docker différera peut-être du miens, mais ici j'ai du déclarer un volume en plus dans ma stack et lui ajouter le paramètre :sharedDonc un truc comme ça :volumes: - /mnt/s3next:/mnt/s3next:sharedOn remonte tout ça, redémarre les conteneurs qui vont bien et voilà ! J'ai maintenant mon conteneur qui peut aller mettre des données sur le bucket s3 de Next.ink sans risquer l'interception en plein vol, la perte de données, le hack de moji, etc...
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.