-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
93 lines (89 loc) · 2.91 KB
/
Copy pathdocker-compose.yml
File metadata and controls
93 lines (89 loc) · 2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
services:
# 1. Geopolitical & Operational Threat Monitor
# Monitos country-level threats from real-time news streams
threat-monitor:
build:
context: ./country_monitoring/country_level_threats
dockerfile: Dockerfile
container_name: country-threat-monitor
ports:
- "8081:8081" # FastAPI Proxy
- "8082:8082" # Pathway RAG API
volumes:
- ./country_monitoring/country_level_threats/data:/app/data
- ./country_monitoring/country_level_threats/output:/app/output
- ./simulate_data_stream:/app/simulate_data_stream
env_file:
- ./country_monitoring/country_level_threats/.env
environment:
- PYTHONUNBUFFERED=1
- GOOGLE_APPLICATION_CREDENTIALS=/app/credentials.json
restart: unless-stopped
# 2. Supply Chain Data Stream Simulator
# Simulates fresh data arriving for BOTH threat monitors
stream-simulator:
build:
context: ./simulate_data_stream
dockerfile: Dockerfile
container_name: stream-simulator
volumes:
- ./country_monitoring/country_level_threats/data:/app/data_country
- ./reputation_monitoring/data:/app/data_reputation
- ./simulate_data_stream:/app/simulate_data_stream
environment:
- PYTHONUNBUFFERED=1
- STREAM_FILES=/app/data_country/supply_chain_stream.csv,/app/data_reputation/supply_chain_stream.csv
- MASTER_FILE=/app/simulate_data_stream/master_supply_chain.csv
depends_on:
- threat-monitor
- reputation-monitoring
restart: unless-stopped
# 3. Compliance Engine
# Analyzes supplier documents for policy compliance
compliance-engine:
build:
context: ./compliance_engine
container_name: pathway-compliance-api
ports:
- "8001:8001"
volumes:
- ./compliance_engine/data:/app/data
- ./compliance_engine/app.py:/app/app.py
- ./compliance_engine/api.py:/app/api.py
env_file:
- ./compliance_engine/.env
environment:
- PYTHONUNBUFFERED=1
restart: unless-stopped
# 4. Reputation Risk Monitoring
# Monitors supplier reputation and fraud indicators
reputation-monitoring:
build:
context: ./reputation_monitoring
container_name: reputation-monitoring
ports:
- "8002:8002" # Pathway RAG API
- "8083:8083" # FastAPI Proxy
volumes:
- ./reputation_monitoring/data:/app/data
- ./reputation_monitoring/output:/app/output
- ./reputation_monitoring/policies:/app/policies:ro
env_file:
- ./reputation_monitoring/.env
environment:
- PYTHONUNBUFFERED=1
- GOOGLE_APPLICATION_CREDENTIALS=/app/credentials.json
restart: unless-stopped
# 5. Frontend UI (Dashboard)
# Accessible at http://localhost:3000
frontend:
build:
context: ./frontend
container_name: supply-chain-frontend
ports:
- "3000:80"
restart: unless-stopped
depends_on:
- threat-monitor
- compliance-engine
- reputation-monitoring