Merge branch '21128-toolbar-context-menu'
[arvados-workbench2.git] / docker / Dockerfile
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: AGPL-3.0
4
5 FROM node:12.22.3-buster
6 LABEL maintainer="Arvados Package Maintainers <packaging@arvados.org>"
7
8 RUN echo deb http://deb.debian.org/debian buster-backports main >> /etc/apt/sources.list.d/backports.list
9 RUN apt-get update && \
10     apt-get -yq --no-install-recommends -o Acquire::Retries=6 install \
11     libsecret-1-0 libsecret-1-dev rpm ruby ruby-dev rubygems build-essential \
12     libpam0g-dev libgbm1 git && \
13     apt-get clean
14
15 RUN /usr/bin/gem install --no-document fpm
16 RUN cd /usr/src && git clone git://git.arvados.org/arvados.git && \
17     cd arvados && \
18     GO_VERSION=$(grep 'goversion =' lib/install/deps.go |awk -F'"' '{print $2}') && \
19     echo $GO_VERSION && \
20     cd /usr/src && \
21     wget https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz && \
22     tar xzf go${GO_VERSION}.linux-amd64.tar.gz && \
23     ln -s /usr/src/go/bin/go /usr/local/bin/go-${GO_VERSION} && \
24     ln -s /usr/src/go/bin/gofmt /usr/local/bin/gofmt-${GO_VERSION} && \
25     ln -s /usr/local/bin/go-${GO_VERSION} /usr/local/bin/go && \
26     ln -s /usr/local/bin/gofmt-${GO_VERSION} /usr/local/bin/gofmt
27
28 # preseed arvados build dependencies
29 RUN cd /usr/src/arvados && \
30     apt-get update && \
31     go mod download && \
32     go run ./cmd/arvados-server install -type test && cd .. && \
33     rm -rf arvados && \
34     apt-get clean
35
36 RUN git config --global --add safe.directory /usr/src/arvados && \
37     git config --global --add safe.directory /usr/src/workbench2