-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
135 lines (121 loc) · 3.9 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
127
128
129
130
131
132
133
134
135
version: '2'
volumes:
nextcloud:
nextcloud_db:
gitlab_config:
gitlab_logs:
gitlab_data:
letsencrypt:
runner_0_etc:
runner_0_home:
runner_tud_etc:
runner_tud_home:
services:
# ---------------------------------------------------------------------------
# Static website served at wojciechkozlowski.eu
# ---------------------------------------------------------------------------
html:
container_name: html
image: registry.wojciechkozlowski.eu/wojtek/loki/html
restart: always
# ---------------------------------------------------------------------------
# NextCloud installation available at cloud.wojciechkozlowski.eu
#
# Note about version lock:
# https://dba.stackexchange.com/questions/256427/unable-to-create-tables-with-row-format-compressed
# ---------------------------------------------------------------------------
nextcloud-db:
container_name: nextcloud-db
image: mariadb:10.5
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volumes:
- nextcloud_db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=nextcloud
- MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
restart: always
nextcloud-app:
container_name: nextcloud-app
image: registry.wojciechkozlowski.eu/wojtek/loki/nextcloud
links:
- nextcloud-db
volumes:
- nextcloud:/var/www/html
restart: always
nextcloud:
container_name: nextcloud
image: nginx
links:
- nextcloud-app
volumes:
- ./nextcloud/nginx.conf:/etc/nginx/nginx.conf:ro
volumes_from:
- nextcloud-app
restart: always
# ---------------------------------------------------------------------------
# GitLab installation available at gitlab.wojciechkozlowski.eu
# ---------------------------------------------------------------------------
gitlab:
container_name: gitlab
image: gitlab/gitlab-ce:15.2.0-ce.0
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.wojciechkozlowski.eu'
nginx['listen_port'] = 80
nginx['listen_https'] = false
registry_external_url 'https://registry.wojciechkozlowski.eu'
registry_nginx['listen_port'] = 80
registry_nginx['listen_https'] = false
# Add any other gitlab.rb configuration here, each on its own line
ports:
- '2770:22'
volumes:
- gitlab_config:/etc/gitlab
- gitlab_logs:/var/log/gitlab
- gitlab_data:/var/opt/gitlab
restart: always
# See https://docs.gitlab.com/ee/ci/docker/using_docker_build.html for how to
# register the runner for running docker-in-docker builds.
#
# Note the need to set docker-privileged.
#
# https://gitlab.com/gitlab-org/gitlab-runner/issues/4501
# Since docker 19.03 also need to set the following in config.toml:
# [[runners]]
# environment = ["DOCKER_TLS_CERTDIR="]
runner-0:
container_name: runner-0
image: gitlab/gitlab-runner
volumes:
- runner_0_etc:/etc/gitlab-runner
- runner_0_home:/home/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock
restart: always
runner-tud:
container_name: runner-tud
image: gitlab/gitlab-runner
volumes:
- runner_tud_etc:/etc/gitlab-runner
- runner_tud_home:/home/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock
restart: always
# ---------------------------------------------------------------------------
# Reverse proxy served by Nginx.
# ---------------------------------------------------------------------------
proxy:
container_name: proxy
image: registry.wojciechkozlowski.eu/wojtek/loki/proxy
ports:
- 80:80
- 443:443
links:
- html
- nextcloud
- gitlab
volumes:
- ./proxy/nginx.conf:/etc/nginx/nginx.conf:ro
- ./proxy/nginx-conf.d:/etc/nginx/conf.d:ro
- letsencrypt:/etc/letsencrypt
restart: always