Skip to content

Postgres and Oracle profile Compose files build backend and proxy outside the Docker context #110

Closed

Description

@fjlopez

What is wrong

profiles/postgres/docker-compose.yml and profiles/oracle/docker-compose.yml cannot build the backend or proxy images. Both services set the build context to the component directory. The Dockerfiles copy shared/sitmun-shared from the parent back/ directory, which is outside that context.

Where

  • profiles/postgres/docker-compose.yml lines 41-43 set the backend context to ../../back/backend with dockerfile: Dockerfile. Lines 81-83 set the proxy context to ../../back/proxy.
  • profiles/oracle/docker-compose.yml lines 45-47 and 86-88 do the same.
  • back/backend/Dockerfile line 7 copies shared/sitmun-shared, and line 12 copies backend/sitmun-backend-core.
  • back/proxy/Dockerfile line 7 copies shared/sitmun-shared, and line 12 copies proxy/sitmun-proxy-middleware.

Those COPY paths resolve when the context is back/. The root docker-compose.yml uses that context for the backend (lines 93-95) and the proxy (lines 137-139). They do not resolve from back/backend or back/proxy.

A Docker build was not run. The context and COPY paths are enough for the build to fail.

Why it matters

Each profile file tells a deployer to run docker compose up -d from profiles/postgres or profiles/oracle. That command cannot produce the backend or proxy image, so the standalone profiles do not start.

Fix

Delete profiles/postgres/docker-compose.yml and profiles/oracle/docker-compose.yml. The root docker-compose.yml already runs the same services: COMPOSE_PROFILES=postgres or oracle in profiles/postgres.env and profiles/oracle.env selects the database, and SITMUN_CONFIG_DIR selects the mounted profile folder. Repairing the contexts would keep two copies of the same services, which is how they drifted.

Order:

  1. Root Compose boots when the production secrets the README says are required are unset #113 makes the root compose file refuse to start without real secrets, which these two files enforce today. The development .env files set their own development values.
  2. Delete the two files. The instruction to run docker compose up -d from profiles/postgres or profiles/oracle lives only in those files. The README and postgres.env / oracle.env already say cp profiles/<name>.env .env at the root.
  3. Check that cp profiles/postgres.env .env and docker compose up -d at the root starts the stack, and that the same works for Oracle.

The repository merge (#105) needs this first, because files that do not build cannot be checked by its docker compose build step.

Fallback, if the deletion must wait: set both services to context ../../back, with dockerfile: backend/Dockerfile and dockerfile: proxy/Dockerfile, matching the root compose file.

Activity

  1. added
    bugSomething isn't working
    confirmedReproduced / accepted defect; exempt from stale bot
    on Oct 24, 2026
  2. added theissue type on Oct 24, 2026
  3. added a commit that references this issue on Oct 27, 2026
    37ed7c9
  4. fjlopez commented on Oct 27, 2026

    @fjlopez
    ContributorAuthor

    Fixed on dev by #130 (37ed7c91). profiles/postgres/docker-compose.yml and profiles/oracle/docker-compose.yml are absent on that branch.

    GitHub left this issue open because the pull request merged into dev, and the repository default branch is main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingconfirmedReproduced / accepted defect; exempt from stale bot

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions