diff --git a/Dockerfile b/Dockerfile index 16a26a4..64bbaa3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,6 +43,22 @@ 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 Prisma files for migrations +COPY --from=builder /app/prisma ./prisma +COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma +COPY --from=builder /app/node_modules/@prisma ./node_modules/@prisma + +# Install prisma CLI for migrations +RUN npm install -g prisma + +# Create entrypoint script +RUN echo '#!/bin/sh' > /app/entrypoint.sh && \ + echo 'echo "Running database migrations..."' >> /app/entrypoint.sh && \ + echo 'npx prisma migrate deploy' >> /app/entrypoint.sh && \ + echo 'echo "Starting application..."' >> /app/entrypoint.sh && \ + echo 'exec node server.js' >> /app/entrypoint.sh && \ + chmod +x /app/entrypoint.sh + USER nextjs EXPOSE 3000 @@ -51,6 +67,5 @@ ENV PORT 3000 # set hostname to localhost ENV HOSTNAME "0.0.0.0" -# server.js is created by next build from the standalone output -# https://nextjs.org/docs/pages/api-reference/next-config-js/output -CMD ["node", "server.js"] +# Run migrations then start server +CMD ["/bin/sh", "/app/entrypoint.sh"] diff --git a/docker-compose.yml b/docker-compose.yml index 6a6c5e6..27a6681 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,14 +13,14 @@ services: restart: unless-stopped minio: - image: minio/minio + image: bitnami/minio:latest container_name: portal_transparencia_minio environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER:-admin} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-password123} - command: server /data --console-address ":9001" + MINIO_DEFAULT_BUCKETS: ${MINIO_BUCKET:-portal-transparencia} volumes: - - minio_data:/data + - minio_data:/bitnami/minio/data networks: - internal restart: unless-stopped