-
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathdocker-ci.yml
111 lines (99 loc) · 2.63 KB
/
docker-ci.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
x-common:
&common
restart: always
networks:
- backend
services:
drone-server:
<< : *common
image: drone/drone:${CI_DRONE_VERSION:-2.16.0}
volumes:
- drone-data-v1:/data:rw
networks:
- frontend
- backend
environment:
- DRONE_LOGS_DEBUG=${CI_DEBUG:-true}
# volumes:
# - type: bind
# source: /var/run/docker.sock
# target: /var/run/docker.sock
drone-docker-runner:
<< : *common
image: drone/drone-runner-docker:1
depends_on:
- drone-server
volumes:
- type: bind
source: /var/run/docker.sock
target: /var/run/docker.sock
# https://docs.drone.io/runner/docker/configuration/
environment:
- DRONE_RPC_SECRET=${DRONE_RPC_SECRET:-secret}
- DRONE_RPC_HOST=drone-server
- DRONE_RPC_PROTO=http
- DRONE_RUNNER_NAME=${DRONE_RUNNER_NAME}
- DRONE_RUNNER_CAPACITY=2
- DRONE_UI_DISABLED=${DRONE_UI_DISABLED:-true}
- DRONE_UI_USERNAME=${DRONE_UI_USERNAME:-root}
- DRONE_UI_PASSWORD=${DRONE_UI_PASSWORD:-root}
- DRONE_DEBUG=${CI_DEBUG:-true}
# - DRONE_HTTP_HOST=127.0.0.1
# - DRONE_HTTP_PROTO=http
gogs:
<< : *common
image: gogs/gogs:0.13
ports:
- "${CI_HOST:?CI_HOST}:${CI_GOGS_SSH_PORT}:22"
- "${CI_HOST:?CI_HOST}:${CI_GOGS_PORT}:3000"
networks:
- frontend
- backend
volumes:
- gogs-data:/data:rw
- ./config/nginx/ssl:/etc/nginx/conf.d/ssl:rw
- ./config/gogs/app.ini:/data/gogs/conf/app.ini:rw
registry:
<< : *common
image: registry:latest
ports:
- "${CI_HOST:?CI_HOST}:${CI_REGISTRY_PORT:-5000}:5000"
networks:
- frontend
- backend
volumes:
- ./config/registry/config.yml:/etc/docker/registry/config.yml:ro
- registry-data:/var/lib/registry:rw
mysql:
<< : *common
image: mysql:${CI_MYSQL_VERSION:-8.0.33}
env_file: secrets/mysql.env
volumes:
- mysql-data:/var/lib/mysql:rw
- ./backup/init:/docker-entrypoint-initdb.d:ro
command: ["mysqld","--character-set-server=utf8mb4","--default-authentication-plugin=mysql_native_password"]
redis:
<< : *common
image: redis:${CI_REDIS_VERSION:-7.0.0}-alpine
volumes:
- redis-data:/data
nginx:
<< : *common
# image: khs1994/nginx:${CI_NGINX_VERSION:-1.27.0}-alpine
image: nginx:${CI_NGINX_VERSION:-1.27.0}-alpine
networks:
- frontend
ports:
- "443:443"
volumes:
- ./config/nginx:/etc/nginx/conf.d
- ./logs/nginx:/var/log/nginx
volumes:
gogs-data:
redis-data:
mysql-data:
drone-data-v1:
registry-data:
networks:
backend:
frontend: