##// END OF EJS Templates
compose: updates to source installation, and new build tag image support
super-admin -
Show More
@@ -1,28 +1,31 b''
1 COMPOSE_PROJECT_NAME=rc_cluster
1 COMPOSE_PROJECT_NAME=rc_cluster
2 TZ="UTC"
2 TZ="UTC"
3
3
4 # Version to deploy and run
4 # Version to deploy and run
5 RC_VERSION="4.27.1"
5 RC_VERSION="4.28.0"
6
6
7 # Database access credentials
7 # Database access credentials
8 DB_NAME=rhodecode
8 DB_NAME=rhodecode
9 DB_USER=rhodecode
9 DB_USER=rhodecode
10 DB_PASSWORD=hUc1adS7oDd6Oj3in3
10 DB_PASSWORD=hUc1adS7oDd6Oj3in3
11
11
12 # base url for running app
12 # base url for running app
13 RHODECODE_BASE_URL=http://localhost:8888
13 RHODECODE_BASE_URL=http://localhost:8888
14
14
15 # HTTP and HTTPS ports for running app
15 # HTTP and HTTPS ports for running app
16 RC_HTTP_PORT=8888
16 RC_HTTP_PORT=8888
17 RC_HTTPS_PORT=8443
17 RC_HTTPS_PORT=8443
18
18
19 # SSH Port exposed, increased security is to not used default 22
19 # SSH Port exposed, increased security is to not used default 22
20 RC_SSH_PORT=9022
20 RC_SSH_PORT=9022
21
21
22 # user/password for first admin user created for access
22 # user/password for first admin user created for access
23 RHODECODE_USER_EMAIL=admin@rhodecode.com
23 RHODECODE_USER_EMAIL=admin@rhodecode.com
24 RHODECODE_USER_NAME=admin
24 RHODECODE_USER_NAME=admin
25 RHODECODE_USER_PASS=secret4
25 RHODECODE_USER_PASS=secret4
26
26
27 ## New since 4.27.0, default GIT branch name can be changed
27 ## New since 4.27.0, default GIT branch name can be changed
28 GIT_DEFAULT_BRANCH_NAME=master No newline at end of file
28 GIT_DEFAULT_BRANCH_NAME=master
29
30 ## Source build version for image
31 SOURCE_VER=4.28.0.REL1
@@ -1,80 +1,80 b''
1 volumes:
1 volumes:
2 bashhistory:
2 bashhistory:
3
3
4
4
5 services:
5 services:
6
6
7 rhodecode:
7 rhodecode:
8 environment:
8 environment:
9 HISTFILE: /home/rhodecode/.bash_history_docker
9 HISTFILE: /home/rhodecode/.bash_history_docker
10 DB_UPGRADE: 0 # run the DB upgrade
10 DB_UPGRADE: 0 # run the DB upgrade
11
11
12 volumes:
12 volumes:
13 - bashhistory:/home/rhodecode
13 - bashhistory:/home/rhodecode
14
14
15 build:
15 build:
16 context: .
16 context: .
17 dockerfile: service/rhodecode/rhodecode_source.dockerfile
17 dockerfile: service/rhodecode/rhodecode_source.dockerfile
18
18
19 image: rhodecode/app_source:latest
19 image: rhodecode/app_source:${SOURCE_VER:?specify-SOURCE_VER-env-var}
20
20
21 command: [
21 command: [
22 "/home/rhodecode/rhodecode-enterprise-ee/result/bin/gunicorn",
22 "/home/rhodecode/rhodecode-enterprise-ee/result/bin/gunicorn",
23 "--name=gunicorn-rhodecode-1",
23 "--name=gunicorn-rhodecode-1",
24 "--error-logfile=-",
24 "--error-logfile=-",
25 "--paster=/etc/rhodecode/conf/compose/rhodecode.optimized.ini",
25 "--paster=/etc/rhodecode/conf/compose/rhodecode.optimized.ini",
26 "--config=/etc/rhodecode/conf/gunicorn_conf.py"
26 "--config=/etc/rhodecode/conf/gunicorn_conf.py"
27 ]
27 ]
28
28
29 vcsserver:
29 vcsserver:
30 environment:
30 environment:
31 HISTFILE: /home/rhodecode/.bash_history_docker
31 HISTFILE: /home/rhodecode/.bash_history_docker
32
32
33 volumes:
33 volumes:
34 - bashhistory:/home/rhodecode
34 - bashhistory:/home/rhodecode
35
35
36 build:
36 build:
37 context: .
37 context: .
38 dockerfile: service/rhodecode/rhodecode_source.dockerfile
38 dockerfile: service/rhodecode/rhodecode_source.dockerfile
39
39
40 image: rhodecode/app_source:latest
40 image: rhodecode/app_source:${SOURCE_VER:?specify-SOURCE_VER-env-var}
41
41
42 command: [
42 command: [
43 "/home/rhodecode/rhodecode-vcsserver/result/bin/gunicorn",
43 "/home/rhodecode/rhodecode-vcsserver/result/bin/gunicorn",
44 "--name=gunicorn-vcsserver-1",
44 "--name=gunicorn-vcsserver-1",
45 "--error-logfile=-",
45 "--error-logfile=-",
46 "--paster=/etc/rhodecode/conf/compose/vcsserver.optimized.ini",
46 "--paster=/etc/rhodecode/conf/compose/vcsserver.optimized.ini",
47 "--config=/etc/rhodecode/conf/gunicorn_conf.py"
47 "--config=/etc/rhodecode/conf/gunicorn_conf.py"
48 ]
48 ]
49
49
50 celery:
50 celery:
51
51
52 build:
52 build:
53 context: .
53 context: .
54 dockerfile: service/rhodecode/rhodecode_source.dockerfile
54 dockerfile: service/rhodecode/rhodecode_source.dockerfile
55
55
56 image: rhodecode/app_source:latest
56 image: rhodecode/app_source:${SOURCE_VER:?specify-SOURCE_VER-env-var}
57
57
58 beat:
58 beat:
59
59
60 build:
60 build:
61 context: .
61 context: .
62 dockerfile: service/rhodecode/rhodecode_source.dockerfile
62 dockerfile: service/rhodecode/rhodecode_source.dockerfile
63
63
64 image: rhodecode/app_source:latest
64 image: rhodecode/app_source:${SOURCE_VER:?specify-SOURCE_VER-env-var}
65
65
66 svn:
66 svn:
67
67
68 build:
68 build:
69 context: .
69 context: .
70 dockerfile: service/rhodecode/rhodecode_source.dockerfile
70 dockerfile: service/rhodecode/rhodecode_source.dockerfile
71
71
72 image: rhodecode/app_source:latest
72 image: rhodecode/app_source:${SOURCE_VER:?specify-SOURCE_VER-env-var}
73
73
74 sshd:
74 sshd:
75
75
76 build:
76 build:
77 context: .
77 context: .
78 dockerfile: service/rhodecode/rhodecode_source.dockerfile
78 dockerfile: service/rhodecode/rhodecode_source.dockerfile
79
79
80 image: rhodecode/app_source:latest No newline at end of file
80 image: rhodecode/app_source:${SOURCE_VER:?specify-SOURCE_VER-env-var} No newline at end of file
@@ -1,441 +1,441 b''
1 version: '3.9'
1 version: '3.9'
2
2
3 volumes:
3 volumes:
4
4
5 # bind volume with logs
5 # bind volume with logs
6 # note this is used as well to scrape logs using promtail
6 # note this is used as well to scrape logs using promtail
7 # any changes here should be made as well into docker-compose-gragana.yaml file
7 # any changes here should be made as well into docker-compose-grafana.yaml file
8 logvolume:
8 logvolume:
9 driver: local
9 driver: local
10 driver_opts:
10 driver_opts:
11 type: none
11 type: none
12 o: bind
12 o: bind
13 device: $PWD/logs
13 device: $PWD/logs
14
14
15 # bind-mount with configs
15 # bind-mount with configs
16 confvolume:
16 confvolume:
17 driver: local
17 driver: local
18 driver_opts:
18 driver_opts:
19 type: none
19 type: none
20 o: bind
20 o: bind
21 device: $PWD/config
21 device: $PWD/config
22
22
23 # volume for rhodecode caches, archive caches, elasticsearch etc
23 # volume for rhodecode caches, archive caches, elasticsearch etc
24 datavolume: {}
24 datavolume: {}
25
25
26 # volume for RhodeCode repo-store, it's where the repositories will be stored
26 # volume for RhodeCode repo-store, it's where the repositories will be stored
27 rhodecode_repos:
27 rhodecode_repos:
28 labels:
28 labels:
29 "keep": 1
29 "keep": 1
30
30
31 # volume for Postgres db store
31 # volume for Postgres db store
32 pg_data:
32 pg_data:
33 labels:
33 labels:
34 "keep": 1
34 "keep": 1
35
35
36 # volume for MySQL db store
36 # volume for MySQL db store
37 mysql_data:
37 mysql_data:
38 labels:
38 labels:
39 "keep": 1
39 "keep": 1
40
40
41 # volume for rhodecode elasticsearch
41 # volume for rhodecode elasticsearch
42 es_data:
42 es_data:
43 labels:
43 labels:
44 "keep": 1
44 "keep": 1
45
45
46 networks:
46 networks:
47 rhodecode_network:
47 rhodecode_network:
48 name: rhodecode_network
48 name: rhodecode_network
49 driver: bridge
49 driver: bridge
50
50
51 services:
51 services:
52
52
53 rhodecode:
53 rhodecode:
54 networks:
54 networks:
55 - rhodecode_network
55 - rhodecode_network
56 image: rhodecode/app:${RC_VERSION:?specify-RC_VERSION-env-var}
56 image: rhodecode/app:${RC_VERSION:?specify-RC_VERSION-env-var}
57 stdin_open: true
57 stdin_open: true
58 tty: true
58 tty: true
59 restart: unless-stopped
59 restart: unless-stopped
60 command: [
60 command: [
61 "/var/opt/rhodecode_bin/bin/gunicorn",
61 "/var/opt/rhodecode_bin/bin/gunicorn",
62 "--name=gunicorn-rhodecode-1",
62 "--name=gunicorn-rhodecode-1",
63 "--error-logfile=-",
63 "--error-logfile=-",
64 "--paster=/etc/rhodecode/conf/compose/rhodecode.optimized.ini",
64 "--paster=/etc/rhodecode/conf/compose/rhodecode.optimized.ini",
65 "--config=/etc/rhodecode/conf/gunicorn_conf.py"
65 "--config=/etc/rhodecode/conf/gunicorn_conf.py"
66 ]
66 ]
67 ports:
67 ports:
68 - "127.0.0.1::10020"
68 - "127.0.0.1::10020"
69
69
70 build:
70 build:
71 context: .
71 context: .
72 dockerfile: service/rhodecode/rhodecode.dockerfile
72 dockerfile: service/rhodecode/rhodecode.dockerfile
73 args:
73 args:
74 TZ: ${TZ}
74 TZ: ${TZ}
75 RHODECODE_VERSION: ${RC_VERSION:?specify-RC_VERSION-env-var}
75 RHODECODE_VERSION: ${RC_VERSION:?specify-RC_VERSION-env-var}
76 RHODECODE_DB: postgresql://rhodecode:${DB_PASSWORD:?must-specify-db-password}@database/${DB_NAME:?must-specify-db-name}
76 RHODECODE_DB: postgresql://rhodecode:${DB_PASSWORD:?must-specify-db-password}@database/${DB_NAME:?must-specify-db-name}
77 RHODECODE_USER_NAME: ${RHODECODE_USER_NAME}
77 RHODECODE_USER_NAME: ${RHODECODE_USER_NAME}
78 RHODECODE_USER_PASS: ${RHODECODE_USER_PASS}
78 RHODECODE_USER_PASS: ${RHODECODE_USER_PASS}
79 RHODECODE_USER_EMAIL: ${RHODECODE_USER_EMAIL}
79 RHODECODE_USER_EMAIL: ${RHODECODE_USER_EMAIL}
80
80
81 environment:
81 environment:
82 RC_APP_TYPE: rhodecode_http
82 RC_APP_TYPE: rhodecode_http
83 RC_APP_PROC: 1
83 RC_APP_PROC: 1
84 ENV_RC_BASE_URL: ${RHODECODE_BASE_URL}
84 ENV_RC_BASE_URL: ${RHODECODE_BASE_URL}
85 SSL_CERT_FILE: "/etc/rhodecode/conf/ca-bundle.crt"
85 SSL_CERT_FILE: "/etc/rhodecode/conf/ca-bundle.crt"
86 REQUESTS_CA_BUNDLE: "/etc/rhodecode/conf/ca-bundle.crt"
86 REQUESTS_CA_BUNDLE: "/etc/rhodecode/conf/ca-bundle.crt"
87 GIT_SSL_CAINFO: "/etc/rhodecode/conf/ca-bundle.crt"
87 GIT_SSL_CAINFO: "/etc/rhodecode/conf/ca-bundle.crt"
88 GEVENT_RESOLVER: "ares"
88 GEVENT_RESOLVER: "ares"
89
89
90 DB_UPGRADE: 1 # run the DB upgrade
90 DB_UPGRADE: 1 # run the DB upgrade
91 SETUP_APP: 1 # run the application default settings setup, can be turned off after initial run
91 SETUP_APP: 1 # run the application default settings setup, can be turned off after initial run
92 #FORCE_DB_INIT_FILE: 1 # force the database init, warning: destroys old DB
92 #FORCE_DB_INIT_FILE: 1 # force the database init, warning: destroys old DB
93 #FORCE_RC_SETUP_APP: 1 # force running setup scripts for configuration/license application
93 #FORCE_RC_SETUP_APP: 1 # force running setup scripts for configuration/license application
94 MAIN_INI_PATH: /etc/rhodecode/conf/compose/rhodecode.optimized.ini
94 MAIN_INI_PATH: /etc/rhodecode/conf/compose/rhodecode.optimized.ini
95
95
96 # SVN Specific
96 # SVN Specific
97 MOD_DAV_SVN_PORT: 8090
97 MOD_DAV_SVN_PORT: 8090
98 APACHE_LOG_DIR: /var/log/rhodecode/svn
98 APACHE_LOG_DIR: /var/log/rhodecode/svn
99 MOD_DAV_SVN_CONF_FILE: /etc/rhodecode/conf/svn/mod_dav_svn.conf
99 MOD_DAV_SVN_CONF_FILE: /etc/rhodecode/conf/svn/mod_dav_svn.conf
100
100
101 healthcheck:
101 healthcheck:
102 test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://127.0.0.1:10020/_admin/ops/ping" ]
102 test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://127.0.0.1:10020/_admin/ops/ping" ]
103 timeout: 30s
103 timeout: 30s
104 interval: 60s
104 interval: 60s
105 retries: 10
105 retries: 10
106
106
107 depends_on:
107 depends_on:
108 - database
108 - database
109 - redis
109 - redis
110 - channelstream
110 - channelstream
111
111
112 volumes:
112 volumes:
113 - confvolume:/etc/rhodecode/conf
113 - confvolume:/etc/rhodecode/conf
114 - logvolume:/var/log/rhodecode
114 - logvolume:/var/log/rhodecode
115 - rhodecode_repos:/var/opt/rhodecode_repo_store
115 - rhodecode_repos:/var/opt/rhodecode_repo_store
116 - datavolume:/var/opt/rhodecode_data
116 - datavolume:/var/opt/rhodecode_data
117
117
118 tmpfs:
118 tmpfs:
119 - /data_ramdisk:size=1G
119 - /data_ramdisk:size=1G
120
120
121 vcsserver:
121 vcsserver:
122 networks:
122 networks:
123 - rhodecode_network
123 - rhodecode_network
124 image: rhodecode/app:${RC_VERSION:?specify-RC_VERSION-env-var}
124 image: rhodecode/app:${RC_VERSION:?specify-RC_VERSION-env-var}
125 stdin_open: true
125 stdin_open: true
126 tty: true
126 tty: true
127 restart: unless-stopped
127 restart: unless-stopped
128 command: [
128 command: [
129 "/home/rhodecode/.rccontrol/vcsserver-1/profile/bin/gunicorn",
129 "/home/rhodecode/.rccontrol/vcsserver-1/profile/bin/gunicorn",
130 "--name=gunicorn-vcsserver-1",
130 "--name=gunicorn-vcsserver-1",
131 "--error-logfile=-",
131 "--error-logfile=-",
132 "--paster=/etc/rhodecode/conf/compose/vcsserver.optimized.ini",
132 "--paster=/etc/rhodecode/conf/compose/vcsserver.optimized.ini",
133 "--config=/etc/rhodecode/conf/gunicorn_conf.py"
133 "--config=/etc/rhodecode/conf/gunicorn_conf.py"
134 ]
134 ]
135 ports:
135 ports:
136 - "127.0.0.1::10010"
136 - "127.0.0.1::10010"
137
137
138 healthcheck:
138 healthcheck:
139 test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://127.0.0.1:10010/status" ]
139 test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://127.0.0.1:10010/status" ]
140 timeout: 30s
140 timeout: 30s
141 interval: 60s
141 interval: 60s
142 retries: 10
142 retries: 10
143
143
144 environment:
144 environment:
145 RC_APP_TYPE: rhodecode_vcsserver
145 RC_APP_TYPE: rhodecode_vcsserver
146 RC_APP_PROC: 1
146 RC_APP_PROC: 1
147 MAIN_INI_PATH: /etc/rhodecode/conf/compose/vcsserver.optimized.ini
147 MAIN_INI_PATH: /etc/rhodecode/conf/compose/vcsserver.optimized.ini
148 ENV_RC_BASE_URL: ${RHODECODE_BASE_URL}
148 ENV_RC_BASE_URL: ${RHODECODE_BASE_URL}
149 SSL_CERT_FILE: "/etc/rhodecode/conf/ca-bundle.crt"
149 SSL_CERT_FILE: "/etc/rhodecode/conf/ca-bundle.crt"
150 REQUESTS_CA_BUNDLE: "/etc/rhodecode/conf/ca-bundle.crt"
150 REQUESTS_CA_BUNDLE: "/etc/rhodecode/conf/ca-bundle.crt"
151 GIT_SSL_CAINFO: "/etc/rhodecode/conf/ca-bundle.crt"
151 GIT_SSL_CAINFO: "/etc/rhodecode/conf/ca-bundle.crt"
152
152
153 depends_on:
153 depends_on:
154 - redis
154 - redis
155
155
156 volumes:
156 volumes:
157 - confvolume:/etc/rhodecode/conf
157 - confvolume:/etc/rhodecode/conf
158 - logvolume:/var/log/rhodecode
158 - logvolume:/var/log/rhodecode
159 - rhodecode_repos:/var/opt/rhodecode_repo_store
159 - rhodecode_repos:/var/opt/rhodecode_repo_store
160 - datavolume:/var/opt/rhodecode_data
160 - datavolume:/var/opt/rhodecode_data
161
161
162 celery:
162 celery:
163 networks:
163 networks:
164 - rhodecode_network
164 - rhodecode_network
165 image: rhodecode/app:${RC_VERSION:?specify-RC_VERSION-env-var}
165 image: rhodecode/app:${RC_VERSION:?specify-RC_VERSION-env-var}
166 stdin_open: true
166 stdin_open: true
167 tty: true
167 tty: true
168 restart: unless-stopped
168 restart: unless-stopped
169 command: [
169 command: [
170 "/var/opt/rhodecode_bin/bin/celery",
170 "/var/opt/rhodecode_bin/bin/celery",
171 "worker",
171 "worker",
172 "--task-events",
172 "--task-events",
173 "--autoscale=10,2",
173 "--autoscale=10,2",
174 "--no-color",
174 "--no-color",
175 "--app=rhodecode.lib.celerylib.loader",
175 "--app=rhodecode.lib.celerylib.loader",
176 "--loglevel=DEBUG",
176 "--loglevel=DEBUG",
177 "--ini=/etc/rhodecode/conf/compose/rhodecode.optimized.ini"
177 "--ini=/etc/rhodecode/conf/compose/rhodecode.optimized.ini"
178 ]
178 ]
179
179
180 environment:
180 environment:
181 RC_APP_TYPE: rhodecode_celery
181 RC_APP_TYPE: rhodecode_celery
182 RC_APP_PROC: 1
182 RC_APP_PROC: 1
183 MAIN_INI_PATH: /etc/rhodecode/conf/compose/rhodecode.optimized.ini
183 MAIN_INI_PATH: /etc/rhodecode/conf/compose/rhodecode.optimized.ini
184 ENV_RC_BASE_URL: ${RHODECODE_BASE_URL}
184 ENV_RC_BASE_URL: ${RHODECODE_BASE_URL}
185 SSL_CERT_FILE: "/etc/rhodecode/conf/ca-bundle.crt"
185 SSL_CERT_FILE: "/etc/rhodecode/conf/ca-bundle.crt"
186 REQUESTS_CA_BUNDLE: "/etc/rhodecode/conf/ca-bundle.crt"
186 REQUESTS_CA_BUNDLE: "/etc/rhodecode/conf/ca-bundle.crt"
187 GIT_SSL_CAINFO: "/etc/rhodecode/conf/ca-bundle.crt"
187 GIT_SSL_CAINFO: "/etc/rhodecode/conf/ca-bundle.crt"
188
188
189 depends_on:
189 depends_on:
190 - database
190 - database
191 - redis
191 - redis
192
192
193 volumes:
193 volumes:
194 - confvolume:/etc/rhodecode/conf
194 - confvolume:/etc/rhodecode/conf
195 - logvolume:/var/log/rhodecode
195 - logvolume:/var/log/rhodecode
196 - rhodecode_repos:/var/opt/rhodecode_repo_store
196 - rhodecode_repos:/var/opt/rhodecode_repo_store
197 - datavolume:/var/opt/rhodecode_data
197 - datavolume:/var/opt/rhodecode_data
198
198
199 beat:
199 beat:
200 # This service is not scalable
200 # This service is not scalable
201 networks:
201 networks:
202 - rhodecode_network
202 - rhodecode_network
203 image: rhodecode/app:${RC_VERSION:?specify-RC_VERSION-env-var}
203 image: rhodecode/app:${RC_VERSION:?specify-RC_VERSION-env-var}
204 stdin_open: true
204 stdin_open: true
205 tty: true
205 tty: true
206 restart: unless-stopped
206 restart: unless-stopped
207 command: [
207 command: [
208 "/var/opt/rhodecode_bin/bin/celery",
208 "/var/opt/rhodecode_bin/bin/celery",
209 "beat",
209 "beat",
210 "--no-color",
210 "--no-color",
211 "--app=rhodecode.lib.celerylib.loader",
211 "--app=rhodecode.lib.celerylib.loader",
212 "--scheduler=rhodecode.lib.celerylib.scheduler.RcScheduler",
212 "--scheduler=rhodecode.lib.celerylib.scheduler.RcScheduler",
213 "--loglevel=DEBUG",
213 "--loglevel=DEBUG",
214 "--ini=/etc/rhodecode/conf/compose/rhodecode.optimized.ini"
214 "--ini=/etc/rhodecode/conf/compose/rhodecode.optimized.ini"
215 ]
215 ]
216
216
217 environment:
217 environment:
218 RC_APP_TYPE: rhodecode_beat
218 RC_APP_TYPE: rhodecode_beat
219 RC_APP_PROC: 1
219 RC_APP_PROC: 1
220 MAIN_INI_PATH: /etc/rhodecode/conf/compose/rhodecode.optimized.ini
220 MAIN_INI_PATH: /etc/rhodecode/conf/compose/rhodecode.optimized.ini
221 ENV_RC_BASE_URL: ${RHODECODE_BASE_URL}
221 ENV_RC_BASE_URL: ${RHODECODE_BASE_URL}
222 SSL_CERT_FILE: "/etc/rhodecode/conf/ca-bundle.crt"
222 SSL_CERT_FILE: "/etc/rhodecode/conf/ca-bundle.crt"
223 REQUESTS_CA_BUNDLE: "/etc/rhodecode/conf/ca-bundle.crt"
223 REQUESTS_CA_BUNDLE: "/etc/rhodecode/conf/ca-bundle.crt"
224 GIT_SSL_CAINFO: "/etc/rhodecode/conf/ca-bundle.crt"
224 GIT_SSL_CAINFO: "/etc/rhodecode/conf/ca-bundle.crt"
225
225
226 depends_on:
226 depends_on:
227 - database
227 - database
228 - redis
228 - redis
229
229
230 volumes:
230 volumes:
231 - confvolume:/etc/rhodecode/conf
231 - confvolume:/etc/rhodecode/conf
232 - logvolume:/var/log/rhodecode
232 - logvolume:/var/log/rhodecode
233 - rhodecode_repos:/var/opt/rhodecode_repo_store
233 - rhodecode_repos:/var/opt/rhodecode_repo_store
234 - datavolume:/var/opt/rhodecode_data
234 - datavolume:/var/opt/rhodecode_data
235
235
236 svn:
236 svn:
237 networks:
237 networks:
238 - rhodecode_network
238 - rhodecode_network
239 image: rhodecode/app:${RC_VERSION:?specify-RC_VERSION-env-var}
239 image: rhodecode/app:${RC_VERSION:?specify-RC_VERSION-env-var}
240 stdin_open: true
240 stdin_open: true
241 tty: true
241 tty: true
242 restart: unless-stopped
242 restart: unless-stopped
243 command: ["apachectl", "-D", "FOREGROUND"]
243 command: ["apachectl", "-D", "FOREGROUND"]
244
244
245 environment:
245 environment:
246 RC_APP_TYPE: rhodecode_svn
246 RC_APP_TYPE: rhodecode_svn
247
247
248 # SVN Specific
248 # SVN Specific
249 MOD_DAV_SVN_PORT: 8090
249 MOD_DAV_SVN_PORT: 8090
250 APACHE_LOG_DIR: /var/log/rhodecode/svn
250 APACHE_LOG_DIR: /var/log/rhodecode/svn
251 MOD_DAV_SVN_CONF_FILE: /etc/rhodecode/conf/svn/mod_dav_svn.conf
251 MOD_DAV_SVN_CONF_FILE: /etc/rhodecode/conf/svn/mod_dav_svn.conf
252
252
253 ports:
253 ports:
254 - "127.0.0.1::8090"
254 - "127.0.0.1::8090"
255
255
256 healthcheck:
256 healthcheck:
257 test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://127.0.0.1:8090/_server_status" ]
257 test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://127.0.0.1:8090/_server_status" ]
258 timeout: 30s
258 timeout: 30s
259 interval: 60s
259 interval: 60s
260 retries: 10
260 retries: 10
261
261
262 volumes:
262 volumes:
263 - confvolume:/etc/rhodecode/conf
263 - confvolume:/etc/rhodecode/conf
264 - logvolume:/var/log/rhodecode
264 - logvolume:/var/log/rhodecode
265 - rhodecode_repos:/var/opt/rhodecode_repo_store
265 - rhodecode_repos:/var/opt/rhodecode_repo_store
266
266
267 sshd:
267 sshd:
268 networks:
268 networks:
269 - rhodecode_network
269 - rhodecode_network
270 image: rhodecode/app:${RC_VERSION:?specify-RC_VERSION-env-var}
270 image: rhodecode/app:${RC_VERSION:?specify-RC_VERSION-env-var}
271 stdin_open: true
271 stdin_open: true
272 tty: true
272 tty: true
273 restart: unless-stopped
273 restart: unless-stopped
274 command: ["/usr/sbin/sshd", "-f", "/etc/rhodecode/sshd_config", "-D", "-e"]
274 command: ["/usr/sbin/sshd", "-f", "/etc/rhodecode/sshd_config", "-D", "-e"]
275
275
276 environment:
276 environment:
277 RC_APP_TYPE: rhodecode_sshd
277 RC_APP_TYPE: rhodecode_sshd
278 SSH_BOOTSTRAP: 1
278 SSH_BOOTSTRAP: 1
279
279
280 ports:
280 ports:
281 # set from .env file
281 # set from .env file
282 - "${RC_SSH_PORT:?must-specify-ssh-port}:22"
282 - "${RC_SSH_PORT:?must-specify-ssh-port}:22"
283
283
284 volumes:
284 volumes:
285 - confvolume:/etc/rhodecode/conf
285 - confvolume:/etc/rhodecode/conf
286 - logvolume:/var/log/rhodecode
286 - logvolume:/var/log/rhodecode
287 - rhodecode_repos:/var/opt/rhodecode_repo_store
287 - rhodecode_repos:/var/opt/rhodecode_repo_store
288 - datavolume:/var/opt/rhodecode_data
288 - datavolume:/var/opt/rhodecode_data
289
289
290 elasticsearch:
290 elasticsearch:
291 networks:
291 networks:
292 - rhodecode_network
292 - rhodecode_network
293 image: docker.elastic.co/elasticsearch/elasticsearch:6.8.23
293 image: docker.elastic.co/elasticsearch/elasticsearch:6.8.23
294
294
295 environment:
295 environment:
296 - cluster.name=elasticsearch-cluster
296 - cluster.name=elasticsearch-cluster
297 - network.host=0.0.0.0
297 - network.host=0.0.0.0
298 - bootstrap.memory_lock=true
298 - bootstrap.memory_lock=true
299 - discovery.type=single-node
299 - discovery.type=single-node
300 - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
300 - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
301
301
302 ulimits:
302 ulimits:
303 memlock:
303 memlock:
304 soft: -1
304 soft: -1
305 hard: -1
305 hard: -1
306
306
307 volumes:
307 volumes:
308 - es_data:/usr/share/elasticsearch/data
308 - es_data:/usr/share/elasticsearch/data
309
309
310 channelstream:
310 channelstream:
311 networks:
311 networks:
312 - rhodecode_network
312 - rhodecode_network
313 image: channelstream/channelstream:0.7.1
313 image: channelstream/channelstream:0.7.1
314
314
315 restart: unless-stopped
315 restart: unless-stopped
316
316
317 ports:
317 ports:
318 - "127.0.0.1:9800:9800"
318 - "127.0.0.1:9800:9800"
319
319
320 command: ["channelstream", "-i", "/etc/rhodecode/conf/compose/channelstream.ini"]
320 command: ["channelstream", "-i", "/etc/rhodecode/conf/compose/channelstream.ini"]
321
321
322 environment:
322 environment:
323 CHANNELSTREAM_ALLOW_POSTING_FROM: 0.0.0.0
323 CHANNELSTREAM_ALLOW_POSTING_FROM: 0.0.0.0
324
324
325 healthcheck:
325 healthcheck:
326 test: [ "CMD", "curl", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://127.0.0.1:9800/admin/sign_in" ]
326 test: [ "CMD", "curl", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://127.0.0.1:9800/admin/sign_in" ]
327 timeout: 30s
327 timeout: 30s
328 interval: 60s
328 interval: 60s
329 retries: 10
329 retries: 10
330
330
331 volumes:
331 volumes:
332 - confvolume:/etc/rhodecode/conf
332 - confvolume:/etc/rhodecode/conf
333 - logvolume:/var/log/rhodecode
333 - logvolume:/var/log/rhodecode
334
334
335 redis:
335 redis:
336 networks:
336 networks:
337 - rhodecode_network
337 - rhodecode_network
338 image: rhodecode/redis:7.0.5
338 image: rhodecode/redis:7.0.5
339
339
340 build:
340 build:
341 context: .
341 context: .
342 dockerfile: service/redis/rhodecode_redis.dockerfile
342 dockerfile: service/redis/rhodecode_redis.dockerfile
343 args:
343 args:
344 REDIS_BUILD: 7.0.5
344 REDIS_BUILD: 7.0.5
345
345
346 restart: unless-stopped
346 restart: unless-stopped
347
347
348 ports:
348 ports:
349 - "127.0.0.1::6379"
349 - "127.0.0.1::6379"
350
350
351 volumes:
351 volumes:
352 - logvolume:/var/log/rhodecode
352 - logvolume:/var/log/rhodecode
353 - datavolume:/var/opt/rhodecode_data
353 - datavolume:/var/opt/rhodecode_data
354
354
355 database:
355 database:
356 networks:
356 networks:
357 - rhodecode_network
357 - rhodecode_network
358 image: rhodecode/database:13.8
358 image: rhodecode/database:13.8
359
359
360 build:
360 build:
361 context: .
361 context: .
362 dockerfile: service/database/rhodecode_database.dockerfile
362 dockerfile: service/database/rhodecode_database.dockerfile
363 args:
363 args:
364 POSTGRES_BUILD: 13.8
364 POSTGRES_BUILD: 13.8
365
365
366 environment:
366 environment:
367 POSTGRES_DB: ${DB_NAME:?must-specify-db-name}
367 POSTGRES_DB: ${DB_NAME:?must-specify-db-name}
368 POSTGRES_USER: ${DB_USER:?must-specify-db-user}
368 POSTGRES_USER: ${DB_USER:?must-specify-db-user}
369 POSTGRES_PASSWORD: ${DB_PASSWORD:?must-specify-db-password}
369 POSTGRES_PASSWORD: ${DB_PASSWORD:?must-specify-db-password}
370 POSTGRES_HOST_AUTH_METHOD: md5
370 POSTGRES_HOST_AUTH_METHOD: md5
371
371
372 restart: unless-stopped
372 restart: unless-stopped
373
373
374 ports:
374 ports:
375 - "127.0.0.1::5432"
375 - "127.0.0.1::5432"
376
376
377 volumes:
377 volumes:
378 # save the pg_data volume
378 # save the pg_data volume
379 - pg_data:/var/lib/postgresql/data
379 - pg_data:/var/lib/postgresql/data
380 - logvolume:/var/log/rhodecode
380 - logvolume:/var/log/rhodecode
381
381
382 database-mysql:
382 database-mysql:
383 networks:
383 networks:
384 - rhodecode_network
384 - rhodecode_network
385
385
386 image: rhodecode/database_mysql:8.0.30
386 image: rhodecode/database_mysql:8.0.30
387
387
388 build:
388 build:
389 context: .
389 context: .
390 dockerfile: service/database/rhodecode_database_mysql.dockerfile
390 dockerfile: service/database/rhodecode_database_mysql.dockerfile
391 args:
391 args:
392 MYSQL_BUILD: 8.0.30
392 MYSQL_BUILD: 8.0.30
393
393
394 environment:
394 environment:
395 MYSQL_DATABASE: ${DB_NAME:?must-specify-db-name}
395 MYSQL_DATABASE: ${DB_NAME:?must-specify-db-name}
396 MYSQL_USER: ${DB_USER:?must-specify-db-user}
396 MYSQL_USER: ${DB_USER:?must-specify-db-user}
397 MYSQL_PASSWORD: ${DB_PASSWORD:?must-specify-db-password}
397 MYSQL_PASSWORD: ${DB_PASSWORD:?must-specify-db-password}
398 MYSQL_ROOT_PASSWORD: ${DB_PASSWORD:?must-specify-db-password}
398 MYSQL_ROOT_PASSWORD: ${DB_PASSWORD:?must-specify-db-password}
399
399
400 restart: unless-stopped
400 restart: unless-stopped
401
401
402 ports:
402 ports:
403 - "127.0.0.1::3306"
403 - "127.0.0.1::3306"
404
404
405 volumes:
405 volumes:
406 # save the mysql_data volume
406 # save the mysql_data volume
407 - mysql_data:/var/lib/mysql
407 - mysql_data:/var/lib/mysql
408 - logvolume:/var/log/rhodecode
408 - logvolume:/var/log/rhodecode
409
409
410 nginx:
410 nginx:
411 networks:
411 networks:
412 - rhodecode_network
412 - rhodecode_network
413 image: rhodecode/nginx:1.23.2
413 image: rhodecode/nginx:1.23.2
414
414
415 build:
415 build:
416 context: .
416 context: .
417 dockerfile: service/nginx/rhodecode_nginx.dockerfile
417 dockerfile: service/nginx/rhodecode_nginx.dockerfile
418 args:
418 args:
419 NGINX_BUILD: 1.23.2
419 NGINX_BUILD: 1.23.2
420
420
421 restart: unless-stopped
421 restart: unless-stopped
422
422
423 ports:
423 ports:
424 # set from .env file
424 # set from .env file
425 - "${RC_HTTP_PORT:?must-specify-http-port}:80"
425 - "${RC_HTTP_PORT:?must-specify-http-port}:80"
426 - "${RC_HTTPS_PORT:?must-specify-https-port}:443"
426 - "${RC_HTTPS_PORT:?must-specify-https-port}:443"
427
427
428 healthcheck:
428 healthcheck:
429 # change port 80 to 443 when only using SSL
429 # change port 80 to 443 when only using SSL
430 test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://127.0.0.1:80/_admin/ops/ping" ]
430 test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://127.0.0.1:80/_admin/ops/ping" ]
431 timeout: 30s
431 timeout: 30s
432 interval: 60s
432 interval: 60s
433 retries: 10
433 retries: 10
434
434
435 depends_on:
435 depends_on:
436 - channelstream
436 - channelstream
437
437
438 volumes:
438 volumes:
439 - confvolume:/etc/rhodecode/conf
439 - confvolume:/etc/rhodecode/conf
440 - logvolume:/var/log/rhodecode
440 - logvolume:/var/log/rhodecode
441 - datavolume:/var/opt/rhodecode_data
441 - datavolume:/var/opt/rhodecode_data
General Comments 0
You need to be logged in to leave comments. Login now