services: postgres: image: pgvector/pgvector:pg16 container_name: bangwen-postgres restart: unless-stopped environment: POSTGRES_USER: bangwen POSTGRES_PASSWORD: bangwen_dev POSTGRES_DB: bangwen ports: - "127.0.0.1:5432:5432" volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U bangwen -d bangwen"] interval: 5s timeout: 5s retries: 5 core: build: context: . dockerfile: Dockerfile container_name: bangwen-core restart: unless-stopped depends_on: postgres: condition: service_healthy environment: DATABASE_URL: postgres://bangwen:bangwen_dev@postgres:5432/bangwen SERVER_HOST: "0.0.0.0" SERVER_PORT: "8080" LOG_LEVEL: info INGEST_TOKEN: ${INGEST_TOKEN:?INGEST_TOKEN must be set in .env or environment} OLLAMA_BASE_URL: ${OLLAMA_BASE_URL:-http://host.docker.internal:11434} extra_hosts: - "host.docker.internal:host-gateway" ports: - "127.0.0.1:8080:8080" collector: build: context: ./collectors dockerfile: Dockerfile container_name: bangwen-collector restart: unless-stopped depends_on: - core environment: CORE_INGEST_URL: http://core:8080/api/v1/ingest INGEST_TOKEN: ${INGEST_TOKEN:?INGEST_TOKEN must be set in .env or environment} SCHEDULE_INTERVAL_HOURS: 6 volumes: - ./collectors/config.toml:/app/config.toml:ro volumes: pgdata: