From bb74e3336e5810280a3f27fbe08d45d3439da9a1 Mon Sep 17 00:00:00 2001 From: Ilia Denisov Date: Thu, 14 May 2026 01:04:11 +0200 Subject: [PATCH] dev-deploy: restore GeoIP bind-mount, drop image bake With the runner in host-mode, compose bind-mount paths resolve to real host paths the Docker daemon can see, so the GeoIP file no longer needs to be baked into the backend image to survive CI. Bring back the bind-mount of `pkg/geoip/test-data/.../mmdb`, matching how local-dev sources it. Image now only carries the backend binary, symmetric with the production `backend/Dockerfile`. Co-Authored-By: Claude Opus 4.7 (1M context) --- tools/dev-deploy/docker-compose.yml | 6 +----- tools/local-dev/backend.Dockerfile | 11 ----------- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/tools/dev-deploy/docker-compose.yml b/tools/dev-deploy/docker-compose.yml index a6e4e67..5a449df 100644 --- a/tools/dev-deploy/docker-compose.yml +++ b/tools/dev-deploy/docker-compose.yml @@ -125,11 +125,7 @@ services: target: ${GALAXY_DEV_GAME_STATE_DIR} bind: create_host_path: true - # The GeoIP database is baked into the backend image (see - # tools/local-dev/backend.Dockerfile); a bind-mount is not used - # here because the source path resolves inside the runner - # workspace volume and the host Docker daemon cannot see it, - # which produced an "is a directory" error in CI. + - ../../pkg/geoip/test-data/test-data/GeoIP2-Country-Test.mmdb:/var/lib/galaxy/geoip.mmdb:ro networks: - galaxy-internal healthcheck: diff --git a/tools/local-dev/backend.Dockerfile b/tools/local-dev/backend.Dockerfile index 01e5898..1cd01c3 100644 --- a/tools/local-dev/backend.Dockerfile +++ b/tools/local-dev/backend.Dockerfile @@ -24,16 +24,6 @@ COPY pkg/transcoder/ ./pkg/transcoder/ COPY pkg/util/ ./pkg/util/ COPY backend/ ./backend/ -# Bake the GeoIP test database into the build context so downstream -# stages can copy it into the runtime image. The path is the -# `MaxMind-DB` git submodule under `pkg/geoip/test-data/`; the file is -# the smallest country DB MaxMind publishes and is what every other -# dev-stack uses. Baking it lets dev-deploy skip the bind-mount that -# fails on runner-workspace volumes the host Docker daemon cannot see. -RUN mkdir -p /out/var/lib/galaxy -COPY pkg/geoip/test-data/test-data/GeoIP2-Country-Test.mmdb \ - /out/var/lib/galaxy/geoip.mmdb - RUN <<'EOF' cat > go.work go 1.26.2 @@ -77,6 +67,5 @@ EXPOSE 8080 EXPOSE 8081 COPY --from=builder /out/backend /usr/local/bin/backend -COPY --from=builder /out/var/lib/galaxy/geoip.mmdb /var/lib/galaxy/geoip.mmdb ENTRYPOINT ["/usr/local/bin/backend"]