Problem
Self-hosted deployments pulling the published ghcr.io/mbombeck/healthlog image can never enable the offline GeoLite2-City/ASN databases. The in-app warning ("Online (ipwho.is) — set MAXMIND_LICENSE_KEY in CI") points to GitHub Actions secrets in HealthLog's own repo — not something a self-hoster running the published image can influence at all. So every self-hosted instance is permanently stuck on the ipwho.is online fallback, sending login IPs to a third party on every sign-in, even though a MaxMind GeoLite2 license itself is free.
Proposed solution
Support MAXMIND_LICENSE_KEY (and an account ID, if MaxMind's web service requires one) as a runtime environment variable the running container reads — e.g. downloading/refreshing the GeoLite2-City + GeoLite2-ASN .mmdb files on startup (or lazily on first use) when it's present, falling back to the current ipwho.is behavior otherwise. This would let any self-hoster supply their own free MaxMind credentials without forking and rebuilding the image.
Alternatives considered
The only current workaround is forking the repo and doing a full custom Docker build with a MaxMind key wired into a local CI-equivalent step — real effort, and it means no longer tracking the published image/release cadence. Just ignoring the warning works functionally, but means every self-hosted instance leaks login IPs to a third party for no reason, given a free first-party alternative exists.
Affected surface
Self-hosting / Docker, Admin
Additional context
Confirmed by grepping the bundled i18n strings inside the running image itself — the message explicitly reads "set MAXMIND_LICENSE_KEY in GitHub Actions secrets ... and redeploy", confirming this is CI-build-time only today, not a runtime-configurable setting, from a self-hosted deployment's perspective.
Problem
Self-hosted deployments pulling the published
ghcr.io/mbombeck/healthlogimage can never enable the offline GeoLite2-City/ASN databases. The in-app warning ("Online (ipwho.is) — set MAXMIND_LICENSE_KEY in CI") points to GitHub Actions secrets in HealthLog's own repo — not something a self-hoster running the published image can influence at all. So every self-hosted instance is permanently stuck on theipwho.isonline fallback, sending login IPs to a third party on every sign-in, even though a MaxMind GeoLite2 license itself is free.Proposed solution
Support
MAXMIND_LICENSE_KEY(and an account ID, if MaxMind's web service requires one) as a runtime environment variable the running container reads — e.g. downloading/refreshing the GeoLite2-City + GeoLite2-ASN.mmdbfiles on startup (or lazily on first use) when it's present, falling back to the currentipwho.isbehavior otherwise. This would let any self-hoster supply their own free MaxMind credentials without forking and rebuilding the image.Alternatives considered
The only current workaround is forking the repo and doing a full custom Docker build with a MaxMind key wired into a local CI-equivalent step — real effort, and it means no longer tracking the published image/release cadence. Just ignoring the warning works functionally, but means every self-hosted instance leaks login IPs to a third party for no reason, given a free first-party alternative exists.
Affected surface
Self-hosting / Docker, Admin
Additional context
Confirmed by grepping the bundled i18n strings inside the running image itself — the message explicitly reads "set MAXMIND_LICENSE_KEY in GitHub Actions secrets ... and redeploy", confirming this is CI-build-time only today, not a runtime-configurable setting, from a self-hosted deployment's perspective.