commit cef38bf40bd4550e6c567e15cf92419ddddc49f4
parent d7ee7caed4f1eb147ae4e9b0114dd6b01afa557f
Author: Daniel GarcĂa <dani-garcia@users.noreply.github.com>
Date: Tue, 9 Jul 2019 17:22:27 +0200
Merge pull request #525 from fbartels/hadolint
use hadolint for linting Dockerfiles
Diffstat:
12 files changed, 161 insertions(+), 114 deletions(-)
diff --git a/.hadolint.yaml b/.hadolint.yaml
@@ -0,0 +1,7 @@
+ignored:
+ # disable explicit version for apt install
+ - DL3008
+ # disable explicit version for apk install
+ - DL3018
+trustedRegistries:
+ - docker.io
diff --git a/.travis.yml b/.travis.yml
@@ -1,11 +1,20 @@
dist: xenial
+env:
+ global:
+ - HADOLINT_VERSION=1.17.1
+
language: rust
rust: nightly
cache: cargo
+before_install:
+ - sudo curl -L https://github.com/hadolint/hadolint/releases/download/v$HADOLINT_VERSION/hadolint-$(uname -s)-$(uname -m) -o /usr/local/bin/hadolint
+ - sudo chmod +rx /usr/local/bin/hadolint
+
# Nothing to install
install: true
script:
+- git ls-files --exclude='Dockerfile*' --ignored | xargs --max-lines=1 hadolint
- cargo build --features "sqlite"
- cargo build --features "mysql"
diff --git a/docker/aarch64/mysql/Dockerfile b/docker/aarch64/mysql/Dockerfile
@@ -2,32 +2,35 @@
# https://docs.docker.com/develop/develop-images/multistage-build/
# https://whitfin.io/speeding-up-rust-docker-builds/
####################### VAULT BUILD IMAGE #######################
-FROM alpine as vault
+FROM alpine:3.10 as vault
ENV VAULT_VERSION "v2.10.1"
ENV URL "https://github.com/dani-garcia/bw_web_builds/releases/download/$VAULT_VERSION/bw_web_$VAULT_VERSION.tar.gz"
-RUN apk add --update-cache --upgrade \
+RUN apk add --no-cache --upgrade \
curl \
tar
RUN mkdir /web-vault
WORKDIR /web-vault
+SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
+
RUN curl -L $URL | tar xz
RUN ls
########################## BUILD IMAGE ##########################
# We need to use the Rust build image, because
# we need the Rust compiler and Cargo tooling
-FROM rust as build
+FROM rust:1.36 as build
# set mysql backend
ARG DB=mysql
RUN apt-get update \
&& apt-get install -y \
+ --no-install-recommends \
gcc-aarch64-linux-gnu \
&& mkdir -p ~/.cargo \
&& echo '[target.aarch64-unknown-linux-gnu]' >> ~/.cargo/config \
@@ -44,6 +47,7 @@ RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
&& dpkg --add-architecture arm64 \
&& apt-get update \
&& apt-get install -y \
+ --no-install-recommends \
libssl-dev:arm64 \
libc6-dev:arm64 \
libmariadb-dev:arm64
@@ -73,11 +77,11 @@ ENV ROCKET_WORKERS=10
RUN [ "cross-build-start" ]
# Install needed libraries
-RUN apt-get update && apt-get install -y\
- openssl\
- ca-certificates\
- libmariadbclient-dev\
- --no-install-recommends\
+RUN apt-get update && apt-get install -y \
+ --no-install-recommends \
+ openssl \
+ ca-certificates \
+ libmariadbclient-dev \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir /data
@@ -94,4 +98,4 @@ COPY --from=vault /web-vault ./web-vault
COPY --from=build /app/target/aarch64-unknown-linux-gnu/release/bitwarden_rs .
# Configures the startup!
-CMD ./bitwarden_rs
+CMD ["./bitwarden_rs"]
+\ No newline at end of file
diff --git a/docker/aarch64/sqlite/Dockerfile b/docker/aarch64/sqlite/Dockerfile
@@ -2,32 +2,35 @@
# https://docs.docker.com/develop/develop-images/multistage-build/
# https://whitfin.io/speeding-up-rust-docker-builds/
####################### VAULT BUILD IMAGE #######################
-FROM alpine as vault
+FROM alpine:3.10 as vault
ENV VAULT_VERSION "v2.10.1"
ENV URL "https://github.com/dani-garcia/bw_web_builds/releases/download/$VAULT_VERSION/bw_web_$VAULT_VERSION.tar.gz"
-RUN apk add --update-cache --upgrade \
+RUN apk add --no-cache --upgrade \
curl \
tar
RUN mkdir /web-vault
WORKDIR /web-vault
+SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
+
RUN curl -L $URL | tar xz
RUN ls
########################## BUILD IMAGE ##########################
# We need to use the Rust build image, because
# we need the Rust compiler and Cargo tooling
-FROM rust as build
+FROM rust:1.36 as build
# set sqlite as default for DB ARG for backward comaptibility
ARG DB=sqlite
RUN apt-get update \
&& apt-get install -y \
+ --no-install-recommends \
gcc-aarch64-linux-gnu \
&& mkdir -p ~/.cargo \
&& echo '[target.aarch64-unknown-linux-gnu]' >> ~/.cargo/config \
@@ -44,6 +47,7 @@ RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
&& dpkg --add-architecture arm64 \
&& apt-get update \
&& apt-get install -y \
+ --no-install-recommends \
libssl-dev:arm64 \
libc6-dev:arm64 \
libmariadb-dev:arm64
@@ -73,11 +77,11 @@ ENV ROCKET_WORKERS=10
RUN [ "cross-build-start" ]
# Install needed libraries
-RUN apt-get update && apt-get install -y\
- openssl\
- ca-certificates\
- libmariadbclient-dev\
- --no-install-recommends\
+RUN apt-get update && apt-get install -y \
+ --no-install-recommends \
+ openssl \
+ ca-certificates \
+ libmariadbclient-dev \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir /data
@@ -94,4 +98,4 @@ COPY --from=vault /web-vault ./web-vault
COPY --from=build /app/target/aarch64-unknown-linux-gnu/release/bitwarden_rs .
# Configures the startup!
-CMD ./bitwarden_rs
+CMD ["./bitwarden_rs"]
+\ No newline at end of file
diff --git a/docker/amd64/mysql/Dockerfile b/docker/amd64/mysql/Dockerfile
@@ -2,41 +2,43 @@
# https://docs.docker.com/develop/develop-images/multistage-build/
# https://whitfin.io/speeding-up-rust-docker-builds/
####################### VAULT BUILD IMAGE #######################
-FROM alpine as vault
+FROM alpine:3.10 as vault
ENV VAULT_VERSION "v2.10.1"
ENV URL "https://github.com/dani-garcia/bw_web_builds/releases/download/$VAULT_VERSION/bw_web_$VAULT_VERSION.tar.gz"
-RUN apk add --update-cache --upgrade \
+RUN apk add --no-cache --upgrade \
curl \
tar
RUN mkdir /web-vault
WORKDIR /web-vault
+SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
+
RUN curl -L $URL | tar xz
RUN ls
########################## BUILD IMAGE ##########################
# We need to use the Rust build image, because
# we need the Rust compiler and Cargo tooling
-FROM rust as build
+FROM rust:1.36 as build
# set mysql backend
ARG DB=mysql
# Using bundled SQLite, no need to install it
# RUN apt-get update && apt-get install -y\
+# --no-install-recommends \
# sqlite3\
-# --no-install-recommends\
# && rm -rf /var/lib/apt/lists/*
# Install MySQL package
RUN apt-get update && apt-get install -y \
- libmariadb-dev\
- --no-install-recommends\
- && rm -rf /var/lib/apt/lists/*
+ --no-install-recommends \
+ libmariadb-dev \
+ && rm -rf /var/lib/apt/lists/*
# Creates a dummy project used to grab dependencies
RUN USER=root cargo new --bin app
@@ -74,12 +76,12 @@ ENV ROCKET_PORT=80
ENV ROCKET_WORKERS=10
# Install needed libraries
-RUN apt-get update && apt-get install -y\
- openssl\
- ca-certificates\
- libmariadbclient-dev\
- --no-install-recommends\
- && rm -rf /var/lib/apt/lists/*
+RUN apt-get update && apt-get install -y \
+ --no-install-recommends \
+ openssl \
+ ca-certificates \
+ libmariadbclient-dev \
+ && rm -rf /var/lib/apt/lists/*
RUN mkdir /data
VOLUME /data
@@ -93,4 +95,4 @@ COPY --from=vault /web-vault ./web-vault
COPY --from=build app/target/release/bitwarden_rs .
# Configures the startup!
-CMD ./bitwarden_rs
+CMD ["./bitwarden_rs"]
+\ No newline at end of file
diff --git a/docker/amd64/mysql/Dockerfile.alpine b/docker/amd64/mysql/Dockerfile.alpine
@@ -2,19 +2,21 @@
# https://docs.docker.com/develop/develop-images/multistage-build/
# https://whitfin.io/speeding-up-rust-docker-builds/
####################### VAULT BUILD IMAGE #######################
-FROM alpine as vault
+FROM alpine:3.10 as vault
ENV VAULT_VERSION "v2.10.1"
ENV URL "https://github.com/dani-garcia/bw_web_builds/releases/download/$VAULT_VERSION/bw_web_$VAULT_VERSION.tar.gz"
-RUN apk add --update-cache --upgrade \
+RUN apk add --no-cache --upgrade \
curl \
tar
RUN mkdir /web-vault
WORKDIR /web-vault
+SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
+
RUN curl -L $URL | tar xz
RUN ls
@@ -28,10 +30,10 @@ ARG DB=mysql
ENV USER "root"
# Install needed libraries
-RUN apt-get update && apt-get install -y\
- libmysqlclient-dev\
- --no-install-recommends\
- && rm -rf /var/lib/apt/lists/*
+RUN apt-get update && apt-get install -y \
+ --no-install-recommends \
+ libmysqlclient-dev \
+ && rm -rf /var/lib/apt/lists/*
WORKDIR /app
@@ -50,7 +52,7 @@ RUN cargo build --features ${DB} --release
######################## RUNTIME IMAGE ########################
# Create a new stage with a minimal image
# because we already have a binary built
-FROM alpine:3.9
+FROM alpine:3.10
ENV ROCKET_ENV "staging"
ENV ROCKET_PORT=80
@@ -58,11 +60,10 @@ ENV ROCKET_WORKERS=10
ENV SSL_CERT_DIR=/etc/ssl/certs
# Install needed libraries
-RUN apk add \
+RUN apk add --no-cache \
openssl \
mariadb-connector-c \
- ca-certificates \
- && rm /var/cache/apk/*
+ ca-certificates
RUN mkdir /data
VOLUME /data
@@ -76,4 +77,4 @@ COPY --from=vault /web-vault ./web-vault
COPY --from=build /app/target/x86_64-unknown-linux-musl/release/bitwarden_rs .
# Configures the startup!
-CMD ./bitwarden_rs
+CMD ["./bitwarden_rs"]
+\ No newline at end of file
diff --git a/docker/amd64/sqlite/Dockerfile b/docker/amd64/sqlite/Dockerfile
@@ -2,41 +2,43 @@
# https://docs.docker.com/develop/develop-images/multistage-build/
# https://whitfin.io/speeding-up-rust-docker-builds/
####################### VAULT BUILD IMAGE #######################
-FROM alpine as vault
+FROM alpine:3.10 as vault
ENV VAULT_VERSION "v2.10.1"
ENV URL "https://github.com/dani-garcia/bw_web_builds/releases/download/$VAULT_VERSION/bw_web_$VAULT_VERSION.tar.gz"
-RUN apk add --update-cache --upgrade \
+RUN apk add --no-cache --upgrade \
curl \
tar
RUN mkdir /web-vault
WORKDIR /web-vault
+SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
+
RUN curl -L $URL | tar xz
RUN ls
########################## BUILD IMAGE ##########################
# We need to use the Rust build image, because
# we need the Rust compiler and Cargo tooling
-FROM rust as build
+FROM rust:1.36 as build
# set sqlite as default for DB ARG for backward comaptibility
ARG DB=sqlite
# Using bundled SQLite, no need to install it
# RUN apt-get update && apt-get install -y\
-# sqlite3\
-# --no-install-recommends\
+# --no-install-recommends \
+# sqlite3 \
# && rm -rf /var/lib/apt/lists/*
# Install MySQL package
RUN apt-get update && apt-get install -y \
- libmariadb-dev\
- --no-install-recommends\
- && rm -rf /var/lib/apt/lists/*
+ --no-install-recommends \
+ libmariadb-dev \
+ && rm -rf /var/lib/apt/lists/*
# Creates a dummy project used to grab dependencies
RUN USER=root cargo new --bin app
@@ -74,12 +76,12 @@ ENV ROCKET_PORT=80
ENV ROCKET_WORKERS=10
# Install needed libraries
-RUN apt-get update && apt-get install -y\
- openssl\
- ca-certificates\
- libmariadbclient-dev\
- --no-install-recommends\
- && rm -rf /var/lib/apt/lists/*
+RUN apt-get update && apt-get install -y \
+ --no-install-recommends \
+ openssl \
+ ca-certificates \
+ libmariadbclient-dev \
+ && rm -rf /var/lib/apt/lists/*
RUN mkdir /data
VOLUME /data
@@ -93,4 +95,4 @@ COPY --from=vault /web-vault ./web-vault
COPY --from=build app/target/release/bitwarden_rs .
# Configures the startup!
-CMD ./bitwarden_rs
+CMD ["./bitwarden_rs"]
diff --git a/docker/amd64/sqlite/Dockerfile.alpine b/docker/amd64/sqlite/Dockerfile.alpine
@@ -2,19 +2,21 @@
# https://docs.docker.com/develop/develop-images/multistage-build/
# https://whitfin.io/speeding-up-rust-docker-builds/
####################### VAULT BUILD IMAGE #######################
-FROM alpine as vault
+FROM alpine:3.10 as vault
ENV VAULT_VERSION "v2.10.1"
ENV URL "https://github.com/dani-garcia/bw_web_builds/releases/download/$VAULT_VERSION/bw_web_$VAULT_VERSION.tar.gz"
-RUN apk add --update-cache --upgrade \
+RUN apk add --no-cache --upgrade \
curl \
tar
RUN mkdir /web-vault
WORKDIR /web-vault
+SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
+
RUN curl -L $URL | tar xz
RUN ls
@@ -28,10 +30,10 @@ ARG DB=sqlite
ENV USER "root"
# Install needed libraries
-RUN apt-get update && apt-get install -y\
- libmysqlclient-dev\
- --no-install-recommends\
- && rm -rf /var/lib/apt/lists/*
+RUN apt-get update && apt-get install -y \
+ --no-install-recommends \
+ libmysqlclient-dev \
+ && rm -rf /var/lib/apt/lists/*
WORKDIR /app
@@ -50,7 +52,7 @@ RUN cargo build --features ${DB} --release
######################## RUNTIME IMAGE ########################
# Create a new stage with a minimal image
# because we already have a binary built
-FROM alpine:3.9
+FROM alpine:3.10
ENV ROCKET_ENV "staging"
ENV ROCKET_PORT=80
@@ -58,11 +60,10 @@ ENV ROCKET_WORKERS=10
ENV SSL_CERT_DIR=/etc/ssl/certs
# Install needed libraries
-RUN apk add \
+RUN apk add --no-cache \
openssl \
mariadb-connector-c \
- ca-certificates \
- && rm /var/cache/apk/*
+ ca-certificates
RUN mkdir /data
VOLUME /data
@@ -76,4 +77,4 @@ COPY --from=vault /web-vault ./web-vault
COPY --from=build /app/target/x86_64-unknown-linux-musl/release/bitwarden_rs .
# Configures the startup!
-CMD ./bitwarden_rs
+CMD ["./bitwarden_rs"]
diff --git a/docker/armv6/mysql/Dockerfile b/docker/armv6/mysql/Dockerfile
@@ -2,32 +2,35 @@
# https://docs.docker.com/develop/develop-images/multistage-build/
# https://whitfin.io/speeding-up-rust-docker-builds/
####################### VAULT BUILD IMAGE #######################
-FROM alpine as vault
+FROM alpine:3.10 as vault
ENV VAULT_VERSION "v2.10.1"
ENV URL "https://github.com/dani-garcia/bw_web_builds/releases/download/$VAULT_VERSION/bw_web_$VAULT_VERSION.tar.gz"
-RUN apk add --update-cache --upgrade \
+RUN apk add --no-cache --upgrade \
curl \
tar
RUN mkdir /web-vault
WORKDIR /web-vault
+SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
+
RUN curl -L $URL | tar xz
RUN ls
########################## BUILD IMAGE ##########################
# We need to use the Rust build image, because
# we need the Rust compiler and Cargo tooling
-FROM rust as build
+FROM rust:1.36 as build
# set mysql backend
ARG DB=mysql
RUN apt-get update \
&& apt-get install -y \
+ --no-install-recommends \
gcc-arm-linux-gnueabi \
&& mkdir -p ~/.cargo \
&& echo '[target.arm-unknown-linux-gnueabi]' >> ~/.cargo/config \
@@ -44,6 +47,7 @@ RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
&& dpkg --add-architecture armel \
&& apt-get update \
&& apt-get install -y \
+ --no-install-recommends \
libssl-dev:armel \
libc6-dev:armel \
libmariadb-dev:armel
@@ -73,12 +77,12 @@ ENV ROCKET_WORKERS=10
RUN [ "cross-build-start" ]
# Install needed libraries
-RUN apt-get update && apt-get install -y\
- openssl\
- ca-certificates\
- libmariadbclient-dev\
- --no-install-recommends\
- && rm -rf /var/lib/apt/lists/*
+RUN apt-get update && apt-get install -y \
+ --no-install-recommends \
+ openssl \
+ ca-certificates \
+ libmariadbclient-dev \
+ && rm -rf /var/lib/apt/lists/*
RUN mkdir /data
@@ -94,4 +98,4 @@ COPY --from=vault /web-vault ./web-vault
COPY --from=build /app/target/arm-unknown-linux-gnueabi/release/bitwarden_rs .
# Configures the startup!
-CMD ./bitwarden_rs
-\ No newline at end of file
+CMD ["./bitwarden_rs"]
diff --git a/docker/armv6/sqlite/Dockerfile b/docker/armv6/sqlite/Dockerfile
@@ -2,32 +2,35 @@
# https://docs.docker.com/develop/develop-images/multistage-build/
# https://whitfin.io/speeding-up-rust-docker-builds/
####################### VAULT BUILD IMAGE #######################
-FROM alpine as vault
+FROM alpine:3.10 as vault
ENV VAULT_VERSION "v2.10.1"
ENV URL "https://github.com/dani-garcia/bw_web_builds/releases/download/$VAULT_VERSION/bw_web_$VAULT_VERSION.tar.gz"
-RUN apk add --update-cache --upgrade \
+RUN apk add --no-cache --upgrade \
curl \
tar
RUN mkdir /web-vault
WORKDIR /web-vault
+SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
+
RUN curl -L $URL | tar xz
RUN ls
########################## BUILD IMAGE ##########################
# We need to use the Rust build image, because
# we need the Rust compiler and Cargo tooling
-FROM rust as build
+FROM rust:1.36 as build
# set sqlite as default for DB ARG for backward comaptibility
ARG DB=sqlite
RUN apt-get update \
&& apt-get install -y \
+ --no-install-recommends \
gcc-arm-linux-gnueabi \
&& mkdir -p ~/.cargo \
&& echo '[target.arm-unknown-linux-gnueabi]' >> ~/.cargo/config \
@@ -44,6 +47,7 @@ RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
&& dpkg --add-architecture armel \
&& apt-get update \
&& apt-get install -y \
+ --no-install-recommends \
libssl-dev:armel \
libc6-dev:armel \
libmariadb-dev:armel
@@ -73,12 +77,12 @@ ENV ROCKET_WORKERS=10
RUN [ "cross-build-start" ]
# Install needed libraries
-RUN apt-get update && apt-get install -y\
- openssl\
- ca-certificates\
- libmariadbclient-dev\
- --no-install-recommends\
- && rm -rf /var/lib/apt/lists/*
+RUN apt-get update && apt-get install -y \
+ --no-install-recommends \
+ openssl \
+ ca-certificates \
+ libmariadbclient-dev \
+ && rm -rf /var/lib/apt/lists/*
RUN mkdir /data
@@ -94,4 +98,4 @@ COPY --from=vault /web-vault ./web-vault
COPY --from=build /app/target/arm-unknown-linux-gnueabi/release/bitwarden_rs .
# Configures the startup!
-CMD ./bitwarden_rs
-\ No newline at end of file
+CMD ["./bitwarden_rs"]
diff --git a/docker/armv7/mysql/Dockerfile b/docker/armv7/mysql/Dockerfile
@@ -2,32 +2,35 @@
# https://docs.docker.com/develop/develop-images/multistage-build/
# https://whitfin.io/speeding-up-rust-docker-builds/
####################### VAULT BUILD IMAGE #######################
-FROM alpine as vault
+FROM alpine:3.10 as vault
ENV VAULT_VERSION "v2.10.1"
ENV URL "https://github.com/dani-garcia/bw_web_builds/releases/download/$VAULT_VERSION/bw_web_$VAULT_VERSION.tar.gz"
-RUN apk add --update-cache --upgrade \
+RUN apk add --no-cache --upgrade \
curl \
tar
RUN mkdir /web-vault
WORKDIR /web-vault
+SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
+
RUN curl -L $URL | tar xz
RUN ls
########################## BUILD IMAGE ##########################
# We need to use the Rust build image, because
# we need the Rust compiler and Cargo tooling
-FROM rust as build
+FROM rust:1.36 as build
# set mysql backend
ARG DB=mysql
RUN apt-get update \
&& apt-get install -y \
+ --no-install-recommends \
gcc-arm-linux-gnueabihf \
&& mkdir -p ~/.cargo \
&& echo '[target.armv7-unknown-linux-gnueabihf]' >> ~/.cargo/config \
@@ -44,6 +47,7 @@ RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
&& dpkg --add-architecture armhf \
&& apt-get update \
&& apt-get install -y \
+ --no-install-recommends \
libssl-dev:armhf \
libc6-dev:armhf \
libmariadb-dev:armhf
@@ -74,12 +78,12 @@ ENV ROCKET_WORKERS=10
RUN [ "cross-build-start" ]
# Install needed libraries
-RUN apt-get update && apt-get install -y\
- openssl\
- ca-certificates\
- libmariadbclient-dev\
- --no-install-recommends\
- && rm -rf /var/lib/apt/lists/*
+RUN apt-get update && apt-get install -y \
+ --no-install-recommends \
+ openssl \
+ ca-certificates \
+ libmariadbclient-dev \
+ && rm -rf /var/lib/apt/lists/*
RUN mkdir /data
@@ -95,4 +99,4 @@ COPY --from=vault /web-vault ./web-vault
COPY --from=build /app/target/armv7-unknown-linux-gnueabihf/release/bitwarden_rs .
# Configures the startup!
-CMD ./bitwarden_rs
-\ No newline at end of file
+CMD ["./bitwarden_rs"]
+\ No newline at end of file
diff --git a/docker/armv7/sqlite/Dockerfile b/docker/armv7/sqlite/Dockerfile
@@ -2,32 +2,35 @@
# https://docs.docker.com/develop/develop-images/multistage-build/
# https://whitfin.io/speeding-up-rust-docker-builds/
####################### VAULT BUILD IMAGE #######################
-FROM alpine as vault
+FROM alpine:3.10 as vault
ENV VAULT_VERSION "v2.10.1"
ENV URL "https://github.com/dani-garcia/bw_web_builds/releases/download/$VAULT_VERSION/bw_web_$VAULT_VERSION.tar.gz"
-RUN apk add --update-cache --upgrade \
+RUN apk add --no-cache --upgrade \
curl \
tar
RUN mkdir /web-vault
WORKDIR /web-vault
+SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
+
RUN curl -L $URL | tar xz
RUN ls
########################## BUILD IMAGE ##########################
# We need to use the Rust build image, because
# we need the Rust compiler and Cargo tooling
-FROM rust as build
+FROM rust:1.36 as build
# set sqlite as default for DB ARG for backward comaptibility
ARG DB=sqlite
RUN apt-get update \
&& apt-get install -y \
+ --no-install-recommends \
gcc-arm-linux-gnueabihf \
&& mkdir -p ~/.cargo \
&& echo '[target.armv7-unknown-linux-gnueabihf]' >> ~/.cargo/config \
@@ -44,11 +47,11 @@ RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
&& dpkg --add-architecture armhf \
&& apt-get update \
&& apt-get install -y \
+ --no-install-recommends \
libssl-dev:armhf \
libc6-dev:armhf \
libmariadb-dev:armhf
-
ENV CC_armv7_unknown_linux_gnueabihf="/usr/bin/arm-linux-gnueabihf-gcc"
ENV CROSS_COMPILE="1"
ENV OPENSSL_INCLUDE_DIR="/usr/include/arm-linux-gnueabihf"
@@ -74,12 +77,12 @@ ENV ROCKET_WORKERS=10
RUN [ "cross-build-start" ]
# Install needed libraries
-RUN apt-get update && apt-get install -y\
- openssl\
- ca-certificates\
- libmariadbclient-dev\
- --no-install-recommends\
- && rm -rf /var/lib/apt/lists/*
+RUN apt-get update && apt-get install -y \
+ --no-install-recommends \
+ openssl \
+ ca-certificates \
+ libmariadbclient-dev \
+ && rm -rf /var/lib/apt/lists/*
RUN mkdir /data
@@ -95,4 +98,4 @@ COPY --from=vault /web-vault ./web-vault
COPY --from=build /app/target/armv7-unknown-linux-gnueabihf/release/bitwarden_rs .
# Configures the startup!
-CMD ./bitwarden_rs
-\ No newline at end of file
+CMD ["./bitwarden_rs"]
+\ No newline at end of file