1 # Copyright (C) The Arvados Authors. All rights reserved.
3 # SPDX-License-Identifier: AGPL-3.0
7 ENV DEBIAN_FRONTEND noninteractive
9 RUN echo "deb http://deb.debian.org/debian buster-backports main" > /etc/apt/sources.list.d/backports.list
11 RUN apt-get update && \
12 apt-get -yq --no-install-recommends -o Acquire::Retries=6 install \
13 golang -t buster-backports
15 # The arvbox-specific dependencies are
16 # gnupg2 runit python3-pip python3-setuptools python3-yaml shellinabox netcat less
17 RUN apt-get -yq --no-install-recommends -o Acquire::Retries=6 install \
18 build-essential ca-certificates git libpam0g-dev \
19 gnupg2 runit python3-pip python3-setuptools python3-yaml shellinabox netcat less && \
22 ENV GOPATH /var/lib/gopath
25 git clone https://git.arvados.org/arvados.git && \
28 cd cmd/arvados-server && \
30 $GOPATH/bin/arvados-server install -type test
32 RUN /etc/init.d/postgresql start && \
33 su postgres -c 'dropuser arvados' && \
34 su postgres -c 'createuser -s arvbox' && \
35 /etc/init.d/postgresql stop
37 ENV GEM_HOME /var/lib/arvados/lib/ruby/gems/2.5.0
38 ENV PATH $PATH:$GEM_HOME/bin
40 VOLUME /var/lib/docker
42 VOLUME /etc/ssl/private
44 ADD 8D81803C0EBFCD88.asc /tmp/
45 RUN apt-key add --no-tty /tmp/8D81803C0EBFCD88.asc && \
46 rm -f /tmp/8D81803C0EBFCD88.asc
48 RUN mkdir -p /etc/apt/sources.list.d && \
49 echo deb https://download.docker.com/linux/debian/ buster stable > /etc/apt/sources.list.d/docker.list && \
51 apt-get -yq --no-install-recommends install docker-ce=5:19.03.13~3-0~debian-buster && \
55 RUN echo en_US.UTF-8 UTF-8 > /etc/locale.gen && locale-gen
58 ENV LC_ALL en_US.UTF-8
61 RUN echo arvados_version is git commit $arvados_version
66 keep-setup.sh common.sh createusers.sh \
67 logger runsu.sh waitforpostgres.sh \
68 yml_override.py api-setup.sh \
69 go-setup.sh devenv.sh cluster-config.sh edit_users.py \
70 /usr/local/lib/arvbox/
74 # arvbox mounts a docker volume at $ARVADOS_CONTAINER_PATH, make sure that that
75 # doesn't overlap with the directory where `arvados-server install -type test`
76 # put everything (/var/lib/arvados)
77 ENV ARVADOS_CONTAINER_PATH /var/lib/arvados-arvbox
79 # Start the supervisor.
80 ENV SVDIR /etc/service