summaryrefslogtreecommitdiff
path: root/docker-compose.yml
diff options
context:
space:
mode:
Diffstat (limited to 'docker-compose.yml')
-rw-r--r--docker-compose.yml85
1 files changed, 82 insertions, 3 deletions
diff --git a/docker-compose.yml b/docker-compose.yml
index 63630ff..60462ec 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -10,15 +10,21 @@ services:
interval: 5s
timeout: 3s
retries: 5
+ networks: [internal]
+ deploy:
+ resources:
+ limits:
+ memory: 256M
+ cpus: '0.5'
postgres:
image: postgres:16-alpine
ports:
- "5432:5432"
environment:
- POSTGRES_USER: trading
- POSTGRES_PASSWORD: trading
- POSTGRES_DB: trading
+ POSTGRES_USER: ${POSTGRES_USER:-trading}
+ POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-trading}
+ POSTGRES_DB: ${POSTGRES_DB:-trading}
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
@@ -26,6 +32,12 @@ services:
interval: 5s
timeout: 3s
retries: 5
+ networks: [internal]
+ deploy:
+ resources:
+ limits:
+ memory: 256M
+ cpus: '0.5'
data-collector:
build:
@@ -45,6 +57,12 @@ services:
timeout: 5s
retries: 3
restart: unless-stopped
+ networks: [internal]
+ deploy:
+ resources:
+ limits:
+ memory: 512M
+ cpus: '1.0'
strategy-engine:
build:
@@ -64,6 +82,12 @@ services:
timeout: 5s
retries: 3
restart: unless-stopped
+ networks: [internal]
+ deploy:
+ resources:
+ limits:
+ memory: 1G
+ cpus: '1.0'
order-executor:
build:
@@ -83,6 +107,12 @@ services:
timeout: 5s
retries: 3
restart: unless-stopped
+ networks: [internal]
+ deploy:
+ resources:
+ limits:
+ memory: 512M
+ cpus: '1.0'
portfolio-manager:
build:
@@ -102,6 +132,12 @@ services:
timeout: 5s
retries: 3
restart: unless-stopped
+ networks: [internal]
+ deploy:
+ resources:
+ limits:
+ memory: 512M
+ cpus: '1.0'
api:
build:
@@ -121,6 +157,12 @@ services:
timeout: 5s
retries: 3
restart: unless-stopped
+ networks: [internal]
+ deploy:
+ resources:
+ limits:
+ memory: 512M
+ cpus: '1.0'
news-collector:
build:
@@ -140,6 +182,12 @@ services:
timeout: 5s
retries: 3
restart: unless-stopped
+ networks: [internal]
+ deploy:
+ resources:
+ limits:
+ memory: 512M
+ cpus: '1.0'
loki:
image: grafana/loki:latest
@@ -150,6 +198,12 @@ services:
- ./monitoring/loki/loki-config.yaml:/etc/loki/local-config.yaml
- loki_data:/loki
command: -config.file=/etc/loki/local-config.yaml
+ networks: [monitoring]
+ deploy:
+ resources:
+ limits:
+ memory: 512M
+ cpus: '1.0'
promtail:
image: grafana/promtail:latest
@@ -160,6 +214,12 @@ services:
command: -config.file=/etc/promtail/config.yaml
depends_on:
- loki
+ networks: [monitoring]
+ deploy:
+ resources:
+ limits:
+ memory: 512M
+ cpus: '1.0'
prometheus:
image: prom/prometheus:latest
@@ -168,11 +228,18 @@ services:
- "9090:9090"
volumes:
- ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml
+ - ./monitoring/prometheus/alert_rules.yml:/etc/prometheus/alert_rules.yml
depends_on:
- data-collector
- strategy-engine
- order-executor
- portfolio-manager
+ networks: [internal, monitoring]
+ deploy:
+ resources:
+ limits:
+ memory: 512M
+ cpus: '1.0'
grafana:
image: grafana/grafana:latest
@@ -187,8 +254,20 @@ services:
- ./monitoring/grafana/dashboards:/var/lib/grafana/dashboards
depends_on:
- prometheus
+ networks: [internal, monitoring]
+ deploy:
+ resources:
+ limits:
+ memory: 512M
+ cpus: '1.0'
volumes:
redis_data:
postgres_data:
loki_data:
+
+networks:
+ internal:
+ driver: bridge
+ monitoring:
+ driver: bridge