Ambiente server: VPS, Discourse distribuito tramite Docker in 1Panel
Questo metodo è adatto quando in app.yml non sono impostati l’ID MaxMind e la chiave, ma si scaricano automaticamente e periodicamente i file GeoLite2-City.mmdb e GeoLite2-ASN.mmdb tramite uno specchio GitHub.
Risolvi i seguenti due avvisi MaxMindDB presenti nei log degli errori:
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) non trovato: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) non trovato: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
Procedura:
1. Crea la directory maxmind sulla macchina host e imposta i permessi
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. Monta i file GeoLite2-City.mmdb e GeoLite2-ASN.mmdb sulla macchina host con la seguente configurazione:
Modifica app.yml e aggiungi:
- 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. Configura un’attività pianificata in 1Panel per scaricare e aggiornare periodicamente ogni settimana i file di geolocalizzazione GeoLite2-City.mmdb e GeoLite2-ASN.mmdb da GitHub
Lo script per l’attività pianificata è il seguente:
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
