diff --git a/Dockerfile b/Dockerfile index 0be9732..b2a8cde 100644 --- a/Dockerfile +++ b/Dockerfile @@ -49,6 +49,8 @@ COPY --from=builder /app/prisma ./prisma COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma COPY --from=builder /app/prisma/schema.prisma /app/schema.prisma +COPY docker-entrypoint.sh /usr/local/bin/ +RUN chmod +x /usr/local/bin/docker-entrypoint.sh USER nextjs @@ -58,4 +60,5 @@ ENV PORT=3000 ENV HOSTNAME="0.0.0.0" ENV DATABASE_URL="file:./data/dev.db" +ENTRYPOINT ["docker-entrypoint.sh"] CMD ["node", "server.js"] diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000..32dd391 --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -e + +# Initialize database if it doesn't exist or schema changed +echo "Checking database..." + +# Create data directory if it doesn't exist +mkdir -p /app/data + +# Push schema (safe - won't overwrite data, only syncs schema) +npx prisma db push --skip-generate --skip-pull + +echo "Starting application..." +exec "$@"