|
@@ -76,7 +76,7 @@ services:
|
|
|
build: ./nutikodu-web
|
|
build: ./nutikodu-web
|
|
|
container_name: nutikodu-web
|
|
container_name: nutikodu-web
|
|
|
restart: unless-stopped
|
|
restart: unless-stopped
|
|
|
- mem_limit: 192m
|
|
|
|
|
|
|
+ mem_limit: 512m
|
|
|
env_file:
|
|
env_file:
|
|
|
- .env
|
|
- .env
|
|
|
environment:
|
|
environment:
|
|
@@ -98,7 +98,6 @@ services:
|
|
|
clickstack:
|
|
clickstack:
|
|
|
image: docker.hyperdx.io/hyperdx/hyperdx-all-in-one:latest
|
|
image: docker.hyperdx.io/hyperdx/hyperdx-all-in-one:latest
|
|
|
container_name: clickstack
|
|
container_name: clickstack
|
|
|
- profiles: ["experimental"]
|
|
|
|
|
restart: unless-stopped
|
|
restart: unless-stopped
|
|
|
environment:
|
|
environment:
|
|
|
- TZ=Europe/Tallinn
|
|
- TZ=Europe/Tallinn
|
|
@@ -110,6 +109,11 @@ services:
|
|
|
- HYPERDX_API_KEY=790900ff1b76521b3626450576b78715
|
|
- HYPERDX_API_KEY=790900ff1b76521b3626450576b78715
|
|
|
- NEXT_PUBLIC_IS_LOCAL_MODE=true
|
|
- NEXT_PUBLIC_IS_LOCAL_MODE=true
|
|
|
- EXPRESS_SESSION_SECRET=dev_session_secret_2026
|
|
- EXPRESS_SESSION_SECRET=dev_session_secret_2026
|
|
|
|
|
+ - CLICKHOUSE_ENDPOINT=tcp://clickhouse:9000?dial_timeout=10s
|
|
|
|
|
+ - CLICKHOUSE_USER=default
|
|
|
|
|
+ - CLICKHOUSE_PASSWORD=dev_clickhouse_2026
|
|
|
|
|
+ - HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE=default
|
|
|
|
|
+ - 'DEFAULT_CONNECTIONS=[{"name":"Local ClickHouse","host":"http://default:dev_clickhouse_2026@clickhouse:8123"}]'
|
|
|
command: ["sh", "/clickstack-entry.sh"]
|
|
command: ["sh", "/clickstack-entry.sh"]
|
|
|
ports:
|
|
ports:
|
|
|
- "18080:8080" # HyperDX UI (search, dashboards)
|
|
- "18080:8080" # HyperDX UI (search, dashboards)
|
|
@@ -126,7 +130,6 @@ services:
|
|
|
clickstack-proxy:
|
|
clickstack-proxy:
|
|
|
image: nginx:alpine
|
|
image: nginx:alpine
|
|
|
container_name: clickstack-proxy
|
|
container_name: clickstack-proxy
|
|
|
- profiles: ["experimental"]
|
|
|
|
|
restart: unless-stopped
|
|
restart: unless-stopped
|
|
|
ports:
|
|
ports:
|
|
|
- "8124:8124"
|
|
- "8124:8124"
|
|
@@ -138,6 +141,64 @@ services:
|
|
|
networks:
|
|
networks:
|
|
|
- main_ai_network
|
|
- main_ai_network
|
|
|
|
|
|
|
|
|
|
+ # Hosti metrikad (node-exporter) — Prometheus endpoint :9100
|
|
|
|
|
+ node-exporter:
|
|
|
|
|
+ image: prom/node-exporter:latest
|
|
|
|
|
+ container_name: node-exporter
|
|
|
|
|
+ restart: unless-stopped
|
|
|
|
|
+ mem_limit: 128m
|
|
|
|
|
+ command:
|
|
|
|
|
+ - "--path.rootfs=/host"
|
|
|
|
|
+ - "--path.procfs=/host/proc"
|
|
|
|
|
+ - "--path.sysfs=/host/sys"
|
|
|
|
|
+ volumes:
|
|
|
|
|
+ - /proc:/host/proc:ro
|
|
|
|
|
+ - /sys:/host/sys:ro
|
|
|
|
|
+ - /:/host:ro,rslave
|
|
|
|
|
+ networks:
|
|
|
|
|
+ - main_ai_network
|
|
|
|
|
+
|
|
|
|
|
+ # Konteinerite metrikad (cadvisor) — Prometheus endpoint :8080
|
|
|
|
|
+ cadvisor:
|
|
|
|
|
+ image: gcr.io/cadvisor/cadvisor:latest
|
|
|
|
|
+ container_name: cadvisor
|
|
|
|
|
+ restart: unless-stopped
|
|
|
|
|
+ mem_limit: 256m
|
|
|
|
|
+ privileged: true
|
|
|
|
|
+ command:
|
|
|
|
|
+ - "--docker_only=true"
|
|
|
|
|
+ - "--disable_metrics=advtcp,cpu_topology,cpuset,hugetlb,memory_numa,process,referenced_memory,resctrl,sched,tcp,udp,percpu"
|
|
|
|
|
+ devices:
|
|
|
|
|
+ - /dev/kmsg
|
|
|
|
|
+ volumes:
|
|
|
|
|
+ - /:/rootfs:ro
|
|
|
|
|
+ - /var/run:/var/run:ro
|
|
|
|
|
+ - /sys:/sys:ro
|
|
|
|
|
+ - /var/lib/docker/:/var/lib/docker:ro
|
|
|
|
|
+ - /dev/disk/:/dev/disk:ro
|
|
|
|
|
+ networks:
|
|
|
|
|
+ - main_ai_network
|
|
|
|
|
+
|
|
|
|
|
+ # OTel kollektor: scrape node-exporter + cadvisor -> OTLP -> clickstack
|
|
|
|
|
+ otel-collector:
|
|
|
|
|
+ image: otel/opentelemetry-collector-contrib:latest
|
|
|
|
|
+ container_name: otel-collector
|
|
|
|
|
+ restart: unless-stopped
|
|
|
|
|
+ mem_limit: 512m
|
|
|
|
|
+ command: ["--config=/etc/otel/config.yaml"]
|
|
|
|
|
+ environment:
|
|
|
|
|
+ - HYPERDX_INGEST_KEY=${HYPERDX_INGEST_KEY}
|
|
|
|
|
+ extra_hosts:
|
|
|
|
|
+ - "host.docker.internal:host-gateway"
|
|
|
|
|
+ volumes:
|
|
|
|
|
+ - ./config/otel-collector/config.yaml:/etc/otel/config.yaml:ro
|
|
|
|
|
+ depends_on:
|
|
|
|
|
+ - clickstack
|
|
|
|
|
+ - node-exporter
|
|
|
|
|
+ - cadvisor
|
|
|
|
|
+ networks:
|
|
|
|
|
+ - main_ai_network
|
|
|
|
|
+
|
|
|
networks:
|
|
networks:
|
|
|
main_ai_network:
|
|
main_ai_network:
|
|
|
external: true
|
|
external: true
|