Skip to content

FAQ

I’m using Nginx Proxy Manager (or another proxy-manager container). What log path do I use? Point ACCESS_LOG_DIR at the host directory where the proxy container writes its access logs (for Nginx Proxy Manager this is usually its data/logs volume), and set LOGPARSER_LOG_PATHS to the specific access-log file(s) inside it, using the container path (/var/log/access/...), not the host path.

Permission denied reading my log files? The app container runs as PUID:PGID (default 1000:1000), and log mounts are read-only. Make the log files (and their parent directory) readable by that uid/gid on the host with chmod, chown or an ACL entry. Read-only mounts are intentional: GeoMetrikks never writes to your access logs.

Does this run on arm64? Yes. The GHCR image is a multi-arch manifest for linux/amd64 and linux/arm64.

The map is empty. Check four things in order: (1) the geo-degraded banner; if it shows, MaxMind credentials or the GeoLite2 database are missing; (2) that LOGPARSER_LOG_PATHS points at a file receiving traffic in a supported format (the nginx JSON log_format above, the legacy nginx format, Traefik JSON, or Caddy JSON); (3) that some time has passed since you last restarted. The map only shows events ingested after startup unless you have run a batch import. (4) that your proxy logs the visitor’s address, not an upstream proxy or tunnel; Settings > Status shows an advisory when it does not. See docs/proxy-setup.md.

What does the “geo-degraded” banner mean? The app started without a usable GeoLite2 database: either MAXMINDDB_USER_ID/MAXMINDDB_LICENSE_KEY are not set, or the download has not completed yet. The API and UI stay up, but log ingestion does not start until a database is available. Add credentials and restart the app container to clear it. The sidebar’s connection indicator also shows “Degraded” while ingestion is stopped.