fix: dockerfiles build in compose context

- backend: copy dependency lockfiles from backend/ when build context is repo root
- frontend: don't copy public/ when it doesn't exist
This commit is contained in:
Arjun (OpenClaw)
2026-02-07 15:57:25 +00:00
parent 7b5ee230f5
commit c65b225ba7
2 changed files with 4 additions and 2 deletions

View File

@@ -20,7 +20,8 @@ ENV PATH="/root/.local/bin:${PATH}"
FROM base AS deps
# Copy only dependency metadata first for better build caching
COPY pyproject.toml uv.lock ./
# NOTE: compose builds backend with repo-root context, so files live under /backend.
COPY backend/pyproject.toml backend/uv.lock ./
# Create venv and sync deps (including runtime)
RUN uv sync --frozen --no-dev

View File

@@ -28,7 +28,8 @@ ENV NODE_ENV=production
ENV NEXT_PUBLIC_API_URL=http://localhost:8000
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/public ./public
# `public/` is optional in Next.js apps; repo may not have it.
# Avoid failing the build when the directory is absent.
COPY --from=builder /app/package.json ./package.json
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/next.config.ts ./next.config.ts