61 lines
1.4 KiB
YAML
61 lines
1.4 KiB
YAML
services:
|
|||
|
|
api:
|
||
|
|
build:
|
||
|
|
context: ./apps/api
|
||
|
|
dockerfile: Dockerfile
|
||
|
|
image: prospect-platform-api:local
|
||
|
|
environment:
|
||
|
|
APP_ENV: ${APP_ENV:-development}
|
||
|
|
API_HOST: 0.0.0.0
|
||
|
|
API_PORT: 8000
|
||
|
|
LOG_LEVEL: ${LOG_LEVEL:-INFO}
|
||
|
|
CORS_ORIGINS: ${CORS_ORIGINS:-http://localhost:8080}
|
||
|
|
DATA_DIR: /data
|
||
|
|
AUTOMATED_OUTREACH_ENABLED: "false"
|
||
|
|
ports:
|
||
|
|
- "${API_PORT:-8000}:8000"
|
||
|
|
volumes:
|
||
|
|
- prospect_api_data:/data
|
||
|
|
read_only: true
|
||
|
|
tmpfs:
|
||
|
|
- /tmp
|
||
|
|
security_opt:
|
||
|
|
- no-new-privileges:true
|
||
|
|
cap_drop:
|
||
|
|
- ALL
|
||
|
|
healthcheck:
|
||
|
|
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/api/v1/health/live', timeout=2)"]
|
||
|
|
interval: 10s
|
||
|
|
timeout: 3s
|
||
|
|
retries: 5
|
||
|
|
start_period: 5s
|
||
|
|
restart: unless-stopped
|
||
|
|
|
||
|
|
web:
|
||
|
|
build:
|
||
|
|
context: ./apps/web
|
||
|
|
dockerfile: Dockerfile
|
||
|
|
image: prospect-platform-web:local
|
||
|
|
environment:
|
||
|
|
AUTOMATED_OUTREACH_ENABLED: "false"
|
||
|
|
ports:
|
||
|
|
- "${WEB_PORT:-8080}:8080"
|
||
|
|
read_only: true
|
||
|
|
tmpfs:
|
||
|
|
- /tmp
|
||
|
|
security_opt:
|
||
|
|
- no-new-privileges:true
|
||
|
|
cap_drop:
|
||
|
|
- ALL
|
||
|
|
healthcheck:
|
||
|
|
test: ["CMD", "wget", "--spider", "--quiet", "http://127.0.0.1:8080/healthz"]
|
||
|
|
interval: 10s
|
||
|
|
timeout: 3s
|
||
|
|
retries: 5
|
||
|
|
start_period: 3s
|
||
|
|
restart: unless-stopped
|
||
|
|
|
||
|
|
volumes:
|
||
|
|
prospect_api_data:
|
||
|
|
name: prospect-platform-api-data
|