-
Notifications
You must be signed in to change notification settings - Fork 209
/
docker-compose-with-frontend.yml
186 lines (186 loc) · 5.91 KB
/
docker-compose-with-frontend.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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
version: '3'
services:
grafana:
container_name: grafana
depends_on:
- graphite
links:
- influxdb:influxdb
- graphite
image: grafana/grafana
build: ./grafana
user: "104"
ports:
- "8857:3000"
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
- GF_SECURITY_ADMIN_USER=admin
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_USERS_ALLOW_SIGN_UP=false
- GF_USERS_ALLOW_ORG_CREATE=false
- GF_INSTALL_PLUGINS=briangann-datatable-panel
volumes:
- grafana-home:/var/lib/grafana/
- grafana-conf:/etc/grafana/
restart: always
influxdb:
image: influxdb
build: ./influxdb
container_name: influxdb
volumes:
- influxdb:/var/lib/influxdb
ports:
- "8653:8086"
expose:
- 8653
restart: always
telegraf:
image: telegraf
build: ./telegraf
hostname: telegraf-loadgenerator
container_name: telegraf
#network_mode: "container:influxdb"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
# - "c:/:/rootfs/proc:ro"
#environment:
# - SYS_PATH_PREFIX=/rootfs
restart: always
sitespeed.io:
image: sitespeedio/sitespeed.io
container_name: sitespeed.io
command: -V
privileged: true
shm_size: 1g
volumes:
- sitespeed:/sitespeed.io/
graphite:
image: sitespeedio/graphite:1.0.2-2-b
container_name: graphite
ports:
- "2003:2003"
- "8080:80"
restart: always
volumes:
- whisper:/opt/graphite/storage/whisper
#- ./graphite/graphite.db:/opt/graphite/storage/graphite.db
#- ./graphite/conf/storage-schemas.conf:/opt/graphite/conf/storage-schemas.conf
#- ./graphite/conf/storage-aggregation.conf:/opt/graphite/conf/storage-aggregation.conf
#- ./graphite/conf/carbon.conf:/opt/graphite/conf/carbon.conf
restart: always
grafana-setup:
image: sitespeedio/grafana-bootstrap:sitespeed.io-4.6
container_name: grafana-setup
links:
- grafana
environment:
- GF_PASSWORD=admin
- GF_USER=admin
docker-dind:
image: docker:dind
volumes:
- docker-dind:/usr/local/bin
- /var/run/docker.sock:/var/run/docker.sock
container_name: docker-dind
privileged: true
restart: always
jenkins:
image: jenkins/jenkins
build: ./jenkins
depends_on:
- docker-dind
container_name: jenkins
ports:
- "8181:8080"
- "50000:50000"
environment:
# JENKINS_URL_CONFIG variable is used to set jenkins_url variable in jenkins global configuration.
# This url will be used to create links to jenkins builds in grafana dashboards, default is http://127.0.0.1:8181/
# Slash '/' should be escaped with '\'
# - JENKINS_URL_CONFIG=http:\/\/127.0.0.1:8181\/
# JENKINS_GRAFANA_URL is used for generating link to grafana report in jenkins job description
# default value is 127.0.0.1:8857
# - JENKINS_GRAFANA_URL=127.0.0.1:8857
- JENKINS_ADMIN_LOGIN=admin
- JENKINS_ADMIN_PASSWORD=admin
volumes:
- /tmp/sitespeed.io/:/var/lib/sitespeed.io/
- docker-dind:/usr/local/bin/dind/
- /var/run/docker.sock:/var/run/docker.sock
- jenkins-home:/var/jenkins_home
# if you want to run local tests uncomment line below and replace <jmeter-scenarios> on dir to your tests
#- <path to local directory with tests>:/var/lib/jmeter-scenarios/
# you need to allow docker to access host drives
# https://blogs.msdn.microsoft.com/stevelasker/2016/06/14/configuring-docker-for-windows-volumes/
# currently tests will be fetched from ./jmeter/scenarios/ directory
- ./jmeter/scenarios/:/var/lib/jmeter-scenarios/
- ./wptserver/scripts/:/var/lib/wpt-scripts/
restart: always
portainer:
image: portainer/portainer
container_name: portainer
ports:
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
restart: always
webpagetestserver:
build: ./wptserver
container_name: wptserver
image: webpagetest/server
ports:
#expose 4000 port instead of 80 when sitespeed will add webpagetest.port parameter https://github.com/sitespeedio/sitespeed.io/issues/1855
#- "4000:80"
- "80:80"
volumes:
- webpagetest-results:/var/www/html/results/
- webpagetest-settings:/var/www/html/settings/
- webpagetest-logs:/var/www/html/logs/
restart: always
webpagetestagent:
image: webpagetest/agent
container_name: wptagent
depends_on:
- webpagetestserver
ports:
- "4001:80"
environment:
- SERVER_URL=http://wptserver:80/work/
- LOCATION=Test
# You need to also pass EXTRA_ARGS="--shaper none" to tell the agent that shaping isn't possible,
# otherwise it will default to the netem shaper on Linux (in Docker) and still try to set up the configuration.
# https://github.com/WPO-Foundation/wptagent/issues/48
# -vvvvv - debug mode(more v - more detailed debug)
- EXTRA_ARGS=-vvvvv --shaper none
restart: always
jmeter:
container_name: jmeter
build: ./jmeter
image: "openjdk:8"
entrypoint:
- cat
influxdb-timeshift-proxy:
container_name: influxdb-timeshift-proxy
image: "node:alpine"
user: "node"
depends_on:
- influxdb
working_dir: /influxdb-timeshift-proxy/
environment:
- INFLUXDB=influxdb:8086
volumes:
- ./influxdb-timeshift-proxy/:/influxdb-timeshift-proxy/
expose:
- "8989"
command: sh -c "npm i -d && npm run start"
volumes:
grafana-home:
grafana-conf:
whisper:
docker-dind:
webpagetest-results:
webpagetest-settings:
webpagetest-logs:
jenkins-home:
influxdb:
sitespeed: