Nous travaillons sur l’auto-hébergement de GRIST sous docker (avec compose). Pour activer les snapshots il faut un stockage S3 mais le dépôt OpenSource de MinIO n’est plus maintenu. Dans les messages / tutoriels que j’ai consultés c’est toujours cette solution qui est évoquée. Certains d’entre vous ont ils changé de stockage S3 ? Quelle alternative conseilleriez-vous ? Et si nous décidions de commencer sans cette fonctionnalité, est-il simple de l’ajouter à un environnement existant ?
Comme alternative auto-hébergée à MinIO je n’en ai pas testé d’autres. Dans les recherches cependant j’ai vu que Garage ne supportait pas les versions de objets qui est nécessaire, et Ceph semblait complexe à opérer.
Il est possible d’utiliser les S3 d’un cloud provider cependant, Scaleway ou OVH ont des implémentations qui fonctionnent suffisamment bien avec Grist.
Pour la migration du stockage local vers S3 je crois qu’il suffisait juste de copier les données de /persist vers le bucket S3 en gardant la structure (un sous-dossier docs). @florent.fayolle tu te souviens de ce qui avait été fait lors de la migration sur S3 ?
Dans le cas d’une migration d’un espace de stockage local vers un stockage S3, il faut juste déplacer les documents, c’est très simple.
Dans le cas d’une migration de S3 à S3, c’est plus compliqué. Le souci est qu’on perd les versions (ou dans le vocabulaire de Grist, les instantanés). C’est pas simple étant donné qu’il n’existe pas de standard pour pousser des versions avec une date et un identifiant prédéfini.
On a migré de l’espace Scaleway à MinIO en auto-hégergé, ce n’était pas une mince affaire avec les versions. Il y a un script ici, mais sans garantie de fonctionnement et pour lequel nous ne fournirons pas de support. Si vous l’exécutez relisez bien le code qui est exécuté.
Le plus simple est de copier les documents et de passer outre les versions précédents la migration (pas toujours simple comme décision à prendre, j’en conviens).
Si Grist est branché à une solution S3, il faut le support des versions. Si ça ne tenait qu’à moi, j’explorerais sur Seeweedfs (ou peut-être rustfs).
Et si je devais me passer des instantanés et que je n’ai pas besoin de scaler (c’est à dire qu’un serveur monolithique est suffisant), bah je reviendrais à un espace de stockage classique dans le système de fichiers, et la migration consiste juste à déposer les documents au bon endroit .