From a36d5b33c67bceddbeb4d3e639baf9fccd02c372 Mon Sep 17 00:00:00 2001 From: owenqwenstarsky Date: Sat, 24 Jan 2026 17:12:10 -0600 Subject: [PATCH] Adding a docker entrypoint script to auto migrate the database when started --- Dockerfile | 9 ++++++++- docker-entrypoint.sh | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 docker-entrypoint.sh diff --git a/Dockerfile b/Dockerfile index 26a0052..91c3083 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,6 +36,9 @@ RUN adduser --system --uid 1001 nextjs COPY --from=builder /app/public ./public COPY --from=builder /app/prisma ./prisma +# Copy node_modules for prisma CLI (needed for migrations) +COPY --from=deps /app/node_modules ./node_modules + # Set the correct permission for prerender cache RUN mkdir .next RUN chown nextjs:nodejs .next @@ -44,6 +47,10 @@ RUN chown nextjs:nodejs .next COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static +# Copy entrypoint script +COPY --chown=nextjs:nodejs docker-entrypoint.sh ./ +RUN chmod +x docker-entrypoint.sh + USER nextjs EXPOSE 3000 @@ -51,4 +58,4 @@ EXPOSE 3000 ENV PORT=3000 ENV HOSTNAME="0.0.0.0" -CMD ["node", "server.js"] +ENTRYPOINT ["./docker-entrypoint.sh"] diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000..7277f44 --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +echo "Running database migrations..." +npx prisma migrate deploy + +echo "Starting application..." +exec node server.js