fix(api): auto-run migrations on container start and fix ESM warning

- Add docker-entrypoint.sh that runs prisma migrate deploy before
  starting the app, ensuring all tables exist on deployment
- Add "type": "module" to package.json to eliminate Node.js ESM
  reparsing warning for eslint.config.js

Co-Authored-By: Claude Opus 4.6 <[email protected]>
This commit is contained in:
2026-02-14 16:47:57 -06:00
co-authored by Claude Opus 4.6
parent ab52827d9c
commit bcee4fa601
3 changed files with 14 additions and 2 deletions
+5 -2
View File
@@ -80,6 +80,9 @@ COPY --from=builder --chown=nestjs:nodejs /app/apps/api/package.json ./apps/api/
# Copy app's node_modules which contains symlinks to root node_modules
COPY --from=builder --chown=nestjs:nodejs /app/apps/api/node_modules ./apps/api/node_modules
# Copy entrypoint script (runs migrations before starting app)
COPY --from=builder --chown=nestjs:nodejs /app/apps/api/docker-entrypoint.sh ./apps/api/
# Set working directory to API app
WORKDIR /app/apps/api
@@ -96,5 +99,5 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
# Use dumb-init to handle signals properly
ENTRYPOINT ["dumb-init", "--"]
# Start the application
CMD ["node", "dist/main.js"]
# Run migrations then start the application
CMD ["sh", "docker-entrypoint.sh"]
+8
View File
@@ -0,0 +1,8 @@
#!/bin/sh
set -e
echo "Running database migrations..."
npx prisma migrate deploy --schema ./prisma/schema.prisma
echo "Starting application..."
exec node dist/main.js
+1
View File
@@ -2,6 +2,7 @@
"name": "@mosaic/api",
"version": "0.0.1",
"private": true,
"type": "module",
"scripts": {
"build": "nest build",
"dev": "nest start --watch",