feat: Add debug output to Dockerfiles and .dockerignore
- Add .dockerignore to exclude node_modules, dist, and build artifacts - Add pre/post build directory listings to diagnose dist not found issue - Disable turbo cache temporarily with --force flag - Add --verbosity=2 for more detailed turbo output Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
58
.dockerignore
Normal file
58
.dockerignore
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
# Dependencies (installed fresh in Docker)
|
||||||
|
node_modules
|
||||||
|
**/node_modules
|
||||||
|
|
||||||
|
# Build outputs (built fresh in Docker)
|
||||||
|
dist
|
||||||
|
**/dist
|
||||||
|
.next
|
||||||
|
**/.next
|
||||||
|
|
||||||
|
# TurboRepo cache
|
||||||
|
.turbo
|
||||||
|
**/.turbo
|
||||||
|
|
||||||
|
# IDE
|
||||||
|
.idea
|
||||||
|
.vscode
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
|
||||||
|
# OS
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
# Environment files
|
||||||
|
.env
|
||||||
|
.env.*
|
||||||
|
!.env.example
|
||||||
|
|
||||||
|
# Credentials
|
||||||
|
.admin-credentials
|
||||||
|
|
||||||
|
# Testing
|
||||||
|
coverage
|
||||||
|
**/coverage
|
||||||
|
|
||||||
|
# Logs
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
*.tsbuildinfo
|
||||||
|
**/*.tsbuildinfo
|
||||||
|
.pnpm-approve-builds
|
||||||
|
.husky/_
|
||||||
|
|
||||||
|
# Git
|
||||||
|
.git
|
||||||
|
.gitignore
|
||||||
|
|
||||||
|
# Docker
|
||||||
|
Dockerfile*
|
||||||
|
docker-compose*.yml
|
||||||
|
.dockerignore
|
||||||
|
|
||||||
|
# Documentation (not needed in container)
|
||||||
|
docs
|
||||||
|
*.md
|
||||||
|
!README.md
|
||||||
@@ -46,11 +46,25 @@ COPY --from=deps /app/packages/shared/node_modules ./packages/shared/node_module
|
|||||||
COPY --from=deps /app/packages/config/node_modules ./packages/config/node_modules
|
COPY --from=deps /app/packages/config/node_modules ./packages/config/node_modules
|
||||||
COPY --from=deps /app/apps/api/node_modules ./apps/api/node_modules
|
COPY --from=deps /app/apps/api/node_modules ./apps/api/node_modules
|
||||||
|
|
||||||
|
# Debug: Show what we have before building
|
||||||
|
RUN echo "=== Pre-build directory structure ===" && \
|
||||||
|
echo "--- packages/config/typescript ---" && ls -la packages/config/typescript/ && \
|
||||||
|
echo "--- packages/shared (top level) ---" && ls -la packages/shared/ && \
|
||||||
|
echo "--- packages/shared/src ---" && ls -la packages/shared/src/ && \
|
||||||
|
echo "--- apps/api (top level) ---" && ls -la apps/api/ && \
|
||||||
|
echo "--- apps/api/src (exists?) ---" && ls apps/api/src/*.ts | head -5 && \
|
||||||
|
echo "--- node_modules/@mosaic (symlinks?) ---" && ls -la node_modules/@mosaic/ 2>/dev/null || echo "No @mosaic in node_modules"
|
||||||
|
|
||||||
# Build the API app and its dependencies using TurboRepo
|
# Build the API app and its dependencies using TurboRepo
|
||||||
# This ensures @mosaic/shared is built first, then prisma:generate, then the API
|
# This ensures @mosaic/shared is built first, then prisma:generate, then the API
|
||||||
# Cache TurboRepo build outputs for faster subsequent builds
|
# Disable turbo cache temporarily to ensure fresh build and see full output
|
||||||
RUN --mount=type=cache,id=turbo-cache,target=/app/.turbo \
|
RUN pnpm turbo build --filter=@mosaic/api --force --verbosity=2
|
||||||
pnpm turbo build --filter=@mosaic/api
|
|
||||||
|
# Debug: Show what was built
|
||||||
|
RUN echo "=== Post-build directory structure ===" && \
|
||||||
|
echo "--- packages/shared/dist ---" && ls -la packages/shared/dist/ 2>/dev/null || echo "NO dist in shared" && \
|
||||||
|
echo "--- apps/api/dist ---" && ls -la apps/api/dist/ 2>/dev/null || echo "NO dist in api" && \
|
||||||
|
echo "--- apps/api/dist contents (if exists) ---" && find apps/api/dist -type f 2>/dev/null | head -10 || echo "Cannot find dist files"
|
||||||
|
|
||||||
# ======================
|
# ======================
|
||||||
# Production stage
|
# Production stage
|
||||||
|
|||||||
@@ -51,11 +51,23 @@ COPY --from=deps /app/apps/web/node_modules ./apps/web/node_modules
|
|||||||
ARG NEXT_PUBLIC_API_URL
|
ARG NEXT_PUBLIC_API_URL
|
||||||
ENV NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL}
|
ENV NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL}
|
||||||
|
|
||||||
|
# Debug: Show what we have before building
|
||||||
|
RUN echo "=== Pre-build directory structure ===" && \
|
||||||
|
echo "--- packages/config/typescript ---" && ls -la packages/config/typescript/ && \
|
||||||
|
echo "--- packages/shared (top level) ---" && ls -la packages/shared/ && \
|
||||||
|
echo "--- packages/ui (top level) ---" && ls -la packages/ui/ && \
|
||||||
|
echo "--- apps/web (top level) ---" && ls -la apps/web/
|
||||||
|
|
||||||
# Build the web app and its dependencies using TurboRepo
|
# Build the web app and its dependencies using TurboRepo
|
||||||
# This ensures @mosaic/shared and @mosaic/ui are built first
|
# This ensures @mosaic/shared and @mosaic/ui are built first
|
||||||
# Cache TurboRepo build outputs for faster subsequent builds
|
# Disable turbo cache temporarily to ensure fresh build
|
||||||
RUN --mount=type=cache,id=turbo-cache,target=/app/.turbo \
|
RUN pnpm turbo build --filter=@mosaic/web --force
|
||||||
pnpm turbo build --filter=@mosaic/web
|
|
||||||
|
# Debug: Show what was built
|
||||||
|
RUN echo "=== Post-build directory structure ===" && \
|
||||||
|
echo "--- packages/shared/dist ---" && ls -la packages/shared/dist/ 2>/dev/null || echo "NO dist in shared" && \
|
||||||
|
echo "--- packages/ui/dist ---" && ls -la packages/ui/dist/ 2>/dev/null || echo "NO dist in ui" && \
|
||||||
|
echo "--- apps/web/.next ---" && ls -la apps/web/.next/ 2>/dev/null || echo "NO .next in web"
|
||||||
|
|
||||||
# Ensure public directory exists (may be empty)
|
# Ensure public directory exists (may be empty)
|
||||||
RUN mkdir -p ./apps/web/public
|
RUN mkdir -p ./apps/web/public
|
||||||
|
|||||||
Reference in New Issue
Block a user