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 »