forked from PromClick/PromClick
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
124 lines (114 loc) · 3.26 KB
/
Copy pathdocker-compose.yaml
File metadata and controls
124 lines (114 loc) · 3.26 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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# PromClick — all-in-one demo stack
#
# Usage:
# docker compose up -d
# # Wait ~60s for data, then open:
# # http://localhost:3000 — Grafana (admin/admin)
# # http://localhost:9099 — PromClick UI
# # http://localhost:9090 — Prometheus
# # http://localhost:3001 — ClickHouse schema visualization
services:
clickhouse:
image: clickhouse/clickhouse-server:25.4
container_name: promclick-ch
ports:
- "8123:8123"
- "9000:9000"
environment:
CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1
CLICKHOUSE_PASSWORD: ""
volumes:
- ./deploy/clickhouse/init.sql:/docker-entrypoint-initdb.d/init.sql
- ch-data:/var/lib/clickhouse
healthcheck:
test: ["CMD", "clickhouse-client", "--query", "SELECT 1"]
interval: 5s
timeout: 3s
retries: 10
node-exporter:
image: prom/node-exporter:v1.9.0
container_name: promclick-node-exporter
command: ["--path.procfs=/host/proc", "--path.sysfs=/host/sys", "--path.rootfs=/rootfs"]
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
pid: host
prometheus:
image: prom/prometheus:v3.1.0
container_name: promclick-prom
ports:
- "9090:9090"
command:
- --config.file=/etc/prometheus/prometheus.yaml
- --storage.tsdb.retention.time=2h
- --enable-feature=remote-write-receiver
volumes:
- ./deploy/prometheus.yaml:/etc/prometheus/prometheus.yaml
depends_on:
clickhouse:
condition: service_healthy
promclick-proxy:
image: ghcr.io/digitalis-io/promclick:0.1.0
container_name: promclick-proxy
entrypoint: ["promclick-proxy"]
command: ["--config", "proxy.yaml"]
ports:
- "9099:9099"
volumes:
- ./deploy/proxy.yaml:/app/proxy.yaml
depends_on:
clickhouse:
condition: service_healthy
restart: unless-stopped
promclick-writer:
image: ghcr.io/digitalis-io/promclick:0.1.0
container_name: promclick-writer
entrypoint: ["promclick-writer"]
command: ["--config", "writer.yaml"]
ports:
- "9091:9091"
volumes:
- ./deploy/writer.yaml:/app/writer.yaml
depends_on:
clickhouse:
condition: service_healthy
restart: unless-stopped
promclick-downsampler:
image: ghcr.io/digitalis-io/promclick:0.1.0
container_name: promclick-downsampler
entrypoint: ["promclick-downsampler"]
command: ["--config", "downsampler.yaml"]
volumes:
- ./deploy/downsampler.yaml:/app/downsampler.yaml
depends_on:
clickhouse:
condition: service_healthy
grafana:
image: grafana/grafana:11.4.0
container_name: promclick-grafana
ports:
- "3000:3000"
environment:
GF_SECURITY_ADMIN_PASSWORD: admin
GF_AUTH_ANONYMOUS_ENABLED: "true"
GF_AUTH_ANONYMOUS_ORG_ROLE: Admin
volumes:
- ./deploy/grafana/provisioning:/etc/grafana/provisioning
depends_on:
- promclick-proxy
- prometheus
ch-flow:
image: mikeamputer/ch-flow:0.4.3
container_name: promclick-ch-flow
environment:
CHF_DB_URL: "http://clickhouse:8123"
CHF_DB_USERNAME: "default"
CHF_DB_NAME: "metrics"
ports:
- "3001:3000"
depends_on:
clickhouse:
condition: service_healthy
volumes:
ch-data: