feat: initialize bangwen recruitment aggregation and search engine
- Rust core engine with HTTP ingestion gateway, hybrid search, and white-box resume matching - Python edge collectors supporting declarative TOML and specialized adapters - PostgreSQL schema migrations with pgvector embedding support - Hardened security controls: strict CSP, terminal sanitization, and input boundary validation - Multi-service container orchestration with dedicated non-root execution
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
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:
|
||||
Reference in New Issue
Block a user