Aller au contenu
View in the app

A better way to browse. Learn more.

Next

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

montage du S3 next avec Rclone en cryptant les données à la volée

Featured Replies

Posté(e)

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ée

  • Je 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 timeouts

Premiè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 rclone

rclone config # créer un "remote" rclone pour accéder au S3

On se laisse guider, ça roule presque tout seul.

Là vous avez un paragraphe dans /root/.config/rclone/rclone.conf

On 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 0

Je 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 config

Là 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 = s3

provider = Other

access_key_id = <truc secret>

secret_access_key = <encore plus secret>

region = fr1

endpoint = https://s3.fr1.next.ink

[s3next_crypt]

type = crypt

remote = s3next:lisez-next

password = <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 :shared

Donc un truc comme ça :

volumes:

- /mnt/s3next:/mnt/s3next:shared

On 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.

Invité
Répondre à ce sujet…

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.