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