Merge branch '21128-toolbar-context-menu'
[arvados-workbench2.git] / docker / Dockerfile
index a6abbbd39c1634486ce325d5b92129c941d8a712..f529b796d104f408ec99ed31b74a39eb2069685e 100644 (file)
@@ -2,16 +2,36 @@
 #
 # SPDX-License-Identifier: AGPL-3.0
 
-FROM node:8-buster
-MAINTAINER Ward Vandewege <ward@curoverse.com>
+FROM node:12.22.3-buster
+LABEL maintainer="Arvados Package Maintainers <packaging@arvados.org>"
+
+RUN echo deb http://deb.debian.org/debian buster-backports main >> /etc/apt/sources.list.d/backports.list
 RUN apt-get update && \
     apt-get -yq --no-install-recommends -o Acquire::Retries=6 install \
     libsecret-1-0 libsecret-1-dev rpm ruby ruby-dev rubygems build-essential \
-    golang libpam0g-dev && \
+    libpam0g-dev libgbm1 git && \
     apt-get clean
-RUN gem install --no-ri --no-rdoc fpm
-RUN git clone https://git.arvados.org/arvados.git && cd arvados && \
+
+RUN /usr/bin/gem install --no-document fpm
+RUN cd /usr/src && git clone git://git.arvados.org/arvados.git && \
+    cd arvados && \
+    GO_VERSION=$(grep 'goversion =' lib/install/deps.go |awk -F'"' '{print $2}') && \
+    echo $GO_VERSION && \
+    cd /usr/src && \
+    wget https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz && \
+    tar xzf go${GO_VERSION}.linux-amd64.tar.gz && \
+    ln -s /usr/src/go/bin/go /usr/local/bin/go-${GO_VERSION} && \
+    ln -s /usr/src/go/bin/gofmt /usr/local/bin/gofmt-${GO_VERSION} && \
+    ln -s /usr/local/bin/go-${GO_VERSION} /usr/local/bin/go && \
+    ln -s /usr/local/bin/gofmt-${GO_VERSION} /usr/local/bin/gofmt
+
+# preseed arvados build dependencies
+RUN cd /usr/src/arvados && \
+    apt-get update && \
     go mod download && \
     go run ./cmd/arvados-server install -type test && cd .. && \
     rm -rf arvados && \
     apt-get clean
+
+RUN git config --global --add safe.directory /usr/src/arvados && \
+    git config --global --add safe.directory /usr/src/workbench2
\ No newline at end of file