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:
@@ -20,7 +20,8 @@ ENV PATH="/root/.local/bin:${PATH}"
|
|||||||
FROM base AS deps
|
FROM base AS deps
|
||||||
|
|
||||||
# Copy only dependency metadata first for better build caching
|
# 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)
|
# Create venv and sync deps (including runtime)
|
||||||
RUN uv sync --frozen --no-dev
|
RUN uv sync --frozen --no-dev
|
||||||
|
|||||||
@@ -28,7 +28,8 @@ ENV NODE_ENV=production
|
|||||||
ENV NEXT_PUBLIC_API_URL=http://localhost:8000
|
ENV NEXT_PUBLIC_API_URL=http://localhost:8000
|
||||||
|
|
||||||
COPY --from=builder /app/.next ./.next
|
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/package.json ./package.json
|
||||||
COPY --from=builder /app/node_modules ./node_modules
|
COPY --from=builder /app/node_modules ./node_modules
|
||||||
COPY --from=builder /app/next.config.ts ./next.config.ts
|
COPY --from=builder /app/next.config.ts ./next.config.ts
|
||||||
|
|||||||
Reference in New Issue
Block a user