Fix Docker build: include scripts directory and tsx runtime
Problem: Docker container failed to start with REGENERATE_GIFS=true because scripts directory was not copied to production image and tsx was not available at runtime. Error: Cannot find module '/app/packages/backend/scripts/regenerate-all-gifs.ts' Root cause: 1. Dockerfile only copied dist/ and prisma/ directories, not scripts/ 2. tsx was in devDependencies, not available in production Solution: 1. Add COPY scripts directory in Dockerfile (line 69) 2. Move tsx from devDependencies to dependencies in package.json 3. Update pnpm-lock.yaml to reflect dependency change Changes: - Dockerfile: Added COPY --from=backend-builder scripts directory - package.json: Moved tsx@^4.7.0 to dependencies - pnpm-lock.yaml: Updated lockfile This allows the REGENERATE_GIFS environment variable to work correctly in production, enabling automatic GIF regeneration on container startup. Co-Authored-By: Auggie
This commit is contained in:
@@ -66,6 +66,7 @@ RUN pnpm install --frozen-lockfile
|
||||
# Copy backend build artifacts
|
||||
COPY --from=backend-builder /app/packages/backend/dist ./packages/backend/dist
|
||||
COPY --from=backend-builder /app/packages/backend/prisma ./packages/backend/prisma
|
||||
COPY --from=backend-builder /app/packages/backend/scripts ./packages/backend/scripts
|
||||
|
||||
# Copy Prisma generated client (in pnpm workspace structure)
|
||||
# We need to copy the entire .pnpm directory to preserve the Prisma client
|
||||
|
||||
Reference in New Issue
Block a user