|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
services: |
|
|
|
|
|
|
|
|
db: |
|
|
image: postgres:15 |
|
|
container_name: agentic_hr_db |
|
|
restart: always |
|
|
ports: |
|
|
- "5433:5432" |
|
|
volumes: |
|
|
- postgres_data:/var/lib/postgresql/data |
|
|
healthcheck: |
|
|
test: ["CMD-SHELL", "pg_isready -U agentic_user -d agentic_hr"] |
|
|
interval: 3s |
|
|
timeout: 3s |
|
|
retries: 5 |
|
|
|
|
|
|
|
|
env_file: |
|
|
- ../.env |
|
|
environment: |
|
|
POSTGRES_HOST: ${POSTGRES_HOST} |
|
|
POSTGRES_PORT: ${POSTGRES_PORT} |
|
|
POSTGRES_USER: ${POSTGRES_USER} |
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} |
|
|
POSTGRES_DB: ${POSTGRES_DB} |
|
|
networks: |
|
|
- hrnet |
|
|
|
|
|
candidates_db_init: |
|
|
|
|
|
|
|
|
|
|
|
container_name: candidates_db_init |
|
|
build: |
|
|
context: .. |
|
|
dockerfile: docker/Dockerfile.candidates_db_init |
|
|
depends_on: |
|
|
db: |
|
|
condition: service_healthy |
|
|
|
|
|
|
|
|
env_file: |
|
|
- ../.env |
|
|
environment: |
|
|
|
|
|
POSTGRES_HOST: db |
|
|
POSTGRES_PORT: 5432 |
|
|
POSTGRES_USER: ${POSTGRES_USER} |
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} |
|
|
POSTGRES_DB: ${POSTGRES_DB} |
|
|
command: ["python", "-m", "src.backend.database.candidates.init_db"] |
|
|
|
|
|
volumes: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- ../:/app |
|
|
|
|
|
networks: |
|
|
- hrnet |
|
|
|
|
|
|
|
|
cv_upload_streamlit: |
|
|
container_name: cv_upload_streamlit |
|
|
build: |
|
|
context: .. |
|
|
dockerfile: docker/Dockerfile.cv_upload |
|
|
ports: |
|
|
- "8501:8501" |
|
|
depends_on: |
|
|
- db |
|
|
- supervisor_api |
|
|
env_file: |
|
|
- ../.env |
|
|
environment: |
|
|
|
|
|
POSTGRES_HOST: db |
|
|
POSTGRES_PORT: 5432 |
|
|
POSTGRES_USER: ${POSTGRES_USER} |
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} |
|
|
POSTGRES_DB: ${POSTGRES_DB} |
|
|
DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB} |
|
|
CV_UPLOAD_PATH: /app/src/backend/database/cvs/uploads |
|
|
|
|
|
CV_UPLOAD_API_URL: http://supervisor_api:8080/api/v1/cv |
|
|
PYTHONPATH: /app |
|
|
volumes: |
|
|
|
|
|
- ../:/app |
|
|
|
|
|
- ../src/backend/database/cvs:/app/src/backend/database/cvs |
|
|
command: ["streamlit", "run", "src/frontend/streamlit/cv_ui/app.py", "--server.port=8501", "--server.address=0.0.0.0"] |
|
|
networks: |
|
|
- hrnet |
|
|
|
|
|
|
|
|
websocket_proxy: |
|
|
container_name: websocket_proxy |
|
|
build: |
|
|
context: .. |
|
|
dockerfile: docker/Dockerfile.voice_proxy |
|
|
ports: |
|
|
- "8000:8000" |
|
|
env_file: |
|
|
- ../.env |
|
|
depends_on: |
|
|
- db |
|
|
- candidates_db_init |
|
|
environment: |
|
|
PYTHONPATH: /app |
|
|
OPENAI_API_KEY: ${OPENAI_API_KEY} |
|
|
BACKEND_API_URL: http://supervisor_api:8080 |
|
|
|
|
|
POSTGRES_HOST: db |
|
|
POSTGRES_PORT: 5432 |
|
|
POSTGRES_USER: ${POSTGRES_USER} |
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} |
|
|
POSTGRES_DB: ${POSTGRES_DB} |
|
|
volumes: |
|
|
|
|
|
- ../:/app |
|
|
command: ["python", "-m", "uvicorn", "src.frontend.streamlit.voice_screening_ui.proxy:app", "--host", "0.0.0.0", "--port", "8000"] |
|
|
networks: |
|
|
- hrnet |
|
|
|
|
|
|
|
|
voice_screening_ui: |
|
|
container_name: voice_screening_ui |
|
|
build: |
|
|
context: .. |
|
|
dockerfile: docker/Dockerfile.voice_screening |
|
|
ports: |
|
|
- "8502:8501" |
|
|
depends_on: |
|
|
- db |
|
|
- websocket_proxy |
|
|
env_file: |
|
|
- ../.env |
|
|
environment: |
|
|
DATABASE_URL: postgresql://agentic_user:password123@db:5432/agentic_hr |
|
|
PYTHONPATH: /app |
|
|
WEBSOCKET_PROXY_URL: ws://websocket_proxy:8000/ws/realtime |
|
|
BACKEND_API_URL: http://supervisor_api:8080 |
|
|
volumes: |
|
|
|
|
|
- ../:/app |
|
|
command: ["streamlit", "run", "src/frontend/streamlit/voice_screening_ui/app.py", "--server.port=8501", "--server.address=0.0.0.0"] |
|
|
networks: |
|
|
- hrnet |
|
|
|
|
|
|
|
|
supervisor_api: |
|
|
container_name: supervisor_api |
|
|
build: |
|
|
context: .. |
|
|
dockerfile: docker/Dockerfile.supervisor_api |
|
|
ports: |
|
|
- "8080:8080" |
|
|
depends_on: |
|
|
- db |
|
|
env_file: |
|
|
- ../.env |
|
|
environment: |
|
|
|
|
|
POSTGRES_HOST: db |
|
|
POSTGRES_PORT: 5432 |
|
|
POSTGRES_USER: ${POSTGRES_USER} |
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} |
|
|
POSTGRES_DB: ${POSTGRES_DB} |
|
|
PYTHONPATH: /app |
|
|
PROMPTLAYER_API_KEY: ${PROMPTLAYER_API_KEY} |
|
|
OPENAI_API_KEY: ${OPENAI_API_KEY} |
|
|
WEBSOCKET_PROXY_URL: ws://websocket_proxy:8000/ws/realtime |
|
|
CV_UPLOAD_PATH: /app/src/backend/database/cvs/uploads |
|
|
CV_PARSED_PATH: /app/src/backend/database/cvs/parsed |
|
|
volumes: |
|
|
|
|
|
- ../:/app |
|
|
command: ["uvicorn", "src.backend.api.app:app", "--host", "0.0.0.0", "--port", "8080", "--reload"] |
|
|
networks: |
|
|
- hrnet |
|
|
|
|
|
|
|
|
supervisor_ui: |
|
|
container_name: supervisor_ui |
|
|
build: |
|
|
context: .. |
|
|
dockerfile: docker/Dockerfile.supervisor |
|
|
ports: |
|
|
- "8503:8501" |
|
|
depends_on: |
|
|
- db |
|
|
- supervisor_api |
|
|
env_file: |
|
|
- ../.env |
|
|
environment: |
|
|
|
|
|
PYTHONPATH: /app |
|
|
|
|
|
SUPERVISOR_API_URL: http://supervisor_api:8080/api/v1/supervisor |
|
|
volumes: |
|
|
|
|
|
- ../:/app |
|
|
command: |
|
|
[ |
|
|
"streamlit", |
|
|
"run", |
|
|
"src/frontend/streamlit/supervisor_ui/app.py", |
|
|
"--server.port=8501", |
|
|
"--server.address=0.0.0.0", |
|
|
] |
|
|
networks: |
|
|
- hrnet |
|
|
|
|
|
volumes: |
|
|
postgres_data: |
|
|
cvs_data: |
|
|
driver: local |
|
|
|
|
|
networks: |
|
|
hrnet: |
|
|
driver: bridge |
|
|
|