Quelles sont les méthodes les plus simples mais fiables pour garantir la récupération d'un forum Discourse ?

Au fil des ans, j’ai aidé des amis à héberger leur propre forum.

Je leur ai fait louer un serveur Hetzner, j’ai configuré des sauvegardes automatisées sur Discourse, et je les synchronise sur mon Google Drive à l’aide de rclone et d’une tâche cron. Chaque administrateur de chaque forum a accès à ses propres sauvegardes sur mon Drive. C’est la solution la plus simple et la plus sûre que je puisse imaginer, en tant que non-sysadmin.

Plusieurs fois, j’ai remarqué que les jetons n’étaient pas actualisés sur rClone (du moins sur une instance) et j’ai dû le reconfigurer. Comme je ne reçois aucune alerte si une synchronisation échoue, je consulte manuellement mon Drive de temps en temps pour m’assurer que les dernières sauvegardes sont récentes.

Si vous deviez aider bénévolement une personne ou une association à héberger un forum, quelle solution mettriez-vous en place pour vous assurer qu’il existe toujours des sauvegardes quelque part, qui puissent être restaurées en toute sécurité si le forum explose pour une raison quelconque ?

Je récupère des sauvegardes via rsync sur ssh, avec un compte restreint, depuis un cronjob. En fait, je ne le fais pas, mais l’un de mes modérateurs le fait. Moi, je prends et télécharge une sauvegarde lorsque je fais une mise à jour. Ainsi, dans un cas, nous pourrions perdre quelques jours d’activité du forum, et dans l’autre, un mois ou plus.

Je devrais probablement configurer mon propre crontab. Je pourrais aussi augmenter la fréquence des sauvegardes — actuellement fixée à 2 jours.

Dans les deux cas, nous devons être des administrateurs relativement compétents de nos propres systèmes. Nous ne devrions perdre le forum que si nous perdons tous les deux nos copies téléchargées et nos propres sauvegardes, ainsi que le serveur lui-même.

Édition : bon point, il faut avoir une vérification positive que le processus fonctionne, et une idée, même superficielle, que les sauvegardes téléchargées sont bonnes.

Je n’ai pas pris de précautions particulières pour le domaine : idéalement, celui-ci devrait aussi faire l’objet d’une double administration et d’une co-propriété de quelque sorte. Si nous perdions le contrôle, le forum devrait réapparaître sur un nouveau domaine — il pourrait envoyer des résumés et des notifications aux membres par e-mail, donc, avec un peu de confiance, ils pourraient réintégrer.

Je recommande S3 pour les sauvegardes. Des sauvegardes quotidiennes du forum si vous voulez être prudent. Des sauvegardes du VPS si vous voulez être vraiment prudent.

Il y a aussi :

Bon, je fais une sauvegarde de la base de données toutes les heures :man_shrugging: C’est le même principe qu’en e-commerce : il faut réfléchir au délai maximal que l’on peut et/ou souhaite accepter lors d’une restauration.

Sauvegarde sur S3 et sur un disque externe à l’aide de restic

Je suis d’accord. Si vous avez les fichiers YML contenant la configuration de S3 et que vos sauvegardes sont stockées sur S3, alors tout ce dont vous avez besoin pour restaurer le forum sur un nouveau serveur, ce sont les fichiers YML. Cela a l’avantage supplémentaire de ne pas encombrer votre disque dur avec les sauvegardes.

ATTENTION : Il faut se souvenir de payer la facture du bucket S3 ainsi que celle de la VM. Je pense que celle de Cloudflare est la moins chère ?

Une personne a perdu le contrôle de son compte AWS et a perdu toutes ses images. Il ne faut donc pas sous-estimer le simple fait de se souvenir de payer la facture.

Exactement — n’avez pas toutes les copies de vos données chez un seul fournisseur.

J’aime avoir trois copies chiffrées : l’une sur l’hôte, une autre dans le cloud (compatible S3) et la dernière sur un disque optique ou une clé USB.

En prévision d’une sauvegarde dans un stockage décentralisé, j’explore actuellement la fiabilité des options disponibles.

Je réalise actuellement une sauvegarde quotidienne et je l’envoie.
La base de données est sauvegardée via la fonctionnalité de sauvegarde intégrée à Discourse, tandis que les images d’origine sont sauvegardées en mode incrémental quotidiennement à l’aide de restic.
Tout est envoyé vers un seul service de stockage en ligne, mais l’inconvénient actuel est qu’il n’y a qu’un seul service cible. Il serait préférable, à l’avenir, d’envoyer les sauvegardes vers plusieurs services de stockage en ligne.

Utilisez des sauvegardes hors site et un stockage d’objets. J’utilise Cloudflare R2 (compatible S3) et j’ai effectué des restaurations sur différents serveurs à plusieurs reprises. C’est facile à gérer et à restaurer. De plus, utilisez une construction à double conteneur.

Une tactique utile pour ce type de questions consiste à examiner le modèle de menaces.

Nous avons déjà vu certains de ces scénarios :

  • un incendie détruit le bâtiment qui abrite votre serveur
  • vous perdez le contrôle du compte auprès de votre hébergeur
  • la personne qui contrôle votre nom de domaine est définitivement indisponible
  • vous perdez l’accès à un compte de messagerie
  • vos sauvegardes s’avèrent périmées parce que quelque chose a cessé de fonctionner
  • vous ne pouvez pas restaurer vos sauvegardes pour une raison technique quelconque
  • votre administrateur de forum est définitivement indisponible ou non coopératif

En résumé :

  • les bâtiments brûlent ou inondent
  • les gens se disputent ou décèdent
  • les entreprises changent de politique et prennent des décisions arbitraires
  • toute copie unique de données peut s’avérer corrompue ou inaccessible

Considérez chacun de ces points, pour chaque personne, chaque entreprise, chaque copie, et voyez à quoi ressemble votre vulnérabilité.

git-annex, si les aspects techniques ne vous font pas peur