-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathdocker-compose.yml
126 lines (118 loc) · 2.99 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
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
125
126
version: '3'
volumes:
grafana_data: {}
prometheus_data: {}
services:
ct-test-srv:
build:
context: .
dockerfile: docker/ct-test-srv/Dockerfile
command: ct-test-srv -config /test/config/cttestsrv.json
ports:
# Log One
- 4600:4600
# Log Two
- 4601:4601
networks:
ctnet:
ipv4_address: 10.40.50.2
aliases:
- log-one
- log-two
ct-woodpecker:
build:
context: .
dockerfile: docker/ct-woodpecker/Dockerfile
command: ct-woodpecker -config /test/config/ct-woodpecker.docker.json
ports:
# Prometheus metrics
- 1971:1971
volumes:
- .:/ct-woodpecker-src
networks:
ctnet:
ipv4_address: 10.40.50.3
aliases:
- woodpecker
depends_on:
- ct-test-srv
- mysql
mysql:
image: percona/percona-server:8.0
volumes:
# Mount the directory containing the schema; The schema will be run at
# initialization time.
- ./storage/mysql/:/docker-entrypoint-initdb.d
networks:
ctnet:
ipv4_address: 10.40.50.7
environment:
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
MYSQL_DATABASE: "woodpeckerdb"
MYSQL_USER: "woody"
MYSQL_PASSWORD: "dryocopus_pileatus"
command: mysqld --bind-address=0.0.0.0
prometheus:
image: prom/prometheus:v2.43.0
command:
- '--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:
# Prometheus UI
- 9090:9090
volumes:
- ./test/config/prometheus/:/etc/prometheus/
- prometheus_data:/prometheus
depends_on:
- ct-woodpecker
- alertmanager
networks:
ctnet:
ipv4_address: 10.40.50.4
alertmanager:
image: prom/alertmanager
command:
- '--config.file=/etc/alertmanager/config.yml'
- '--storage.path=/alertmanager'
ports:
# Alertmanager API
- 9093:9093
volumes:
- ./test/config/prometheus/alertmanager.yml:/etc/alertmanager/config.yml
networks:
ctnet:
ipv4_address: 10.40.50.5
aliases:
- alertmanager
depends_on:
# webhook alert target
- ct-test-srv
grafana:
image: grafana/grafana:latest
environment:
- "GF_SECURITY_ADMIN_USER=woodpecker"
- "GF_SECUR
421F
ITY_ADMIN_PASSWORD=woodpecker"
- "GF_LOG_LEVEL=error"
ports:
# Grafana UI
- 3000:3000
volumes:
- ./test/config/grafana/provisioning/:/etc/grafana/provisioning/
- grafana_data:/var/lib/grafana
networks:
ctnet:
ipv4_address: 10.40.50.6
aliases:
- grafana
depends_on:
# Grafana pulls metrics from prometheus
- prometheus
networks:
ctnet:
driver: bridge
ipam:
driver: default
config:
- subnet: 10.40.50.0/24