Show More
@@ -1,340 +1,361 b'' | |||||
1 |
|
1 | |||
2 | x-logging: &custom-logging |
|
2 | x-logging: &custom-logging | |
3 | # docker plugin install grafana/loki-docker-driver:2.7.1 --alias loki --grant-all-permissions |
|
3 | # docker plugin install grafana/loki-docker-driver:2.7.1 --alias loki --grant-all-permissions | |
4 | # NOTE: loki logging driver ONLY works for host type networks... |
|
4 | # NOTE: loki logging driver ONLY works for host type networks... | |
5 | driver: loki |
|
5 | driver: loki | |
6 | options: |
|
6 | options: | |
7 | #loki-url: "http://${RC_LOKI_AUTH}loki:3100/loki/api/v1/push" |
|
7 | #loki-url: "http://${RC_LOKI_AUTH}loki:3100/loki/api/v1/push" | |
8 | loki-url: "http://${RC_LOKI_AUTH}127.0.0.1:3100/loki/api/v1/push" |
|
8 | loki-url: "http://${RC_LOKI_AUTH}127.0.0.1:3100/loki/api/v1/push" | |
9 | loki-retries: "5" |
|
9 | loki-retries: "5" | |
10 | loki-timeout: "1s" |
|
10 | loki-timeout: "1s" | |
11 | loki-max-backoff: "800ms" |
|
11 | loki-max-backoff: "800ms" | |
12 |
|
12 | |||
13 | volumes: |
|
13 | volumes: | |
14 |
|
14 | |||
15 | # volume for redis data store |
|
15 | # volume for redis data store | |
16 | redis_data: |
|
16 | redis_data: | |
17 | labels: |
|
17 | labels: | |
18 | "keep": 1 |
|
18 | "keep": 1 | |
19 |
|
19 | |||
20 | # volume for Postgres db store |
|
20 | # volume for Postgres db store | |
21 |
|
21 | |||
22 | # volume for Postgres Data |
|
22 | # volume for Postgres Data | |
23 | pg_data: |
|
23 | pg_data: | |
24 | labels: |
|
24 | labels: | |
25 | "keep": 1 |
|
25 | "keep": 1 | |
26 |
|
26 | |||
27 | # volume for MySQL Data |
|
27 | # volume for MySQL Data | |
28 | mysql_data: |
|
28 | mysql_data: | |
29 | labels: |
|
29 | labels: | |
30 | "keep": 1 |
|
30 | "keep": 1 | |
31 |
|
31 | |||
32 | # volume for rhodecode elasticsearch |
|
32 | # volume for rhodecode elasticsearch | |
33 | es_data: |
|
33 | es_data: | |
34 | labels: |
|
34 | labels: | |
35 | "keep": 1 |
|
35 | "keep": 1 | |
36 |
|
36 | |||
37 | services: |
|
37 | services: | |
38 |
|
38 | |||
39 | channelstream: |
|
39 | channelstream: | |
40 | networks: |
|
40 | networks: | |
41 | - rhodecode_network |
|
41 | - rhodecode_network | |
42 | image: channelstream/channelstream:0.7.1 |
|
42 | image: channelstream/channelstream:0.7.1 | |
43 |
|
43 | |||
44 | restart: always |
|
44 | restart: always | |
45 |
|
45 | |||
46 | # ports: |
|
46 | # ports: | |
47 | # - "127.0.0.1:8000:8000" |
|
47 | # - "127.0.0.1:8000:8000" | |
48 | env_file: |
|
48 | env_file: | |
49 | - ${RC_ENV_FILE:?must-specify-rc-env-file} |
|
49 | - ${RC_ENV_FILE:?must-specify-rc-env-file} | |
50 | command: ["channelstream"] |
|
50 | command: ["channelstream"] | |
51 |
|
51 | |||
52 | healthcheck: |
|
52 | healthcheck: | |
53 | test: curl -A RhodeCode-Healthcheck -s -o /dev/null -w '%{http_code}' http://channelstream:8000/admin/sign_in |
|
53 | test: curl -A RhodeCode-Healthcheck -s -o /dev/null -w '%{http_code}' http://channelstream:8000/admin/sign_in | |
54 | # start_period+start_interval requires docker engine 25+ |
|
54 | # start_period+start_interval requires docker engine 25+ | |
55 | # how long the app starts with |
|
55 | # how long the app starts with | |
56 | start_period: 45s |
|
56 | start_period: 45s | |
57 | # how often check for status during start_period time |
|
57 | # how often check for status during start_period time | |
58 | start_interval: 5s |
|
58 | start_interval: 5s | |
59 | timeout: 30s |
|
59 | timeout: 30s | |
60 | interval: 60s |
|
60 | interval: 60s | |
61 | retries: 10 |
|
61 | retries: 10 | |
62 |
|
62 | |||
63 | volumes: |
|
63 | volumes: | |
64 | - confvolume:/etc/rhodecode/conf |
|
64 | - confvolume:/etc/rhodecode/conf | |
65 |
|
65 | |||
66 | logging: |
|
66 | logging: | |
67 | *custom-logging |
|
67 | *custom-logging | |
68 |
|
68 | |||
69 | labels: |
|
69 | labels: | |
70 | - "traefik.enable=true" |
|
70 | - "traefik.enable=true" | |
71 | - "traefik.http.routers.channelstream.entrypoints=http" |
|
71 | - "traefik.http.routers.channelstream.entrypoints=http" | |
72 | - "traefik.http.routers.channelstream.priority=20" |
|
72 | - "traefik.http.routers.channelstream.priority=20" | |
73 | - "traefik.http.routers.channelstream.rule=Host(`${RC_HOSTNAME:?must-specify-rhodecode-hostname}`) && PathPrefix(`/_channelstream`)" |
|
73 | - "traefik.http.routers.channelstream.rule=Host(`${RC_HOSTNAME:?must-specify-rhodecode-hostname}`) && PathPrefix(`/_channelstream`)" | |
74 | - "traefik.http.routers.channelstream.service=channelstream-web" |
|
74 | - "traefik.http.routers.channelstream.service=channelstream-web" | |
75 | - "traefik.http.routers.channelstream.middlewares=strip-cs" |
|
75 | - "traefik.http.routers.channelstream.middlewares=strip-cs" | |
76 | - "traefik.http.middlewares.strip-cs.stripprefix.prefixes=/_channelstream" |
|
76 | - "traefik.http.middlewares.strip-cs.stripprefix.prefixes=/_channelstream" | |
77 | - "traefik.http.services.channelstream-web.loadbalancer.server.port=8000" |
|
77 | - "traefik.http.services.channelstream-web.loadbalancer.server.port=8000" | |
78 | # HTTP + SSL example, should be put into .custom/docker-compose-services.override.yaml |
|
78 | # HTTP + SSL example, should be put into .custom/docker-compose-services.override.yaml | |
79 | #- "traefik.http.routers.channelstream.entrypoints=http,https" |
|
79 | #- "traefik.http.routers.channelstream.entrypoints=http,https" | |
80 |
|
80 | |||
81 | profiles: |
|
81 | profiles: | |
82 | ["channelstream"] |
|
82 | ["channelstream"] | |
83 |
|
83 | |||
84 | nginx-statics: |
|
84 | nginx-statics: | |
85 |
|
85 | |||
86 | # used to serve static files |
|
86 | # used to serve static files | |
87 | networks: |
|
87 | networks: | |
88 | - rhodecode_network |
|
88 | - rhodecode_network | |
89 | image: library/nginx:1.25.5 |
|
89 | image: library/nginx:1.25.5 | |
90 |
|
90 | |||
91 | restart: always |
|
91 | restart: always | |
92 |
|
92 | |||
93 | environment: |
|
93 | environment: | |
94 | NGINX_ENTRYPOINT_QUIET_LOGS: 1 |
|
94 | NGINX_ENTRYPOINT_QUIET_LOGS: 1 | |
95 | env_file: |
|
95 | env_file: | |
96 | - ${RC_ENV_FILE:?must-specify-rc-env-file} |
|
96 | - ${RC_ENV_FILE:?must-specify-rc-env-file} | |
97 |
|
97 | |||
98 | healthcheck: |
|
98 | healthcheck: | |
99 | test: curl -A RhodeCode-Healthcheck -s -o /dev/null -w '%{http_code}' --fail http://127.0.0.1:80/_health_static |
|
99 | test: curl -A RhodeCode-Healthcheck -s -o /dev/null -w '%{http_code}' --fail http://127.0.0.1:80/_health_static | |
100 | # start_period+start_interval requires docker engine 25+ |
|
100 | # start_period+start_interval requires docker engine 25+ | |
101 | # how long the app starts with |
|
101 | # how long the app starts with | |
102 | start_period: 45s |
|
102 | start_period: 45s | |
103 | # how often check for status during start_period time |
|
103 | # how often check for status during start_period time | |
104 | start_interval: 5s |
|
104 | start_interval: 5s | |
105 | timeout: 30s |
|
105 | timeout: 30s | |
106 | interval: 60s |
|
106 | interval: 60s | |
107 | retries: 10 |
|
107 | retries: 10 | |
108 |
|
108 | |||
109 | # depends_on: |
|
109 | # depends_on: | |
110 | # - channelstream |
|
110 | # - channelstream | |
111 |
|
111 | |||
112 | volumes: |
|
112 | volumes: | |
113 | - $PWD/config/nginx/nginx_statics.conf:/etc/nginx/nginx.conf:ro |
|
113 | - $PWD/config/nginx/nginx_statics.conf:/etc/nginx/nginx.conf:ro | |
114 | - $PWD/.custom/static_files:/var/opt/rhodecode_static_data |
|
114 | - $PWD/.custom/static_files:/var/opt/rhodecode_static_data | |
115 | - rc_datavolume:/var/opt/rhodecode_data |
|
115 | - rc_datavolume:/var/opt/rhodecode_data | |
116 |
|
116 | |||
117 | logging: |
|
117 | logging: | |
118 | *custom-logging |
|
118 | *custom-logging | |
119 |
|
119 | |||
120 | labels: |
|
120 | labels: | |
121 | - "traefik.enable=true" |
|
121 | - "traefik.enable=true" | |
122 | - "traefik.http.routers.nginx-statics.entrypoints=http" |
|
122 | - "traefik.http.routers.nginx-statics.entrypoints=http" | |
123 | - "traefik.http.routers.nginx-statics.priority=40" |
|
123 | - "traefik.http.routers.nginx-statics.priority=40" | |
124 | - "traefik.http.routers.nginx-statics.rule=Host(`${RC_HOSTNAME:?must-specify-rhodecode-hostname}`) && PathPrefix(`/_static/rhodecode`, `/_pages`)" |
|
124 | - "traefik.http.routers.nginx-statics.rule=Host(`${RC_HOSTNAME:?must-specify-rhodecode-hostname}`) && PathPrefix(`/_static/rhodecode`, `/_pages`)" | |
125 | - "traefik.http.routers.nginx-statics.service=nginx-serv" |
|
125 | - "traefik.http.routers.nginx-statics.service=nginx-serv" | |
126 | - "traefik.http.services.nginx-serv.loadbalancer.server.port=80" |
|
126 | - "traefik.http.services.nginx-serv.loadbalancer.server.port=80" | |
127 |
|
127 | |||
128 | # HTTP + SSL example, should be put into .custom/docker-compose-services.override.yaml |
|
128 | # HTTP + SSL example, should be put into .custom/docker-compose-services.override.yaml | |
129 | #- "traefik.http.routers.nginx-statics.entrypoints=http, https" |
|
129 | #- "traefik.http.routers.nginx-statics.entrypoints=http, https" | |
130 |
|
130 | |||
131 | nginx-errors: |
|
131 | nginx-errors: | |
132 | networks: |
|
132 | networks: | |
133 | - rhodecode_network |
|
133 | - rhodecode_network | |
134 | image: library/nginx:1.25.5 |
|
134 | image: library/nginx:1.25.5 | |
135 |
|
135 | |||
136 | restart: always |
|
136 | restart: always | |
137 |
|
137 | |||
138 | environment: |
|
138 | environment: | |
139 | NGINX_ENTRYPOINT_QUIET_LOGS: 1 |
|
139 | NGINX_ENTRYPOINT_QUIET_LOGS: 1 | |
140 |
|
140 | |||
141 | env_file: |
|
141 | env_file: | |
142 | - ${RC_ENV_FILE:?must-specify-rc-env-file} |
|
142 | - ${RC_ENV_FILE:?must-specify-rc-env-file} | |
143 |
|
143 | |||
144 | volumes: |
|
144 | volumes: | |
145 | - $PWD/config/nginx/nginx_errors.conf:/etc/nginx/nginx.conf:ro |
|
145 | - $PWD/config/nginx/nginx_errors.conf:/etc/nginx/nginx.conf:ro | |
146 | - $PWD/config/nginx/error_pages:/etc/nginx/error_pages |
|
146 | - $PWD/config/nginx/error_pages:/etc/nginx/error_pages | |
147 |
|
147 | |||
148 | - rc_datavolume:/var/opt/rhodecode_data |
|
148 | - rc_datavolume:/var/opt/rhodecode_data | |
149 |
|
149 | |||
150 | labels: |
|
150 | labels: | |
151 | - "traefik.enable=true" |
|
151 | - "traefik.enable=true" | |
152 |
|
152 | |||
153 | # error-middleware |
|
153 | # error-middleware | |
154 | - "traefik.http.middlewares.error-pages-middleware.errors.status=404" |
|
154 | - "traefik.http.middlewares.error-pages-middleware.errors.status=404" | |
155 | - "traefik.http.middlewares.error-pages-middleware.errors.service=error-pages-service" |
|
155 | - "traefik.http.middlewares.error-pages-middleware.errors.service=error-pages-service" | |
156 | - "traefik.http.middlewares.error-pages-middleware.errors.query=/{status}.html" |
|
156 | - "traefik.http.middlewares.error-pages-middleware.errors.query=/{status}.html" | |
157 |
|
157 | |||
158 | # error handling router |
|
158 | # error handling router | |
159 | - "traefik.http.routers.error-router.entrypoints=http" |
|
159 | - "traefik.http.routers.error-router.entrypoints=http" | |
160 | - "traefik.http.routers.error-router.priority=5" |
|
160 | - "traefik.http.routers.error-router.priority=5" | |
161 | - "traefik.http.routers.error-router.rule=HostRegexp(`{host:.+}`)" |
|
161 | - "traefik.http.routers.error-router.rule=HostRegexp(`{host:.+}`)" | |
162 | - "traefik.http.routers.error-router.service=error-pages-service" |
|
162 | - "traefik.http.routers.error-router.service=error-pages-service" | |
163 | - "traefik.http.routers.error-router.middlewares=error-pages-middleware" |
|
163 | - "traefik.http.routers.error-router.middlewares=error-pages-middleware" | |
164 |
|
164 | |||
165 | - "traefik.http.services.error-pages-service.loadbalancer.server.port=80" |
|
165 | - "traefik.http.services.error-pages-service.loadbalancer.server.port=80" | |
166 |
|
166 | |||
167 | # HTTP + SSL example, should be put into .custom/docker-compose-services.override.yaml |
|
167 | # HTTP + SSL example, should be put into .custom/docker-compose-services.override.yaml | |
168 | #- "traefik.http.routers.error-router.entrypoints=http, https" |
|
168 | #- "traefik.http.routers.error-router.entrypoints=http, https" | |
169 |
|
169 | |||
170 | elasticsearch: |
|
170 | elasticsearch: | |
171 | networks: |
|
171 | networks: | |
172 | - rhodecode_network |
|
172 | - rhodecode_network | |
173 | image: elasticsearch:6.8.23 |
|
173 | image: elasticsearch:6.8.23 | |
174 | restart: always |
|
174 | restart: always | |
175 | environment: |
|
175 | environment: | |
176 | - cluster.name=elasticsearch-cluster |
|
176 | - cluster.name=elasticsearch-cluster | |
177 | - network.host=0.0.0.0 |
|
177 | - network.host=0.0.0.0 | |
178 | - bootstrap.memory_lock=true |
|
178 | - bootstrap.memory_lock=true | |
179 | - discovery.type=single-node |
|
179 | - discovery.type=single-node | |
180 | - cluster.routing.allocation.disk.threshold_enabled=false |
|
180 | - cluster.routing.allocation.disk.threshold_enabled=false | |
181 | - cluster.name=rhodecode-elasticsearch |
|
181 | - cluster.name=rhodecode-elasticsearch | |
182 | - xpack.security.enabled=false |
|
182 | - xpack.security.enabled=false | |
183 | - "ES_JAVA_OPTS=-Xms512m -Xmx512m" |
|
183 | - "ES_JAVA_OPTS=-Xms512m -Xmx512m" | |
184 | env_file: |
|
184 | env_file: | |
185 | - ${RC_ENV_FILE:?must-specify-rc-env-file} |
|
185 | - ${RC_ENV_FILE:?must-specify-rc-env-file} | |
186 | healthcheck: |
|
186 | healthcheck: | |
187 | # change port 80 to 443 when only using SSL |
|
187 | # change port 80 to 443 when only using SSL | |
188 | test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "elasticsearch:9200/_cat/health" ] |
|
188 | test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "elasticsearch:9200/_cat/health" ] | |
189 | timeout: 30s |
|
189 | timeout: 30s | |
190 | interval: 60s |
|
190 | interval: 60s | |
191 | retries: 10 |
|
191 | retries: 10 | |
192 |
|
192 | |||
193 | # compat problems within some systems on settings those |
|
193 | # compat problems within some systems on settings those | |
194 | #ulimits: |
|
194 | #ulimits: | |
195 | #memlock: |
|
195 | #memlock: | |
196 | #soft: -1 |
|
196 | #soft: -1 | |
197 | #hard: -1 |
|
197 | #hard: -1 | |
198 |
|
198 | |||
199 | volumes: |
|
199 | volumes: | |
200 | - es_data:/usr/share/elasticsearch/data |
|
200 | - es_data:/usr/share/elasticsearch/data | |
201 |
|
201 | |||
202 | logging: |
|
202 | logging: | |
203 | *custom-logging |
|
203 | *custom-logging | |
204 |
|
204 | |||
205 | profiles: |
|
205 | profiles: | |
206 | ["elasticsearch"] |
|
206 | ["elasticsearch"] | |
207 |
|
207 | |||
208 | redis: |
|
208 | redis: | |
209 | networks: |
|
209 | networks: | |
210 | - rhodecode_network |
|
210 | - rhodecode_network | |
211 | image: library/redis:7.2.5 |
|
211 | image: library/redis:7.2.5 | |
212 |
|
212 | |||
213 | restart: always |
|
213 | restart: always | |
214 | env_file: |
|
214 | env_file: | |
215 | - ${RC_ENV_FILE:?must-specify-rc-env-file} |
|
215 | - ${RC_ENV_FILE:?must-specify-rc-env-file} | |
216 | command: |
|
216 | command: | |
217 | - "redis-server" |
|
217 | - "redis-server" | |
218 | - "/etc/redis/redis.conf" |
|
218 | - "/etc/redis/redis.conf" | |
219 | - "--maxmemory-policy allkeys-lru" |
|
219 | - "--maxmemory-policy allkeys-lru" | |
220 | - "--maxmemory ${RC_REDIS_MAXMEMORY:?must-specify-redis-maxmemory}" |
|
220 | - "--maxmemory ${RC_REDIS_MAXMEMORY:?must-specify-redis-maxmemory}" | |
221 |
|
221 | |||
222 | # ports: |
|
222 | # ports: | |
223 | # - "127.0.0.1::6379" |
|
223 | # - "127.0.0.1::6379" | |
224 |
|
224 | |||
225 | healthcheck: |
|
225 | healthcheck: | |
226 | test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] |
|
226 | test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] | |
227 | interval: 60s |
|
227 | interval: 60s | |
228 |
|
228 | |||
229 | volumes: |
|
229 | volumes: | |
230 | - $PWD/config/redis/redis.conf:/etc/redis/redis.conf:ro |
|
230 | - $PWD/config/redis/redis.conf:/etc/redis/redis.conf:ro | |
231 | - redis_data:/data |
|
231 | - redis_data:/data | |
232 |
|
232 | |||
233 | profiles: |
|
233 | profiles: | |
234 | ["redis"] |
|
234 | ["redis"] | |
235 |
|
235 | |||
236 | logging: |
|
236 | logging: | |
237 | *custom-logging |
|
237 | *custom-logging | |
238 |
|
238 | |||
239 | database: |
|
239 | database: | |
240 | networks: |
|
240 | networks: | |
241 | - rhodecode_network |
|
241 | - rhodecode_network | |
242 | image: library/postgres:14.12 |
|
242 | image: library/postgres:14.12 | |
243 |
|
243 | |||
244 | environment: |
|
244 | environment: | |
245 | POSTGRES_DB: ${DB_NAME:?must-specify-db-name} |
|
245 | POSTGRES_DB: ${DB_NAME:?must-specify-db-name} | |
246 | POSTGRES_USER: ${DB_USER:?must-specify-db-user} |
|
246 | POSTGRES_USER: ${DB_USER:?must-specify-db-user} | |
247 | PGUSER: ${DB_USER:?must-specify-db-user} |
|
247 | PGUSER: ${DB_USER:?must-specify-db-user} | |
248 | POSTGRES_PASSWORD: ${DB_PASSWORD:?must-specify-db-password} |
|
248 | POSTGRES_PASSWORD: ${DB_PASSWORD:?must-specify-db-password} | |
249 | POSTGRES_HOST_AUTH_METHOD: md5 |
|
249 | POSTGRES_HOST_AUTH_METHOD: md5 | |
250 | POSTGRES_INITDB_ARGS: "--auth-host=md5 --auth-local=md5" |
|
250 | POSTGRES_INITDB_ARGS: "--auth-host=md5 --auth-local=md5" | |
251 | env_file: |
|
251 | env_file: | |
252 | - ${RC_ENV_FILE:?must-specify-rc-env-file} |
|
252 | - ${RC_ENV_FILE:?must-specify-rc-env-file} | |
253 |
|
253 | |||
254 | restart: always |
|
254 | restart: always | |
255 | command: |
|
255 | command: | |
256 | - "postgres" |
|
256 | - "postgres" | |
257 | - "-c" |
|
257 | - "-c" | |
258 | - "log_statement=ddl" |
|
258 | - "log_statement=ddl" | |
259 | - "-c" |
|
259 | - "-c" | |
260 | - "config_file=/etc/conf.d/pg_customized.conf" |
|
260 | - "config_file=/etc/conf.d/pg_customized.conf" | |
261 |
|
261 | |||
262 | # ports: |
|
262 | # ports: | |
263 | # - "127.0.0.1::5432" |
|
263 | # - "127.0.0.1::5432" | |
264 |
|
264 | |||
265 | healthcheck: |
|
265 | healthcheck: | |
266 | test: ["CMD-SHELL", "pg_isready", '-U', "$DB_USER"] |
|
266 | test: ["CMD-SHELL", "pg_isready", '-U', "$DB_USER"] | |
267 | interval: 10s |
|
267 | interval: 10s | |
268 | timeout: 5s |
|
268 | timeout: 5s | |
269 | retries: 5 |
|
269 | retries: 5 | |
270 |
|
270 | |||
271 | volumes: |
|
271 | volumes: | |
272 | - $PWD/config/database/pg_customized.conf:/etc/conf.d/pg_customized.conf:ro |
|
272 | - $PWD/config/database/pg_customized.conf:/etc/conf.d/pg_customized.conf:ro | |
273 | # db dumps reverse mount |
|
273 | # db dumps reverse mount | |
274 | - $PWD/.custom/db_dump:/var/rc-data-dump |
|
274 | - $PWD/.custom/db_dump:/var/rc-data-dump | |
275 | # save the pg_data volume |
|
275 | # save the pg_data volume | |
276 | - pg_data:/var/lib/postgresql/data |
|
276 | - pg_data:/var/lib/postgresql/data | |
277 |
|
277 | |||
278 |
|
278 | |||
279 | profiles: |
|
279 | profiles: | |
280 | ["postgres", "database"] |
|
280 | ["postgres", "database"] | |
281 |
|
281 | |||
282 | logging: |
|
282 | logging: | |
283 | *custom-logging |
|
283 | *custom-logging | |
284 |
|
284 | |||
285 | database-mysql: |
|
285 | database-mysql: | |
286 | networks: |
|
286 | networks: | |
287 | - rhodecode_network |
|
287 | - rhodecode_network | |
288 | image: library/mysql:8.0.37 |
|
288 | image: library/mysql:8.0.37 | |
289 |
|
289 | |||
290 | environment: |
|
290 | environment: | |
291 | MYSQL_DATABASE: ${DB_NAME:?must-specify-db-name} |
|
291 | MYSQL_DATABASE: ${DB_NAME:?must-specify-db-name} | |
292 | MYSQL_USER: ${DB_USER:?must-specify-db-user} |
|
292 | MYSQL_USER: ${DB_USER:?must-specify-db-user} | |
293 | MYSQL_PASSWORD: ${DB_PASSWORD:?must-specify-db-password} |
|
293 | MYSQL_PASSWORD: ${DB_PASSWORD:?must-specify-db-password} | |
294 | MYSQL_ROOT_PASSWORD: ${DB_PASSWORD:?must-specify-db-password} |
|
294 | MYSQL_ROOT_PASSWORD: ${DB_PASSWORD:?must-specify-db-password} | |
295 | env_file: |
|
295 | env_file: | |
296 | - ${RC_ENV_FILE:?must-specify-rc-env-file} |
|
296 | - ${RC_ENV_FILE:?must-specify-rc-env-file} | |
297 |
|
297 | |||
298 | restart: always |
|
298 | restart: always | |
299 |
|
299 | |||
300 | # ports: |
|
300 | # ports: | |
301 | # - "127.0.0.1::3306" |
|
301 | # - "127.0.0.1::3306" | |
302 |
|
302 | |||
303 | volumes: |
|
303 | volumes: | |
304 | - $PWD/config/database/mysql_customized.conf:/etc/mysql/conf.d/config-file.cnf:ro |
|
304 | - $PWD/config/database/mysql_customized.conf:/etc/mysql/conf.d/config-file.cnf:ro | |
305 | # db dumps reverse mount |
|
305 | # db dumps reverse mount | |
306 | - $PWD/.custom/db_dump:/var/rc-data-dump |
|
306 | - $PWD/.custom/db_dump:/var/rc-data-dump | |
307 | # save the mysql_data volume |
|
307 | # save the mysql_data volume | |
308 | - mysql_data:/var/lib/mysql |
|
308 | - mysql_data:/var/lib/mysql | |
309 |
|
309 | |||
310 | profiles: |
|
310 | profiles: | |
311 | ["mysql"] |
|
311 | ["mysql"] | |
312 |
|
312 | |||
313 | logging: |
|
313 | logging: | |
314 | *custom-logging |
|
314 | *custom-logging | |
315 |
|
315 | |||
316 | # DEBUG/DEVEL |
|
316 | # DEBUG/DEVEL | |
317 | httpbin: |
|
317 | httpbin: | |
318 | networks: |
|
318 | networks: | |
319 | - rhodecode_network |
|
319 | - rhodecode_network | |
320 | image: kennethreitz/httpbin:latest |
|
320 | image: kennethreitz/httpbin:latest | |
321 | ports: |
|
321 | ports: | |
322 | # expose on 9090 to not block 80 for traefik |
|
322 | # expose on 9090 to not block 80 for traefik | |
323 | - "9090:80" |
|
323 | - "9090:80" | |
324 | profiles: |
|
324 | profiles: | |
325 | ["testing"] |
|
325 | ["testing"] | |
326 |
|
326 | |||
327 | restart: always |
|
327 | restart: always | |
328 |
|
328 | |||
329 | ldap-server: |
|
329 | ldap-server: | |
330 | networks: |
|
330 | networks: | |
331 | - rhodecode_network |
|
331 | - rhodecode_network | |
332 | image: rroemhild/test-openldap:latest |
|
332 | image: rroemhild/test-openldap:latest | |
333 | ports: |
|
333 | ports: | |
334 | # expose on 10389 (ldap) 10636 (ldaps) |
|
334 | # expose on 10389 (ldap) 10636 (ldaps) | |
335 | - "10389:10389" |
|
335 | - "10389:10389" | |
336 | - "10636:10636" |
|
336 | - "10636:10636" | |
337 | profiles: |
|
337 | profiles: | |
338 | ["testing"] |
|
338 | ["testing"] | |
339 |
|
339 | |||
340 | restart: always No newline at end of file |
|
340 | restart: always | |
|
341 | ||||
|
342 | s3-minio: | |||
|
343 | networks: | |||
|
344 | - rhodecode_network | |||
|
345 | image: minio/minio:latest | |||
|
346 | ports: | |||
|
347 | # expose on 9000 (API) 9001 (console) | |||
|
348 | - "9000:9000" | |||
|
349 | - "9001:9001" | |||
|
350 | environment: | |||
|
351 | MINIO_ROOT_USER: s3admin | |||
|
352 | MINIO_ROOT_PASSWORD: s3secret4 | |||
|
353 | MINIO_API_ROOT_ACCESS: true | |||
|
354 | MINIO_DOMAIN: "${RC_HOSTNAME}" | |||
|
355 | volumes: | |||
|
356 | # db dumps reverse mount | |||
|
357 | - $PWD/.custom/s3fs:/data | |||
|
358 | profiles: | |||
|
359 | ["testing"] | |||
|
360 | command: server --console-address ":9001" /data | |||
|
361 | restart: always |
General Comments 0
You need to be logged in to leave comments.
Login now