Environnement serveur : VPS, déploiement de Discourse via Docker dans 1Panel
Ce guide s’applique au cas où vous ne configurez pas d’ID MaxMind ni de clé dans app.yml, et où vous téléchargez automatiquement et périodiquement les fichiers GeoLite2-City.mmdb et GeoLite2-ASN.mmdb via un miroir GitHub.
Cela permet de résoudre les deux avertissements MaxMindDB suivants présents dans les journaux d’erreurs :
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) could not be found: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) could not be found: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
Procédure :
1. Créer le répertoire maxmind sur l’hôte et définir les permissions
mkdir -p /opt/1panel/apps/discourse/shared/standalone/maxmind && chmod 755 /opt/1panel/apps/discourse/shared/standalone/maxmind && chown 1000:1000 /opt/1panel/apps/discourse/shared/standalone/maxmind
2. Monter les fichiers GeoLite2-City.mmdb et GeoLite2-ASN.mmdb sur l’hôte avec la configuration suivante :
Éditez app.yml et ajoutez :
- volume:
host: /opt/1panel/apps/discourse/shared/standalone/maxmind/GeoLite2-City.mmdb
guest: /var/www/discourse/vendor/data/GeoLite2-City.mmdb
- volume:
host: /opt/1panel/apps/discourse/shared/standalone/maxmind/GeoLite2-ASN.mmdb
guest: /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
3. Configurer une tâche planifiée dans 1Panel pour télécharger et mettre à jour hebdomadairement les fichiers de géolocalisation GeoLite2-City.mmdb et GeoLite2-ASN.mmdb depuis GitHub
Voici le script de la tâche planifiée :
cd /opt/1panel/apps/discourse/shared/standalone/maxmind && rm -f GeoLite2-City.mmdb GeoLite2-ASN.mmdb && wget -O GeoLite2-City.mmdb https://github.com/P3TERX/GeoLite.mmdb/raw/download/GeoLite2-City.mmdb && wget -O GeoLite2-ASN.mmdb https://github.com/P3TERX/GeoLite.mmdb/raw/download/GeoLite2-ASN.mmdb && chmod 644 GeoLite2-City.mmdb GeoLite2-ASN.mmdb && chown 1000:1000 GeoLite2-City.mmdb GeoLite2-ASN.mmdb
