1 # Copyright (C) The Arvados Authors. All rights reserved.
3 # SPDX-License-Identifier: AGPL-3.0
5 FROM arvados/arvbox-base
7 ARG composer_version=arvados-fork
8 ARG workbench2_version=master
11 git clone --no-checkout https://git.arvados.org/arvados.git && \
12 git -C arvados checkout ${arvados_version} && \
13 git -C arvados pull && \
14 git clone --no-checkout https://github.com/arvados/composer.git && \
15 git -C composer checkout ${composer_version} && \
16 git -C composer pull && \
17 git clone --no-checkout https://git.arvados.org/arvados-workbench2.git workbench2 && \
18 git -C workbench2 checkout ${workbench2_version} && \
19 git -C workbench2 pull && \
20 chown -R 1000:1000 /usr/src
22 # avoid rebuilding arvados-server, it's already been built as part of the base image
23 RUN install $GOPATH/bin/arvados-server /usr/local/bin
25 ADD service/ /var/lib/arvbox/service
26 RUN ln -sf /var/lib/arvbox/service /etc
27 RUN mkdir -p $ARVADOS_CONTAINER_PATH
28 RUN echo "production" > $ARVADOS_CONTAINER_PATH/api_rails_env
29 RUN echo "production" > $ARVADOS_CONTAINER_PATH/workbench_rails_env
31 # for the federation tests, the dev server watches a lot of files,
32 # and we run three instances of the docker container. Bump up the
33 # inotify limit from 8192, to avoid errors like
35 # throw er; // Unhandled 'error' event
38 # Error: watch /usr/src/workbench2/public ENOSPC
39 # cf. https://github.com/facebook/jest/issues/3254
40 RUN echo fs.inotify.max_user_watches=524288 >> /etc/sysctl.conf
42 RUN /usr/local/lib/arvbox/createusers.sh
44 RUN sudo -u arvbox /var/lib/arvbox/service/api/run-service --only-deps
45 RUN sudo -u arvbox /var/lib/arvbox/service/composer/run-service --only-deps
46 RUN sudo -u arvbox /var/lib/arvbox/service/workbench2/run-service --only-deps
47 RUN sudo -u arvbox /var/lib/arvbox/service/keep-web/run-service --only-deps
48 RUN sudo -u arvbox /var/lib/arvbox/service/workbench/run-service --only-deps
49 RUN sudo -u arvbox /var/lib/arvbox/service/doc/run-service --only-deps
50 RUN sudo -u arvbox /var/lib/arvbox/service/vm/run-service --only-deps
51 RUN sudo -u arvbox /var/lib/arvbox/service/keepproxy/run-service --only-deps
52 RUN sudo -u arvbox /var/lib/arvbox/service/arv-git-httpd/run-service --only-deps
53 RUN sudo -u arvbox /var/lib/arvbox/service/crunch-dispatch-local/run-service --only-deps
54 RUN sudo -u arvbox /var/lib/arvbox/service/websockets/run --only-deps
55 RUN sudo -u arvbox /usr/local/lib/arvbox/keep-setup.sh --only-deps
56 RUN sudo -u arvbox /var/lib/arvbox/service/sdk/run-service