services: postgres: image: postgres:17 environment: POSTGRES_USER: reddit_leads POSTGRES_PASSWORD: reddit_leads POSTGRES_DB: reddit_leads ports: - "5433:5432" volumes: - postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U reddit_leads"] interval: 5s timeout: 5s retries: 20 app: build: . depends_on: postgres: condition: service_healthy # Everything else comes from .env as written, so a setting .env.example # documents reaches the app without being listed here too. env_file: - path: .env required: false environment: DATABASE_URL: postgres://reddit_leads:reddit_leads@postgres:5432/reddit_leads APP_ENCRYPTION_KEY: ${APP_ENCRYPTION_KEY:?set APP_ENCRYPTION_KEY in .env} NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: ${NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY:?set your Clerk publishable key} CLERK_SECRET_KEY: ${CLERK_SECRET_KEY:?set your Clerk secret key} # Self-hosting defaults, which .env can still override. SELF_HOSTED: ${SELF_HOSTED:-true} RUN_SCHEDULER: ${RUN_SCHEDULER:-true} HOUSE_LLM_CAP_USD_PER_DAY: ${HOUSE_LLM_CAP_USD_PER_DAY:-10} ports: - "3000:3000" volumes: postgres-data: