services: db: image: pgvector/pgvector:pg17 container_name: veridian-db restart: unless-stopped ports: - "127.0.0.1:5432:5432" environment: POSTGRES_DB: ${POSTGRES_DB:-veridian} POSTGRES_USER: ${POSTGRES_USER:-postgres} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?Set POSTGRES_PASSWORD in .env} volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-postgres} -d ${POSTGRES_DB:-veridian}"] interval: 5s timeout: 5s retries: 5 app: build: . container_name: veridian-app restart: unless-stopped ports: - "127.0.0.1:3000:3000" depends_on: db: condition: service_healthy environment: DATABASE_URL: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB:-veridian} BETTER_AUTH_SECRET: ${BETTER_AUTH_SECRET:?Set BETTER_AUTH_SECRET in .env} NUXT_PUBLIC_URL: ${NUXT_PUBLIC_URL:?Set NUXT_PUBLIC_URL in .env} S3_ACCESS_KEY_ID: ${S3_ACCESS_KEY_ID:-} S3_SECRET_ACCESS_KEY: ${S3_SECRET_ACCESS_KEY:-} S3_BUCKET_NAME: ${S3_BUCKET_NAME:-} S3_REGION: ${S3_REGION:-} S3_ENDPOINT: ${S3_ENDPOINT:-} DISABLE_SIGNUP: ${DISABLE_SIGNUP:-} DISABLE_LOCAL_AUTH: ${DISABLE_LOCAL_AUTH:-} volumes: pgdata: