-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
84 lines (79 loc) · 2.83 KB
/
docker-compose.yml
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
version: "3.9"
services:
# === PROMETHEUS === #
prom:
# Make host.docker.internal available for all? platforms
# On certain platforms like linux or with certain alternatives for
# docker host.docker.internal is not available. This is a workaround.
# You can switch docker to host networking mode for unsupported platforms.
extra_hosts:
- host.docker.internal:host-gateway
image: prom/prometheus
entrypoint: /bin/prometheus
--enable-feature=exemplar-storage
--config.file=/etc/prometheus/prometheus.yml
--storage.tsdb.path=/prometheus
--web.console.libraries=/usr/share/prometheus/console_libraries
--web.console.templates=/usr/share/prometheus/consoles
ports:
- "${FP_PROMETHEUS_PORT:-9090}:9090"
volumes:
- prometheus_data:/prometheus
- ./prometheus/autometrics.rules.yml:/etc/prometheus/autometrics.rules.yml
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
# === ALERT MANAGER === #
alertmanager:
image: prom/alertmanager:v0.23.0
restart: unless-stopped
ports:
- "${FP_ALERTMANAGER_PORT:-9093}:9093"
volumes:
- "./alertmanager:/config"
- alertmanager_data:/data
command: --config.file=/config/alertmanager.yml --log.level=debug
# === GRAFANA === #
grafana:
image: grafana/grafana
ports:
- "${FP_GRAFANA_PORT:-9011}:9011"
# FIXME - Because the dashboard json require an input to populate "uid": "${DS_PROMETHEUS}" field,
# we cannot autoload autometrics dashboards from this path, unfortunately!
# environment:
# GF_DASHBOARDS_DEFAULT_HOME_DASHBOARD_PATH: "/var/lib/grafana/dashboards/Autometrics Overview.json"
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/provisioning:/etc/grafana/provisioning
- ./grafana/grafana.ini:/etc/grafana/grafana.ini
# FIXME - This encounters the same error described above re: autoloading dashboards
#
# - ./grafana/dashboards:/var/lib/grafana/dashboards
# === AUTOMETRICS EXPLORER === #
am-proxy:
image: autometrics/am-proxy
ports:
- "6789:6789"
environment:
- PROMETHEUS_URL=http://prom:9090
# === AGGREGATION GATEWAY === #
prometheus-push-gateway:
image: ghcr.io/zapier/prom-aggregation-gateway:v0.7.0
ports:
- "${FP_PUSH_GATEWAY_PORT:-8081}:80" # TODO
env_file:
# NOTE: "Last in wins" if there are duplicate env vars across multiple files
- ./.env
# === PROXY FOR AGGREGATION GATEWAY (sets proper CORS headers) === #
api:
build: ./api
ports:
- "${FP_API_PORT:-8082}:8080"
env_file:
- ./.env
environment:
- AGGREGATION_GATEWAY_URL=http://prometheus-push-gateway:80/metrics/
- PROMETHEUS_URL=http://prom:9090
- DEBUG=http-proxy-middleware*
volumes:
prometheus_data:
grafana_data:
alertmanager_data: