Déplacer les chargements et les sauvegardes vers DigitalOcean Block Storage

Vous souhaitez donc déplacer tous les téléchargements et sauvegardes vers le Block Storage de DigitalOcean ?

Avant de faire cela, vous pourriez plutôt envisager Configure an S3 compatible object storage provider for uploads. Sa configuration n’est pas plus compliquée et offre d’autres avantages.

Configuration d’une instance Discourse sur DigitalOcean

Configurez une instance Discourse sur DigitalOcean en utilisant notre guide officiel.

Ajouter un volume à votre droplet

Ajoutez un volume de block storage à votre droplet. Notez le nom du volume. Dans mon cas, le nom du volume était volume-nyc1-05.

Assurez-vous que le volume est formaté et monté à /mnt/volume_nyc1_05.

Déplacer /var/discourse/shared vers le volume

Pour de meilleures performances, nous conserverons postgres_data sur notre disque principal et déplacerons le reste des données vers le volume nouvellement attaché.

Connecté en tant que root, exécutez ces commandes depuis votre serveur :

mv /var/discourse/shared/standalone/postgres_data /var/postgres_data_discourse
mv /var/discourse/shared /mnt/volume_nyc1_05

Assurez-vous de remplacer volume_nyc1_05 par le nom de votre volume.

Modifier app.yml pour refléter les changements

Ouvrez le fichier /var/discourse/containers/app.yml dans votre éditeur préféré et recherchez ce bloc :

## Le conteneur Docker est *stateless* ; toutes les données sont stockées dans /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

Remplacez le bloc ci-dessus par :

## Le conteneur Docker est *stateless* ; toutes les données sont stockées dans /shared
volumes:
  - volume:
      host: /mnt/volume_nyc1_05/shared/standalone
      guest: /shared
  - volume:
      host: /mnt/volume_nyc1_05/shared/standalone/log/var-log
      guest: /var/log
  - volume:
      host: /var/postgres_data_discourse
      guest: /shared/postgres_data

Assurez-vous de remplacer volume_nyc1_05 par le nom de votre volume.

Enregistrez le fichier app.yml et reconstruisez le conteneur.

/var/discourse/launcher rebuild app

:tada: Et voilà !

C’est tout, tous vos téléchargements et sauvegardes sont maintenant déplacés vers le Block Storage de DigitalOcean.


Crédits

Ce guide est inspiré de la suggestion de @sam ici.

37 « J'aime »

J’essaie de suivre cette approche chez Hetzner qui a un stockage similaire, mais je me demande si cela pourrait nuire à nos performances générales.

J’ai lu que cela offrirait 1/3 de la vitesse SSD, mais je parle d’une différence notable dans l’utilisation quotidienne pour les téléchargements et l’affichage de fichiers sur notre instance Discourse, car je ne suis pas sûr si ce 1/3 a un impact réel ou s’il convient pour le téléchargement de fichiers.

Bien sûr, le résultat final dépend de notre CPU, de notre RAM et du système de fichiers et de la taille des blocs utilisés.

Quelqu’un veut partager son expérience ? :slight_smile:

Merci pour le guide !

Faut-il éteindre la gouttelette avant de faire cela ? Je supposerais normalement que oui, mais comme il ne s’agit que de mélanger des téléchargements ?

Non. Créez simplement l’espace et suivez les instructions pour le monter.

Merci pour vos conseils. Une fois toutes les étapes terminées et le forum de nouveau opérationnel, nous constatons constamment des images qui n’ont pas pu être chargées. Le chemin d’accès est incorrect.

Existe-t-il un moyen de diagnostiquer cela et d’effectuer une correction automatique ?

Avez-vous fini par résoudre le problème ?

1 « J'aime »

non :frowning: je n’ai pas pu le réparer.

1 « J'aime »