Show More
1 | NO CONTENT: new file 100644 |
|
NO CONTENT: new file 100644 |
@@ -0,0 +1,63 b'' | |||||
|
1 | #!/usr/bin/env bash | |||
|
2 | set -euo pipefail | |||
|
3 | IFS=$'\n\t' | |||
|
4 | CURRENT_USER_UID=$(id -u) | |||
|
5 | CURRENT_USER_GID=$(id -g) | |||
|
6 | USER_UID=${USER_UID:-$CURRENT_USER_UID} | |||
|
7 | USER_GID=${USER_GID:-$CURRENT_USER_GID} | |||
|
8 | CMD="docker-compose -f docker-compose.yml" | |||
|
9 | BUILD_CMD="docker-compose -f docker-compose.yaml -f docker-compose.source.yml" | |||
|
10 | DEV_CMD="docker-compose -f docker-compose.yaml -f docker-compose.source.yml -f docker-compose.dev.yml" | |||
|
11 | ||||
|
12 | usage="$(basename "$0") ./dev.sh <COMMAND> -- run docker command | |||
|
13 | where <COMMAND>: | |||
|
14 | [v]cs -- run bash console for vcsserver | |||
|
15 | [r]c -- run bash console for rhodecode-ee | |||
|
16 | ce -- run bash console for rhodecode-ce | |||
|
17 | [t]est[s] -- run bash console for rhodecode-ce tests | |||
|
18 | test-mysql -- run bash console for rhodecode-ce tests with mysql | |||
|
19 | test-pgsql -- run bash console for rhodecode-ce tests with postgres | |||
|
20 | dev-build -- build rhodecode dev app for use without cache use | |||
|
21 | dev-env -- run the dev stack required for development | |||
|
22 | redis -- run the redis CLI attached to rc_cluster_redis_1 | |||
|
23 | run <cmd> -- run <cmd>" | |||
|
24 | ||||
|
25 | case ${1:-} in | |||
|
26 | v|vcs ) | |||
|
27 | eval "(docker stop vcsserver-dev || echo skip-stop ) && ${DEV_CMD} run --service-ports --rm --use-aliases --workdir="/home/rhodecode/rhodecode-vcsserver" --name="vcsserver-dev" vcsserver bash" | |||
|
28 | exit | |||
|
29 | ;; | |||
|
30 | r|rc ) | |||
|
31 | eval "(docker stop enterprise-ee-dev || echo skip-stop ) && ${DEV_CMD} run --publish 8080:8080 --rm --use-aliases --workdir="/home/rhodecode/rhodecode-enterprise-ee" --name="enterprise-ee-dev" rhodecode bash" | |||
|
32 | exit | |||
|
33 | ;; | |||
|
34 | ce ) | |||
|
35 | eval "(docker stop enterprise-ce-dev || echo skip-stop ) && ${DEV_CMD} run --publish 8081:8080 --rm --use-aliases --workdir="/home/rhodecode/rhodecode-enterprise-ce" --name="enterprise-ce-dev" rhodecode bash" | |||
|
36 | exit | |||
|
37 | ;; | |||
|
38 | t|test|tests ) | |||
|
39 | eval "${DEV_CMD} run --rm --use-aliases --workdir="/home/rhodecode/rhodecode-enterprise-ce" --name="enterprise-dev-test" rhodecode bash" | |||
|
40 | exit | |||
|
41 | ;; | |||
|
42 | dev-build ) | |||
|
43 | eval "${BUILD_CMD} up --detach database && ${BUILD_CMD} build --no-cache --progress=plain rhodecode" | |||
|
44 | exit | |||
|
45 | ;; | |||
|
46 | dev-env ) | |||
|
47 | eval "${BUILD_CMD} up --detach database redis channelstream nginx celery beat" | |||
|
48 | exit | |||
|
49 | ;; | |||
|
50 | redis ) | |||
|
51 | eval "docker exec --interactive --tty rc_cluster_redis_1 redis-cli" | |||
|
52 | exit | |||
|
53 | ;; | |||
|
54 | run ) | |||
|
55 | command=${@:2} | |||
|
56 | eval "${DEV_CMD} run --rm rhodecode ${command}" | |||
|
57 | exit | |||
|
58 | ;; | |||
|
59 | * ) | |||
|
60 | echo "${usage}" | |||
|
61 | exit | |||
|
62 | ;; | |||
|
63 | esac |
@@ -0,0 +1,80 b'' | |||||
|
1 | volumes: | |||
|
2 | bashhistory: | |||
|
3 | ||||
|
4 | ||||
|
5 | services: | |||
|
6 | ||||
|
7 | rhodecode: | |||
|
8 | environment: | |||
|
9 | HISTFILE: /home/rhodecode/.bash_history_docker | |||
|
10 | DB_UPGRADE: 0 # run the DB upgrade | |||
|
11 | ||||
|
12 | volumes: | |||
|
13 | - bashhistory:/home/rhodecode | |||
|
14 | ||||
|
15 | build: | |||
|
16 | context: . | |||
|
17 | dockerfile: service/rhodecode/rhodecode_source.dockerfile | |||
|
18 | ||||
|
19 | image: rhodecode/app_source:latest | |||
|
20 | ||||
|
21 | command: [ | |||
|
22 | "/home/rhodecode/rhodecode-enterprise-ee/result/bin/gunicorn", | |||
|
23 | "--name=gunicorn-rhodecode-1", | |||
|
24 | "--error-logfile=-", | |||
|
25 | "--paster=/etc/rhodecode/conf/compose/rhodecode.optimized.ini", | |||
|
26 | "--config=/etc/rhodecode/conf/gunicorn_conf.py" | |||
|
27 | ] | |||
|
28 | ||||
|
29 | vcsserver: | |||
|
30 | environment: | |||
|
31 | HISTFILE: /home/rhodecode/.bash_history_docker | |||
|
32 | ||||
|
33 | volumes: | |||
|
34 | - bashhistory:/home/rhodecode | |||
|
35 | ||||
|
36 | build: | |||
|
37 | context: . | |||
|
38 | dockerfile: service/rhodecode/rhodecode_source.dockerfile | |||
|
39 | ||||
|
40 | image: rhodecode/app_source:latest | |||
|
41 | ||||
|
42 | command: [ | |||
|
43 | "/home/rhodecode/rhodecode-vcsserver/result/bin/gunicorn", | |||
|
44 | "--name=gunicorn-vcsserver-1", | |||
|
45 | "--error-logfile=-", | |||
|
46 | "--paster=/etc/rhodecode/conf/compose/vcsserver.optimized.ini", | |||
|
47 | "--config=/etc/rhodecode/conf/gunicorn_conf.py" | |||
|
48 | ] | |||
|
49 | ||||
|
50 | celery: | |||
|
51 | ||||
|
52 | build: | |||
|
53 | context: . | |||
|
54 | dockerfile: service/rhodecode/rhodecode_source.dockerfile | |||
|
55 | ||||
|
56 | image: rhodecode/app_source:latest | |||
|
57 | ||||
|
58 | beat: | |||
|
59 | ||||
|
60 | build: | |||
|
61 | context: . | |||
|
62 | dockerfile: service/rhodecode/rhodecode_source.dockerfile | |||
|
63 | ||||
|
64 | image: rhodecode/app_source:latest | |||
|
65 | ||||
|
66 | svn: | |||
|
67 | ||||
|
68 | build: | |||
|
69 | context: . | |||
|
70 | dockerfile: service/rhodecode/rhodecode_source.dockerfile | |||
|
71 | ||||
|
72 | image: rhodecode/app_source:latest | |||
|
73 | ||||
|
74 | sshd: | |||
|
75 | ||||
|
76 | build: | |||
|
77 | context: . | |||
|
78 | dockerfile: service/rhodecode/rhodecode_source.dockerfile | |||
|
79 | ||||
|
80 | image: rhodecode/app_source:latest No newline at end of file |
@@ -0,0 +1,3 b'' | |||||
|
1 | character-set-client-handshake = FALSE | |||
|
2 | character-set-server = utf8mb4 | |||
|
3 | collation-server = utf8mb4_unicode_ci |
@@ -0,0 +1,5 b'' | |||||
|
1 | ARG MYSQL_BUILD | |||
|
2 | FROM library/mysql:$MYSQL_BUILD | |||
|
3 | ||||
|
4 | RUN mkdir -p /etc/mysql/conf.d | |||
|
5 | COPY service/database/mysql_customized.conf /etc/mysql/conf.d/config-file.cnf |
@@ -0,0 +1,298 b'' | |||||
|
1 | FROM ubuntu:groovy | |||
|
2 | MAINTAINER RhodeCode Inc. <support@rhodecode.com> | |||
|
3 | ||||
|
4 | ARG TZ="UTC" | |||
|
5 | ARG LOCALE_TYPE=en_US.UTF-8 | |||
|
6 | ARG RHODECODE_TYPE=Enterprise | |||
|
7 | # source-install | |||
|
8 | ARG RHODECODE_VERSION=4.25.0 | |||
|
9 | ||||
|
10 | ARG RHODECODE_DB=sqlite | |||
|
11 | ARG RHODECODE_USER_NAME=admin | |||
|
12 | ARG RHODECODE_USER_PASS=secret4 | |||
|
13 | ARG RHODECODE_USER_EMAIL=support@rhodecode.com | |||
|
14 | ||||
|
15 | # nix ver/channels | |||
|
16 | ARG DEV_NIX_VERSION=2.0.4 | |||
|
17 | ARG DEV_NIX_CHANNEL=nixos-18.03 | |||
|
18 | ||||
|
19 | # env are runtime | |||
|
20 | ENV \ | |||
|
21 | TZ=${TZ} \ | |||
|
22 | LOCALE_TYPE=${LOCALE_TYPE} \ | |||
|
23 | \ | |||
|
24 | ## Define type we build, and the instance we'll create | |||
|
25 | RHODECODE_TYPE=${RHODECODE_TYPE} \ | |||
|
26 | RC_TYPE_ID=enterprise-1 \ | |||
|
27 | \ | |||
|
28 | ## SETUP ARGS FOR INSTALLATION ## | |||
|
29 | ## set version we build on, get from .env or set default ver | |||
|
30 | RHODECODE_VERSION=${RHODECODE_VERSION} \ | |||
|
31 | \ | |||
|
32 | ## set DB, default sqlite | |||
|
33 | RHODECODE_DB=${RHODECODE_DB} \ | |||
|
34 | \ | |||
|
35 | ## set app bootstrap required data | |||
|
36 | RHODECODE_USER_NAME=${RHODECODE_USER_NAME} \ | |||
|
37 | RHODECODE_USER_PASS=${RHODECODE_USER_PASS} \ | |||
|
38 | RHODECODE_USER_EMAIL=${RHODECODE_USER_EMAIL} \ | |||
|
39 | \ | |||
|
40 | RC_USER=rhodecode \ | |||
|
41 | \ | |||
|
42 | # SVN CONFIG | |||
|
43 | MOD_DAV_SVN_CONF_FILE=/etc/rhodecode/conf/svn/mod_dav_svn.conf \ | |||
|
44 | MOD_DAV_SVN_PORT=8090 \ | |||
|
45 | \ | |||
|
46 | # SSHD CONFIG | |||
|
47 | SSHD_CONF_FILE=/etc/rhodecode/sshd_config \ | |||
|
48 | \ | |||
|
49 | BUILD_CONF=/etc/rhodecode/conf_build \ | |||
|
50 | BUILD_BIN_DIR=/var/opt/rhodecode_bin \ | |||
|
51 | RHODECODE_DATA_DIR=/var/opt/rhodecode_data \ | |||
|
52 | RHODECODE_REPO_DIR=/var/opt/rhodecode_repo_store \ | |||
|
53 | RHODECODE_HTTP_PORT=10020 \ | |||
|
54 | RHODECODE_VCS_PORT=10010 \ | |||
|
55 | RHODECODE_HOST=0.0.0.0 \ | |||
|
56 | RHODECODE_VCS_HOST=127.0.0.1 | |||
|
57 | ||||
|
58 | ENV \ | |||
|
59 | RCCONTROL=/home/$RC_USER/.rccontrol-profile/bin/rccontrol \ | |||
|
60 | SUPERVISOR_CONF=/home/$RC_USER/.rccontrol/supervisor/supervisord.ini \ | |||
|
61 | # make application scripts visible | |||
|
62 | PATH=$PATH:/home/$RC_USER/.rccontrol-profile/bin | |||
|
63 | ||||
|
64 | ENV SVN_LOCALE_DEPS apache2 apache2-utils libapache2-mod-svn | |||
|
65 | ENV SSH_LOCALE_DEPS openssh-server | |||
|
66 | ENV PYTHON_DEPS python2 | |||
|
67 | ENV EXTRA_DEPS vim | |||
|
68 | ||||
|
69 | ENV \ | |||
|
70 | PATH=$PATH:/nix/var/nix/profiles/per-user/$RC_USER/profile/bin:/home/$RC_USER/rhodecode-enterprise-ee/profile/bin \ | |||
|
71 | NIX_BLD_USER=nixbld \ | |||
|
72 | NIX_PATH=/nix/var/nix/profiles/per-user/$RC_USER/channels | |||
|
73 | ||||
|
74 | RUN \ | |||
|
75 | echo "** install base packages **" && \ | |||
|
76 | set -eux; \ | |||
|
77 | \ | |||
|
78 | savedAptMark="$(apt-mark showmanual)"; \ | |||
|
79 | apt-get update; \ | |||
|
80 | DEBIAN_FRONTEND="noninteractive" \ | |||
|
81 | apt-get install -y --no-install-recommends \ | |||
|
82 | tini \ | |||
|
83 | bash \ | |||
|
84 | binutils \ | |||
|
85 | tzdata \ | |||
|
86 | locales \ | |||
|
87 | openssl \ | |||
|
88 | curl \ | |||
|
89 | sudo \ | |||
|
90 | gosu \ | |||
|
91 | bzip2 \ | |||
|
92 | ca-certificates \ | |||
|
93 | $PYTHON_DEPS \ | |||
|
94 | $SSH_LOCALE_DEPS \ | |||
|
95 | $SVN_LOCALE_DEPS \ | |||
|
96 | $EXTRA_DEPS \ | |||
|
97 | ; \ | |||
|
98 | rm -rf /var/lib/apt/lists/*; | |||
|
99 | ||||
|
100 | RUN \ | |||
|
101 | echo "** Configure the python executable for py2/3 compat **" && \ | |||
|
102 | ISPY=$(which python3 || which python2) && \ | |||
|
103 | if [ -n $ISPY ] ; then ln -s $ISPY /usr/bin/python ; fi | |||
|
104 | ||||
|
105 | RUN \ | |||
|
106 | echo "** Configure the locales **" && \ | |||
|
107 | sed -i "s/^# ${LOCALE_TYPE}/${LOCALE_TYPE}/g" /etc/locale.gen && \ | |||
|
108 | locale-gen | |||
|
109 | ||||
|
110 | # locale-archive is a fix for old nix glibc2.26 locales available | |||
|
111 | ENV \ | |||
|
112 | LOCALE_ARCHIVE=/var/opt/locale-archive \ | |||
|
113 | LANG=${LOCALE_TYPE} \ | |||
|
114 | LANGUAGE=${LOCALE_TYPE} \ | |||
|
115 | LC_ALL=${LOCALE_TYPE} | |||
|
116 | ||||
|
117 | # configure the system user | |||
|
118 | # explicitly set uid/gid to guarantee that it won't change in the future | |||
|
119 | # the values 999:999 are identical to the current user/group id assigned | |||
|
120 | RUN \ | |||
|
121 | echo "** Create system user $RC_USER **" && \ | |||
|
122 | groupadd --system --gid 999 $RC_USER && \ | |||
|
123 | useradd --system --gid $RC_USER --uid 999 --shell /bin/bash $RC_USER && \ | |||
|
124 | usermod -G $RC_USER $RC_USER | |||
|
125 | ||||
|
126 | RUN \ | |||
|
127 | echo "** Create nix-build user $NIX_BLD_USER **" && \ | |||
|
128 | groupadd --system --gid 1099 $NIX_BLD_USER && \ | |||
|
129 | useradd --system --gid $NIX_BLD_USER --uid 1099 --shell /bin/bash $NIX_BLD_USER && \ | |||
|
130 | usermod -G $NIX_BLD_USER $NIX_BLD_USER | |||
|
131 | ||||
|
132 | RUN \ | |||
|
133 | echo "** disable nix sandboxing **" && \ | |||
|
134 | mkdir /etc/nix && echo 'sandbox = false' > /etc/nix/nix.conf | |||
|
135 | ||||
|
136 | ||||
|
137 | # set the defult bash shell | |||
|
138 | SHELL ["/bin/bash", "-c"] | |||
|
139 | ||||
|
140 | # Fix and set a timezone | |||
|
141 | RUN \ | |||
|
142 | echo "** configure the timezone **" && \ | |||
|
143 | rm /etc/localtime && cp /usr/share/zoneinfo/$TZ /etc/localtime && \ | |||
|
144 | echo $TZ > /etc/timezone | |||
|
145 | ||||
|
146 | ||||
|
147 | RUN \ | |||
|
148 | echo "** prepare rhodecode store and cache **" && \ | |||
|
149 | install -d -m 0700 -o $RC_USER -g $RC_USER /nix && \ | |||
|
150 | install -d -m 0755 -o $RC_USER -g $RC_USER /opt/rhodecode && \ | |||
|
151 | install -d -m 0755 -o $RC_USER -g $RC_USER /var/opt/rhodecode_bin && \ | |||
|
152 | install -d -m 0755 -o $RC_USER -g $RC_USER $RHODECODE_REPO_DIR && \ | |||
|
153 | install -d -m 0755 -o $RC_USER -g $RC_USER $RHODECODE_DATA_DIR && \ | |||
|
154 | install -d -m 0755 -o $RC_USER -g $RC_USER $BUILD_CONF && \ | |||
|
155 | install -d -m 0755 -o $RC_USER -g $RC_USER /home/$RC_USER/ && \ | |||
|
156 | install -d -m 0755 -o $RC_USER -g $RC_USER /home/$RC_USER/.rccontrol && \ | |||
|
157 | install -d -m 0755 -o $RC_USER -g $RC_USER /home/$RC_USER/.rccontrol/cache && \ | |||
|
158 | install -d -m 0755 -o $RC_USER -g $RC_USER /home/$RC_USER/.rccontrol/bootstrap && \ | |||
|
159 | install -d -m 0700 -o $RC_USER -g $RC_USER /home/$RC_USER/.ssh | |||
|
160 | ||||
|
161 | # expose our custom sshd config | |||
|
162 | COPY service/sshd/sshd_config $SSHD_CONF_FILE | |||
|
163 | ||||
|
164 | # Apache SVN setup | |||
|
165 | RUN \ | |||
|
166 | echo "**** Apache config cleanup ****" && \ | |||
|
167 | rm -f /etc/apache2/conf.d/info.conf \ | |||
|
168 | /etc/apache2/conf.d/mpm.conf \ | |||
|
169 | /etc/apache2/conf.d/userdir.conf && \ | |||
|
170 | rm -f /etc/apache2/sites-enabled/* && \ | |||
|
171 | rm -f /etc/apache2/sites-available/* | |||
|
172 | ||||
|
173 | # custom SVN virtualhost | |||
|
174 | COPY service/svn/virtualhost.conf /etc/apache2/sites-enabled/ | |||
|
175 | ||||
|
176 | RUN \ | |||
|
177 | echo "**** Apache config ****" && \ | |||
|
178 | echo $(strings /usr/lib/apache2/modules/mod_dav_svn.so | grep 'Powered by') > /var/opt/dav.version && \ | |||
|
179 | mkdir -p /run/apache2 && \ | |||
|
180 | mkdir -p /var/opt/www && \ | |||
|
181 | echo "unset HOME" > /etc/apache2/envvars && \ | |||
|
182 | echo "export APACHE_RUN_USER=${RC_USER}" >> /etc/apache2/envvars && \ | |||
|
183 | echo "export APACHE_PID_FILE=/var/run/apache2/apache2.pid" >> /etc/apache2/envvars && \ | |||
|
184 | echo "export APACHE_RUN_DIR=/var/run/apache2" >> /etc/apache2/envvars && \ | |||
|
185 | echo "export APACHE_LOCK_DIR=/var/lock/apache2" >> /etc/apache2/envvars && \ | |||
|
186 | echo "export APACHE_RUN_USER=${RC_USER}" >> /etc/apache2/envvars && \ | |||
|
187 | echo "export APACHE_RUN_GROUP=${RC_USER}" >> /etc/apache2/envvars && \ | |||
|
188 | sed -i "s/Listen 80/Listen ${MOD_DAV_SVN_PORT}/g" /etc/apache2/ports.conf | |||
|
189 | ||||
|
190 | ||||
|
191 | # Copy artifacts | |||
|
192 | COPY --chown=$RC_USER:$RC_USER .source/ /home/$RC_USER/ | |||
|
193 | COPY --chown=$RC_USER:$RC_USER .cache/* /home/$RC_USER/.rccontrol/cache/ | |||
|
194 | COPY --chown=$RC_USER:$RC_USER config/compose/rhodecode_enterprise.license /home/$RC_USER/.rccontrol/bootstrap/ | |||
|
195 | COPY --chown=$RC_USER:$RC_USER service/rhodecode/bootstrap/* /home/$RC_USER/.rccontrol/bootstrap/ | |||
|
196 | ||||
|
197 | RUN \ | |||
|
198 | echo "**** locale-archive path ****" && \ | |||
|
199 | mv -v /home/$RC_USER/.rccontrol/cache/locale-archive /var/opt/locale-archive | |||
|
200 | ||||
|
201 | # change to non-root user for RUN commands | |||
|
202 | USER $RC_USER | |||
|
203 | WORKDIR /home/$RC_USER | |||
|
204 | ||||
|
205 | RUN \ | |||
|
206 | echo "** download and install nix **" && \ | |||
|
207 | curl -L https://releases.nixos.org/nix/nix-$DEV_NIX_VERSION/install | USER=$RC_USER /bin/bash | |||
|
208 | ||||
|
209 | RUN \ | |||
|
210 | echo "** update nix package database and set channel to $DEV_NIX_CHANNEL **" && \ | |||
|
211 | . /home/rhodecode/.nix-profile/etc/profile.d/nix.sh && \ | |||
|
212 | nix-channel --add https://nixos.org/channels/$DEV_NIX_CHANNEL nixpkgs && \ | |||
|
213 | nix-channel --update | |||
|
214 | ||||
|
215 | ||||
|
216 | RUN \ | |||
|
217 | echo "** save nix config **" && \ | |||
|
218 | touch /home/$RC_USER/.rhoderc && \ | |||
|
219 | mkdir -p /home/$RC_USER/.nixpkgs && touch /home/$RC_USER/.nixpkgs/config.nix && \ | |||
|
220 | printf '{\n rc = {\n sources = {\n rhodecode-vcsserver = "/home/'$RC_USER'/rhodecode-vcsserver";\n rhodecode-enterprise-ce = "/home/'$RC_USER'/rhodecode-enterprise-ce";\n rhodecode-enterprise-ee = "/home/'$RC_USER'/rhodecode-enterprise-ee";\n };\n };\n}\n' > /home/$RC_USER/.nixpkgs/config.nix | |||
|
221 | ||||
|
222 | ||||
|
223 | RUN \ | |||
|
224 | echo "** install rhodecode control **" && \ | |||
|
225 | # cd /home/$RC_USER/.rccontrol/cache && \ | |||
|
226 | # INSTALLER=$(ls -Art /home/$RC_USER/.rccontrol/cache/RhodeCode-installer-* | tail -n 1) && \ | |||
|
227 | # chmod +x ${INSTALLER} && \ | |||
|
228 | # ${INSTALLER} --accept-license && \ | |||
|
229 | # ${RCCONTROL} self-init && \ | |||
|
230 | # cp -v /home/$RC_USER/.rccontrol-profile/etc/ca-bundle.crt $BUILD_CONF/ && \ | |||
|
231 | echo "Done" | |||
|
232 | ||||
|
233 | RUN \ | |||
|
234 | echo "** install build vcsserver ${RHODECODE_VERSION} **" && \ | |||
|
235 | . /home/rhodecode/.nix-profile/etc/profile.d/nix.sh && \ | |||
|
236 | nix-build --show-trace --cores 0 --max-jobs 4 --no-build-output --out-link rhodecode-vcsserver/result rhodecode-vcsserver/default.nix && \ | |||
|
237 | nix-shell --command 'echo ok' rhodecode-vcsserver/default.nix && \ | |||
|
238 | VCSSERVER_PATH=/home/$RC_USER/rhodecode-vcsserver && \ | |||
|
239 | rm -rf $BUILD_BIN_DIR/vcs_bin && ln -s ${VCSSERVER_PATH}/result/bin $BUILD_BIN_DIR/vcs_bin && \ | |||
|
240 | cp -v ${VCSSERVER_PATH}/configs/production.ini $BUILD_CONF/vcsserver.ini | |||
|
241 | ||||
|
242 | RUN \ | |||
|
243 | echo "** install build Community ${RHODECODE_VERSION} **" && \ | |||
|
244 | . /home/rhodecode/.nix-profile/etc/profile.d/nix.sh && \ | |||
|
245 | echo "done" | |||
|
246 | ||||
|
247 | RUN \ | |||
|
248 | echo "** install build Enterprise ${RHODECODE_VERSION} **" && \ | |||
|
249 | . /home/rhodecode/.nix-profile/etc/profile.d/nix.sh && \ | |||
|
250 | nix-build --show-trace --cores 0 --max-jobs 4 --no-build-output --out-link rhodecode-enterprise-ee/result rhodecode-enterprise-ee/default.nix && \ | |||
|
251 | nix-shell --command 'echo ok' rhodecode-enterprise-ee/default.nix && \ | |||
|
252 | RHODECODE_PATH=/home/$RC_USER/rhodecode-enterprise-ee && \ | |||
|
253 | rm -rf $BUILD_BIN_DIR/bin && ln -s ${RHODECODE_PATH}/result/bin $BUILD_BIN_DIR/ && \ | |||
|
254 | cp -v ${RHODECODE_PATH}/configs/production.ini $BUILD_CONF/rhodecode.ini && \ | |||
|
255 | cp -v ${RHODECODE_PATH}/configs/gunicorn_config.py $BUILD_CONF/gunicorn_conf.py && \ | |||
|
256 | mkdir -p $RHODECODE_DATA_DIR/static && cp -r ${RHODECODE_PATH}/result/etc/static/* $RHODECODE_DATA_DIR/static/ | |||
|
257 | ||||
|
258 | ||||
|
259 | RUN \ | |||
|
260 | echo "** configure supervisord **" && \ | |||
|
261 | #cp -v ${SUPERVISOR_CONF} $BUILD_CONF/ && \ | |||
|
262 | #sed -i "s/self_managed_supervisor = False/self_managed_supervisor = True/g" /home/$RC_USER/.rccontrol.ini && \ | |||
|
263 | echo "done" | |||
|
264 | ||||
|
265 | USER root | |||
|
266 | ||||
|
267 | ||||
|
268 | RUN \ | |||
|
269 | echo "**** cleanup ****" && \ | |||
|
270 | apt-get remove -y $PYTHON_DEPS && \ | |||
|
271 | apt-get autoclean -y && \ | |||
|
272 | rm -f /tmp/* && \ | |||
|
273 | rm -f /home/$RC_USER/.rccontrol/cache/RhodeCode-installer-* && \ | |||
|
274 | rm -f /home/$RC_USER/.rccontrol/cache/*.bz2 && \ | |||
|
275 | rm -rf /var/lib/apt/lists/* \ | |||
|
276 | rm -rf /var/cache/apk/* \ | |||
|
277 | rm ${SUPERVISOR_CONF} | |||
|
278 | ||||
|
279 | # copy entrypoints | |||
|
280 | COPY entrypoints.d/entrypoint.sh /opt/entrypoints.d/entrypoint.sh | |||
|
281 | RUN chmod +x /opt/entrypoints.d/entrypoint.sh | |||
|
282 | ||||
|
283 | # config volume | |||
|
284 | VOLUME /etc/rhodecode/conf | |||
|
285 | ||||
|
286 | # repo store volume | |||
|
287 | VOLUME /var/opt/rhodecode_repo_store | |||
|
288 | ||||
|
289 | # data volume | |||
|
290 | VOLUME /var/opt/rhodecode_data | |||
|
291 | ||||
|
292 | # logs volume | |||
|
293 | VOLUME /var/log/rhodecode | |||
|
294 | ||||
|
295 | ENTRYPOINT ["/opt/entrypoints.d/entrypoint.sh"] | |||
|
296 | ||||
|
297 | # compose can override this | |||
|
298 | CMD ["supervisord", "--nodaemon", "-c", "/etc/rhodecode/conf/supervisord.ini"] |
General Comments 0
You need to be logged in to leave comments.
Login now