-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
58 lines (54 loc) · 1.42 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
---
version: '3.8'
services:
master:
container_name: jenkins-master
build:
context: .
dockerfile: ./docker/master/Dockerfile
env_file:
- .envs/.production/.master
environment:
- CASC_JENKINS_CONFIG=/var/jenkins_conf
ports:
# forwards only port used to communicate with JNLP agents.
# Web interface (port 8080) should be handled by nginx reverse proxy
- "50000:50000"
volumes:
- jenkins_home:/var/jenkins_home
- ./config/casc/:/var/jenkins_conf/
- /var/run/docker.sock:/var/run/docker.sock
secrets:
- admin_password
healthcheck:
# NOTE: `/login/` is requested, because it doesn't require
# authorization, other possibility is e.g. `/robots.txt`.
# `$$` is used here to escape `$`
test: |
/usr/bin/test $$(
/usr/bin/curl \
--fail http://$${VIRTUAL_HOST}/login \
--write-out "%{http_code}" \
--silent \
--output /dev/null
) -eq 200
interval: 20s
timeout: 5s
retries: 5
start_period: 2m
nginx-proxy:
image: jwilder/nginx-proxy
ports:
- "80:80"
volumes:
# TODO: support SSL/TLS
- /var/run/docker.sock:/tmp/docker.sock:ro
secrets:
# users
admin_password:
file: ./.secrets/admin_password
# docker cloud
docker_hub__skarzi:
file: ./.secrets/docker_hub__skarzi
volumes:
jenkins_home: