MaxMindDB-Warnung in Fehlerprotokollen beheben

Serverumgebung: VPS, Discourse über Docker in 1Panel bereitgestellt

Geeignet für den Fall, dass in app.yml keine MaxMind-ID und kein Schlüssel festgelegt sind, sondern GeoLite2-City.mmdb und GeoLite2-ASN.mmdb automatisch und regelmäßig über ein GitHub-Mirror heruntergeladen werden.

Damit können folgende zwei MaxMindDB-Warnungen im Fehlerprotokoll behoben werden:

MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb

MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb

Ablauf:

1. Verzeichnis maxmind auf dem Host-System erstellen und Berechtigungen setzen

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. Mounten der Dateien GeoLite2-City.mmdb und GeoLite2-ASN.mmdb auf das Host-System wie folgt konfigurieren:

app.yml bearbeiten und hinzufügen:

  - 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. Über 1Panel einen geplanten Auftrag einrichten, um wöchentlich die Kartendateien GeoLite2-City.mmdb und GeoLite2-ASN.mmdb von GitHub herunterzuladen und zu aktualisieren

Skript für den geplanten Auftrag:

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