Mettre en place l'Object Storage de Vultr sur son instance Firefish

Retour d'expérience de mon installation de mon instance Firefish sur lequel j'ai souhaité passer, après avoir eu une instance Mastodon parce que ce premier semble plus bien "user-friendly" en terme de design et de fonctionnalité.

Pour l'instant je dois dire que c'est à peu près le cas, la seule chose qui manque je trouve c'est de pouvoir auto-delete les media (et éventuellement les posts) au bout d'un certain moment.

En tout cas voici ce que je peux dire concernant Firefish pour le moment :

  • L'interface est plus "snappy"/fluide
  • L'interface en mode deck/Tweetdeck est bien plus utilisable
  • Les options sont un peu plus fouillis (entre ce qui est dans le "Control Panel" et les "Paramètres")
  • La preview des liens se fait immédiatement au lieu de devoir recharger la page sur Mastodon
  • La possibilité de citer les posts !
  • Ça reste compatible avec les applications mobiles comme Megalodon ou Fedilab (mais avec moins de fonctionnalités que l'interface web puisque ces applications sont taillés pour Mastodon, qui a moins de fonctionnalités)
  • Il y a encore quelques bugs à éliminer étant donné que la v1 est sortie récemment (en particulier il semble il y avoir des difficultés pour suivre certains comptes)
Screenshot de ma home screen sur Firefish (toujours en train de synchro les timelines vu que c'est récent)

Je dois également dire que l'installation est beaucoup simple étant donné qu'il y a un container docker de disponible et que la configuration est assez succincte mais suffisante. Au final j'ai peut-être mis 2h pour mettre en place cette instance.

Mais parlons du sujet principal, comment mettre en place l'Object Storage sur Firefish en passant par Vultr. En fait c'est très simple quand on connait le truc mais plus compliqué quand ce n'est pas le cas.

À noter que que l'Object Storage chez Vultr coûte 5$/mois pour 1 To de stockage et 1 To de données transférées par mois (et qu'ensuite c'est 10$ supplémentaire par To transféré et 0,005$ pour chaque Go de stockage en plus). En tout cas ça devrait vous tenir un très long moment, surtout si vous faites du nettoyage de temps en temps.

Évidemment la première étape est de créer l'Object Storage puis le bucket dans l'interface de Vultr (pensez bien à choisir comme localisation Amsterdam et non pas un datacenter US).

Ensuite il faut aller dans l'interface de Firefish et d'aller dans le Panneau de Contrôle puis le menu "Stockage d'objets" (ou Object Storage en anglais). Et c'est à partir de là que c'est un poil technique dans le sens où les libellés ne sont pas forcément ultra clair dans ce qu'il faut renseigner, donc je vais les reprendre un à un.

L'écran de configuration de l'object storage sur Firefish
  • Base URL : c'est l'url de base amenant aux fichiers du bucket, par exemple "https://ams1.vultrobjects.com/mybucket"
  • Bucket : ça c'est simple, c'est le nom du bucket qui est utilisé. Exemple : "mybucket"
  • Prefix : c'est si on souhaite enregistrer les données dans l'object storage dans un sous-dossier. Exemple : "upload", dans ce cas tous les fichiers seront enregistrés dans le dossier "upload" du bucket "mybucket".
  • Endpoint : c'est le host de l'endroit où se trouve le bucket, dans notre cas c'est "ams1.vultrobjects.com".
  • Région : ça ne concerne que AWS donc on laisse vide.
  • Access key : c'est la clé pour pouvoir uploader sur le bucket
  • Secret key : c'est la clé secrète pour permettre d'uploader sur le bucket (afin de confirmer que c'est bien un accès autorisé)
  • Utiliser SSL : tout simplement passer par une connexion SSL pour uploader les fichiers, je recommande d'activer cette option.
  • Se connecter via proxy : c'est à activer si vous passer par un proxy pour accéder à l'Object Storage
⚠️
Extrêmement important pour l'option ci-dessous
  • Régler sur "public" lors de l'envoi : c'est absolument important d'activer cette option, sinon les fichiers que vous uploaderez sur le bucket ne seront pas accessibles hors du bucket (ce qui signifie que les images ne s'afficheront pas) parce que par défaut les buckets Vultr sont privés (et il n'y a pas d'option pour le rendre public par défaut)
  • s3ForcePathStyle : c'est pour forcer l'utiliser l'API S3 pour s'occuper des uploads, et que du coup je recommande d'activer (car les buckets Vultr sont compatibles avec l'API S3)

Normalement si vous tentez d'uploader un ficher sur votre instance (comme un avatar, un background pour votre profil ou simplement une image pour un post), elle sera stocké sur le bucket. Si l'upload échoue, c'est que vous avez indiqué une mauvaise information dans la configuration ci-dessus.

Un exemple des fichiers qui sont désormais sur mon bucket

Have fun !