version: '3.8' services: nextjs-app: build: context: . dockerfile: Dockerfile args: NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: ${NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY} OPENAI_API_KEY: ${OPENAI_API_KEY} restart: unless-stopped environment: NODE_ENV: production HOSTNAME: "0.0.0.0" PORT: "3000" CLERK_SECRET_KEY: ${CLERK_SECRET_KEY} DATABASE_URL: ${DATABASE_URL} MINIO_ENDPOINT: ${MINIO_ENDPOINT} MINIO_PORT: ${MINIO_PORT} MINIO_USE_SSL: ${MINIO_USE_SSL} MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY} MINIO_SECRET_KEY: ${MINIO_SECRET_KEY} MINIO_BUCKET_NAME: ${MINIO_BUCKET_NAME} OPENAI_API_KEY: ${OPENAI_API_KEY} ENCRYPTION_KEY: ${ENCRYPTION_KEY} GEMINI_API_KEY: ${GEMINI_API_KEY} MISTRAL_API_KEY: ${MISTRAL_API_KEY} networks: - dokploy-network healthcheck: test: ["CMD", "node", "-e", "require('http').get('http://localhost:3000', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"] interval: 30s timeout: 5s start_period: 60s retries: 5 networks: dokploy-network: external: true