##// END OF EJS Templates
docker: recent changes for build
marcink -
r3:645270a3
parent child Browse files
Show More
@@ -6,6 +6,7 b' RC_VERSION="4.24.1"'
6
6
7 # Database access credentials
7 # Database access credentials
8 POSTGRES_DB=rhodecode
8 POSTGRES_DB=rhodecode
9 POSTGRES_USER=rhodecode
9 POSTGRES_PASSWORD=hUc1adS7oDd6Oj3in3
10 POSTGRES_PASSWORD=hUc1adS7oDd6Oj3in3
10
11
11 # base url for running app
12 # base url for running app
@@ -21,14 +21,21 b' volumes:'
21 # volume for rhodecode caches, archive caches, elasticsearch etc
21 # volume for rhodecode caches, archive caches, elasticsearch etc
22 datavolume: {}
22 datavolume: {}
23
23
24 # postgres store
24 # volume for RhodeCode repo-store, it's where the repositories will be stored
25 pg_data: {}
25 rhodecode_repos:
26 labels:
27 "keep": 1
28
29 # volume for postgres db store
30 pg_data:
31 labels:
32 "keep": 1
26
33
27 # volume for rhodecode elasticsearch
34 # volume for rhodecode elasticsearch
28 es_data: {}
35 es_data:
36 labels:
37 "keep": 1
29
38
30 # RhodeCode repo-store, it's where the repositories will be stored
31 rhodecode_repos: {}
32
39
33 networks:
40 networks:
34 rhodecode_network:
41 rhodecode_network:
@@ -45,8 +52,7 b' services:'
45 restart: unless-stopped
52 restart: unless-stopped
46 command: [
53 command: [
47 "/var/opt/rhodecode_bin/bin/gunicorn",
54 "/var/opt/rhodecode_bin/bin/gunicorn",
48 "--name",
55 "--name=gunicorn-rhodecode-1",
49 "gunicorn-rhodecode-1",
50 "--error-logfile=-",
56 "--error-logfile=-",
51 "--paster=/etc/rhodecode/conf/compose/rhodecode.optimized.ini",
57 "--paster=/etc/rhodecode/conf/compose/rhodecode.optimized.ini",
52 "--config=/etc/rhodecode/conf/gunicorn_conf.py"
58 "--config=/etc/rhodecode/conf/gunicorn_conf.py"
@@ -57,7 +63,7 b' services:'
57 build:
63 build:
58 context: .
64 context: .
59 dockerfile: service/rhodecode/rhodecode.dockerfile
65 dockerfile: service/rhodecode/rhodecode.dockerfile
60 network: rhodecode_network
66 #network: rhodecode_network
61 args:
67 args:
62 TZ: ${TZ}
68 TZ: ${TZ}
63 RHODECODE_VERSION: ${RC_VERSION:?specify-RC_VERSION-env-var}
69 RHODECODE_VERSION: ${RC_VERSION:?specify-RC_VERSION-env-var}
@@ -84,7 +90,6 b' services:'
84 APACHE_LOG_DIR: /var/log/rhodecode/svn
90 APACHE_LOG_DIR: /var/log/rhodecode/svn
85 MOD_DAV_SVN_CONF_FILE: /etc/rhodecode/conf/svn/mod_dav_svn.conf
91 MOD_DAV_SVN_CONF_FILE: /etc/rhodecode/conf/svn/mod_dav_svn.conf
86
92
87
88 healthcheck:
93 healthcheck:
89 test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://127.0.0.1:10020/_admin/ops/ping" ]
94 test: [ "CMD", "curl", "-A", "RhodeCode-Healthcheck", "-s", "-o", "/dev/null", "-w", "'%{http_code}'", "http://127.0.0.1:10020/_admin/ops/ping" ]
90 timeout: 30s
95 timeout: 30s
@@ -278,7 +283,7 b' services:'
278 elasticsearch:
283 elasticsearch:
279 networks:
284 networks:
280 - rhodecode_network
285 - rhodecode_network
281 image: docker.elastic.co/elasticsearch/elasticsearch:6.8.13
286 image: docker.elastic.co/elasticsearch/elasticsearch:6.8.14
282
287
283 environment:
288 environment:
284 - cluster.name=elasticsearch-cluster
289 - cluster.name=elasticsearch-cluster
@@ -322,11 +327,14 b' services:'
322 redis:
327 redis:
323 networks:
328 networks:
324 - rhodecode_network
329 - rhodecode_network
325 image: rhodecode/redis:6.0.10
330 image: rhodecode/redis:6.2.1
331
326 build:
332 build:
327 context: .
333 context: .
328 dockerfile: service/redis/rhodecode_redis.dockerfile
334 dockerfile: service/redis/rhodecode_redis.dockerfile
329 network: rhodecode_network
335 network: rhodecode_network
336 args:
337 REDIS_BUILD: 6.2.1
330
338
331 restart: unless-stopped
339 restart: unless-stopped
332
340
@@ -339,21 +347,25 b' services:'
339 database:
347 database:
340 networks:
348 networks:
341 - rhodecode_network
349 - rhodecode_network
342 image: rhodecode/database:13.1
350 image: rhodecode/database:13.2
351
343 build:
352 build:
344 context: .
353 context: .
345 dockerfile: service/database/rhodecode_database.dockerfile
354 dockerfile: service/database/rhodecode_database.dockerfile
346 network: rhodecode_network
355 network: rhodecode_network
347 restart: unless-stopped
356 args:
348
357 POSTGRES_BUILD: 13.2
349 ports:
350 - "127.0.0.1::5432"
351
358
352 environment:
359 environment:
353 POSTGRES_DB: ${POSTGRES_DB:?must-specify-db-name}
360 POSTGRES_DB: ${POSTGRES_DB:?must-specify-db-name}
354 POSTGRES_USER: rhodecode
361 POSTGRES_USER: ${POSTGRES_USER:?must-specify-db-user}
355 POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?must-specify-db-password}
362 POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?must-specify-db-password}
356
363
364 restart: unless-stopped
365
366 ports:
367 - "127.0.0.1::5432"
368
357 volumes:
369 volumes:
358 # save the pg_data volume
370 # save the pg_data volume
359 - pg_data:/var/lib/postgresql/data
371 - pg_data:/var/lib/postgresql/data
@@ -362,11 +374,15 b' services:'
362 nginx:
374 nginx:
363 networks:
375 networks:
364 - rhodecode_network
376 - rhodecode_network
365 image: rhodecode/nginx:1.19.6
377 image: rhodecode/nginx:1.19.8
378
366 build:
379 build:
367 context: .
380 context: .
368 dockerfile: service/nginx/rhodecode_nginx.dockerfile
381 dockerfile: service/nginx/rhodecode_nginx.dockerfile
369 network: rhodecode_network
382 network: rhodecode_network
383 args:
384 NGINX_BUILD: 1.19.8
385
370 restart: unless-stopped
386 restart: unless-stopped
371
387
372 ports:
388 ports:
@@ -1,4 +1,5 b''
1 FROM library/postgres:13.1
1 ARG POSTGRES_BUILD
2 FROM library/postgres:$POSTGRES_BUILD
2
3
3 COPY service/database/customized.conf /etc/conf.d/pg_customized.conf
4 COPY service/database/customized.conf /etc/conf.d/pg_customized.conf
4 CMD ["postgres", "-c", "log_statement=ddl"] No newline at end of file
5 CMD ["postgres", "-c", "log_statement=ddl"]
@@ -1,4 +1,5 b''
1 FROM library/nginx:1.19.6
1 ARG NGINX_BUILD
2 FROM library/nginx:$NGINX_BUILD
2
3
3 ENV NGINX_ENTRYPOINT_QUIET_LOGS=1
4 ENV NGINX_ENTRYPOINT_QUIET_LOGS=1
4
5
@@ -1,3 +1,4 b''
1 FROM library/redis:6.0.9
1 ARG REDIS_BUILD
2 FROM library/redis:$REDIS_BUILD
2 COPY service/redis/redis.conf /etc/redis/redis-rc.conf
3 COPY service/redis/redis.conf /etc/redis/redis-rc.conf
3 CMD ["redis-server", "/etc/redis/redis-rc.conf"]
4 CMD ["redis-server", "/etc/redis/redis-rc.conf"]
@@ -4,7 +4,9 b' MAINTAINER RhodeCode Inc. <support@rhodecode.com>'
4 ARG TZ="UTC"
4 ARG TZ="UTC"
5 ARG LOCALE_TYPE=en_US.UTF-8
5 ARG LOCALE_TYPE=en_US.UTF-8
6 ARG RHODECODE_TYPE=Enterprise
6 ARG RHODECODE_TYPE=Enterprise
7 # binary-install
7 ARG RHODECODE_VERSION=4.24.1
8 ARG RHODECODE_VERSION=4.24.1
9
8 ARG RHODECODE_DB=sqlite
10 ARG RHODECODE_DB=sqlite
9 ARG RHODECODE_USER_NAME=admin
11 ARG RHODECODE_USER_NAME=admin
10 ARG RHODECODE_USER_PASS=secret4
12 ARG RHODECODE_USER_PASS=secret4
@@ -76,6 +78,8 b' set -eux; \\'
76 curl \
78 curl \
77 sudo \
79 sudo \
78 gosu \
80 gosu \
81 bzip2 \
82 ca-certificates \
79 $PYTHON_DEPS \
83 $PYTHON_DEPS \
80 $SSH_LOCALE_DEPS \
84 $SSH_LOCALE_DEPS \
81 $SVN_LOCALE_DEPS \
85 $SVN_LOCALE_DEPS \
@@ -105,7 +109,8 b' ENV \\'
105 RUN \
109 RUN \
106 echo "** Create system user $RC_USER **" && \
110 echo "** Create system user $RC_USER **" && \
107 groupadd --system --gid 999 $RC_USER && \
111 groupadd --system --gid 999 $RC_USER && \
108 useradd --system --gid $RC_USER --uid 999 --shell /bin/bash $RC_USER
112 useradd --system --gid $RC_USER --uid 999 --shell /bin/bash $RC_USER && \
113 usermod -G $RC_USER $RC_USER
109
114
110 # set the defult bash shell
115 # set the defult bash shell
111 SHELL ["/bin/bash", "-c"]
116 SHELL ["/bin/bash", "-c"]
@@ -119,6 +124,7 b' echo $TZ > /etc/timezone'
119
124
120 RUN \
125 RUN \
121 echo "** prepare rhodecode store and cache **" && \
126 echo "** prepare rhodecode store and cache **" && \
127 install -d -m 0700 -o $RC_USER -g $RC_USER /nix && \
122 install -d -m 0755 -o $RC_USER -g $RC_USER /opt/rhodecode && \
128 install -d -m 0755 -o $RC_USER -g $RC_USER /opt/rhodecode && \
123 install -d -m 0755 -o $RC_USER -g $RC_USER /var/opt/rhodecode_bin && \
129 install -d -m 0755 -o $RC_USER -g $RC_USER /var/opt/rhodecode_bin && \
124 install -d -m 0755 -o $RC_USER -g $RC_USER $RHODECODE_REPO_DIR && \
130 install -d -m 0755 -o $RC_USER -g $RC_USER $RHODECODE_REPO_DIR && \
@@ -163,8 +169,8 b' echo "**** Apache config ****" && \\'
163
169
164 # Copy artifacts
170 # Copy artifacts
165 COPY --chown=$RC_USER:$RC_USER .cache/* /home/$RC_USER/.rccontrol/cache/
171 COPY --chown=$RC_USER:$RC_USER .cache/* /home/$RC_USER/.rccontrol/cache/
166 COPY --chown=$RC_USER:$RC_USER service/rhodecode/bootstrap/* /home/$RC_USER/.rccontrol/bootstrap/
167 COPY --chown=$RC_USER:$RC_USER config/compose/rhodecode_enterprise.license /home/$RC_USER/.rccontrol/bootstrap/
172 COPY --chown=$RC_USER:$RC_USER config/compose/rhodecode_enterprise.license /home/$RC_USER/.rccontrol/bootstrap/
173 COPY --chown=$RC_USER:$RC_USER service/rhodecode/bootstrap/* /home/$RC_USER/.rccontrol/bootstrap/
168
174
169 RUN \
175 RUN \
170 echo "**** locale-archive path ****" && \
176 echo "**** locale-archive path ****" && \
@@ -181,33 +187,36 b' echo "** install rhodecode control **" && \\'
181 chmod +x ${INSTALLER} && \
187 chmod +x ${INSTALLER} && \
182 ${INSTALLER} --accept-license && \
188 ${INSTALLER} --accept-license && \
183 ${RCCONTROL} self-init && \
189 ${RCCONTROL} self-init && \
184 cp -v /home/$RC_USER/.rccontrol-profile/etc/ca-bundle.crt $BUILD_CONF/
190 cp -v /home/$RC_USER/.rccontrol-profile/etc/ca-bundle.crt $BUILD_CONF/ && \
191 echo "Done"
185
192
186 RUN \
193 RUN \
187 echo "** install vcsserver ${RHODECODE_VERSION} **" && \
194 echo "** install vcsserver ${RHODECODE_VERSION} **" && \
188 ${RCCONTROL} install VCSServer --version ${RHODECODE_VERSION} --start-at-boot=yes --accept-license --offline \
195 ${RCCONTROL} install VCSServer --version ${RHODECODE_VERSION} --start-at-boot=yes --accept-license --offline \
189 '{"host":"'"$RHODECODE_VCS_HOST"'", "port":"'"$RHODECODE_VCS_PORT"'"}' && \
196 '{"host":"'"$RHODECODE_VCS_HOST"'", "port":"'"$RHODECODE_VCS_PORT"'"}' && \
190 VCSSERVER_PATH=/home/$RC_USER/.rccontrol/vcsserver-1 && \
197 VCSSERVER_PATH=/home/$RC_USER/.rccontrol/vcsserver-1 && \
191 cp -v ${VCSSERVER_PATH}/vcsserver.ini $BUILD_CONF/
198 rm -rf $BUILD_BIN_DIR/vcs_bin && ln -s ${VCSSERVER_PATH}/profile/bin $BUILD_BIN_DIR/vcs_bin && \
199 cp -v ${VCSSERVER_PATH}/vcsserver.ini $BUILD_CONF/vcsserver.ini
192
200
193 RUN \
201 RUN \
194 echo "** install rhodecode ${RHODECODE_TYPE} ${RHODECODE_VERSION} **" && \
202 echo "** install rhodecode ${RHODECODE_TYPE} ${RHODECODE_VERSION} **" && \
195 RHODECODE_DB_INIT=sqlite && \
203 RHODECODE_DB_INIT=sqlite && \
196 ${RCCONTROL} install ${RHODECODE_TYPE} --version ${RHODECODE_VERSION} --start-at-boot=yes --accept-license --offline \
204 ${RCCONTROL} install ${RHODECODE_TYPE} --version ${RHODECODE_VERSION} --start-at-boot=yes --accept-license --offline \
197 '{"host":"'"$RHODECODE_HOST"'", "port":"'"$RHODECODE_HTTP_PORT"'", "username":"'"$RHODECODE_USER_NAME"'", "password":"'"$RHODECODE_USER_PASS"'", "email":"'"$RHODECODE_USER_EMAIL"'", "repo_dir":"'"$RHODECODE_REPO_DIR"'", "database": "'"$RHODECODE_DB_INIT"'", "skip_existing_db": "1"}' && \
205 '{"host":"'"$RHODECODE_HOST"'", "port":"'"$RHODECODE_HTTP_PORT"'", "username":"'"$RHODECODE_USER_NAME"'", "password":"'"$RHODECODE_USER_PASS"'", "email":"'"$RHODECODE_USER_EMAIL"'", "repo_dir":"'"$RHODECODE_REPO_DIR"'", "database": "'"$RHODECODE_DB_INIT"'", "skip_existing_db": "1"}' && \
198 RHODECODE_PATH=/home/$RC_USER/.rccontrol/${RC_TYPE_ID} && \
206 RHODECODE_PATH=/home/$RC_USER/.rccontrol/${RC_TYPE_ID} && \
199 cp -v ${RHODECODE_PATH}/rhodecode.ini $BUILD_CONF/ && \
207 rm -rf $BUILD_BIN_DIR/bin && ln -s ${RHODECODE_PATH}/profile/bin $BUILD_BIN_DIR/ && \
200 cp -v ${RHODECODE_PATH}/search_mapping.ini $BUILD_CONF/ && \
208 cp -v ${RHODECODE_PATH}/rhodecode.ini $BUILD_CONF/rhodecode.ini && \
201 cp -v ${RHODECODE_PATH}/gunicorn_conf.py $BUILD_CONF/ && \
209 cp -v ${RHODECODE_PATH}/gunicorn_conf.py $BUILD_CONF/gunicorn_conf.py && \
202 rm -rf $BUILD_BIN_DIR/bin && ln -s ${RHODECODE_PATH}/profile/bin $BUILD_BIN_DIR && \
210 cp -v ${RHODECODE_PATH}/search_mapping.ini $BUILD_CONF/search_mapping.ini && \
203 mkdir -p $RHODECODE_DATA_DIR/static && cp -r ${RHODECODE_PATH}/public/* $RHODECODE_DATA_DIR/static/ && \
211 mkdir -p $RHODECODE_DATA_DIR/static && cp -r ${RHODECODE_PATH}/public/* $RHODECODE_DATA_DIR/static/ && \
204 rm ${RHODECODE_PATH}/rhodecode.db
212 rm ${RHODECODE_PATH}/rhodecode.db
205
213
206
214
207 RUN \
215 RUN \
208 echo "** configure supervisord **" && \
216 echo "** configure supervisord **" && \
209 cp -v ${SUPERVISOR_CONF} $BUILD_CONF/ && \
217 cp -v ${SUPERVISOR_CONF} $BUILD_CONF/ && \
210 sed -i "s/self_managed_supervisor = False/self_managed_supervisor = True/g" /home/$RC_USER/.rccontrol.ini
218 sed -i "s/self_managed_supervisor = False/self_managed_supervisor = True/g" /home/$RC_USER/.rccontrol.ini && \
219 echo "done"
211
220
212 USER root
221 USER root
213
222
General Comments 0
You need to be logged in to leave comments. Login now