J’héberge une petite instance Discourse sur un serveur disposant de 25 Go d’espace disque. Actuellement, il ne me reste que 3,4 Go libres, et je ne sais pas pourquoi. Cela m’empêche d’effectuer les mises à jour.
Aucun autre service ne tourne sur cette instance, et ce n’a jamais été le cas.
Jusqu’à présent, pour libérer de l’espace, j’ai :
supprimé tous les journaux que j’ai pu trouver, tant ceux de Discourse que ceux de /var/log/journal
supprimé tous mes sauvegardes Discourse sauf une
nettoyé toutes les anciennes images Docker
exécuté apt-get autoclean et apt-get autoremove
vérifié qu’aucun ancien noyau n’était présent
J’ai envisagé de déplacer mes données PostgreSQL sur un disque externe, mais elles ne font pas encore un Go, donc je ne pense pas que cela suffise à résoudre le problème.
/dev/vda1 utilise 20 Go d’espace.
Y a-t-il autre chose que je puisse faire ? 25 Go ne sont-ils plus suffisants pour faire tourner Discourse ?
Cela dépend principalement de vos téléchargements, mais aussi des sauvegardes et de PostgreSQL si votre site est très volumineux (ce qui ne semble pas être le problème ici). Quelle est la taille de vos téléchargements ? Le tableau de bord administrateur devrait l’indiquer en bas de page.
Cela fait moins de 50 Mo, ce n’est donc pas une instance volumineuse ou ancienne. Comme je l’ai mentionné, j’ai envisagé de la déplacer hors du disque principal, mais je ne pense pas que ce soit le problème majeur ici.
Si vos uploads font ~25 Mo et que votre Postgres fait ~1 Go, je suspecterais que Discourse effectue des sauvegardes dont vous n’avez pas besoin. Je vérifierais vos paramètres de rétention des sauvegardes (Admin > Paramètres > Sauvegardes) et regarderais vos sauvegardes actuelles (Admin > Sauvegardes) pour supprimer celles dont vous n’avez pas besoin.
Les plus gros consommateurs d’espace sur le système de fichiers sont /var/lib/containerd/io.containerd.content.v1.content avec 2,4 Go et /var/lib/containerd/io.containerd.snapshotter.v1.overlayfs avec pas moins de 12 Go.
Désolé, j’ai oublié de préciser que vous deviez être à l’intérieur du conteneur. Le fichier que vous avez mentionné provient de Docker. Vous pouvez vérifier ce qui l’utilise avec docker system df et effectuer un nettoyage global avec docker system prune si nécessaire, en vous assurant simplement que Discourse est en cours d’exécution lorsque vous le faites.
Dans le conteneur, la seule chose qui dépasse 1 Go est /var/www/discourse/vendor/bundle/ruby/ avec 2,1 Go.
Je précise que si je nettoie l’image avant la mise à jour, j’ai assez d’espace, mais quand j’essaie de mettre à jour et qu’elle est à nouveau téléchargée, je me retrouve à court. Donc l’image mise à jour occupe presque 5 Go.