From 078752858484556e297360d2795c9d521a71a8cb Mon Sep 17 00:00:00 2001 From: Elie Habib Date: Mon, 9 Mar 2026 12:43:57 +0400 Subject: [PATCH] fix(docker): move Dockerfile to docker/ to prevent Railway auto-detection (#1334) Railway auto-detects Dockerfiles at repo root and uses them for ALL services, even those set to NIXPACKS. This caused all seed services (ais-relay, seed-gpsjam, etc.) to build nginx-only containers with no node binary, breaking every Railway service. Move Dockerfile and related files to docker/ subdirectory. Railway only checks the repo root for Dockerfiles, so this prevents accidental detection. GHA workflow updated with explicit file: path. --- .github/workflows/docker-publish.yml | 1 + README.md | 2 +- Dockerfile => docker/Dockerfile | 6 +++--- docker-entrypoint.sh => docker/docker-entrypoint.sh | 0 .../nginx-security-headers.conf | 0 nginx.conf.template => docker/nginx.conf.template | 0 6 files changed, 5 insertions(+), 4 deletions(-) rename Dockerfile => docker/Dockerfile (85%) rename docker-entrypoint.sh => docker/docker-entrypoint.sh (100%) rename nginx-security-headers.conf => docker/nginx-security-headers.conf (100%) rename nginx.conf.template => docker/nginx.conf.template (100%) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 810d1538b..96e49d23d 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -38,6 +38,7 @@ jobs: - uses: docker/build-push-action@v6 with: context: . + file: docker/Dockerfile push: true platforms: linux/amd64,linux/arm64 tags: ${{ steps.meta.outputs.tags }} diff --git a/README.md b/README.md index 20082126a..419a79d73 100644 --- a/README.md +++ b/README.md @@ -404,7 +404,7 @@ The image is **frontend-only**: it serves the Vite-built static app with nginx a **Build (from repo root):** ```bash -docker build -t ghcr.io/koala73/worldmonitor:latest . +docker build -f docker/Dockerfile -t ghcr.io/koala73/worldmonitor:latest . ``` **Run (default API: `https://api.worldmonitor.app`):** diff --git a/Dockerfile b/docker/Dockerfile similarity index 85% rename from Dockerfile rename to docker/Dockerfile index d223c3e53..e497cabb2 100644 --- a/Dockerfile +++ b/docker/Dockerfile @@ -35,9 +35,9 @@ ENV API_UPSTREAM=https://api.worldmonitor.app # Copy built assets, nginx template (API_UPSTREAM substituted at startup), and entrypoint. COPY --from=builder /app/dist/ ./ -COPY nginx.conf.template /etc/nginx/nginx.conf.template -COPY nginx-security-headers.conf /etc/nginx/security_headers.conf -COPY docker-entrypoint.sh /docker-entrypoint.sh +COPY docker/nginx.conf.template /etc/nginx/nginx.conf.template +COPY docker/nginx-security-headers.conf /etc/nginx/security_headers.conf +COPY docker/docker-entrypoint.sh /docker-entrypoint.sh RUN chmod +x /docker-entrypoint.sh EXPOSE 80 diff --git a/docker-entrypoint.sh b/docker/docker-entrypoint.sh similarity index 100% rename from docker-entrypoint.sh rename to docker/docker-entrypoint.sh diff --git a/nginx-security-headers.conf b/docker/nginx-security-headers.conf similarity index 100% rename from nginx-security-headers.conf rename to docker/nginx-security-headers.conf diff --git a/nginx.conf.template b/docker/nginx.conf.template similarity index 100% rename from nginx.conf.template rename to docker/nginx.conf.template