diff options
author | Mathijs van Veluw <[email protected]> | 2023-12-09 23:04:33 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2023-12-09 23:04:33 +0100 |
commit | 3246251f295fd16dba21ec9d32afbbb104bd9c8e (patch) | |
tree | b74920222f24255d492a8547d0c5667a6b13d5e3 /docker | |
parent | 8ab200224e9ef0879ccd35080365118b08c43b02 (diff) | |
download | vaultwarden-3246251f295fd16dba21ec9d32afbbb104bd9c8e.tar.gz vaultwarden-3246251f295fd16dba21ec9d32afbbb104bd9c8e.zip |
Fix the version string (#4153)
For some reason still not known, the `.git` directory was not copied
into the container. I think buildkit (buildx) did this by default before, and
stopped this with newer versions.
This PR fixes this by also touching `build.rs` besides `src/main.rs`.
This PR also updates Rust to v1.74.1 and some crates, including the
latest version of Alpine 3.19.
Fixes #4150
Diffstat (limited to 'docker')
-rw-r--r-- | docker/DockerSettings.yaml | 4 | ||||
-rw-r--r-- | docker/Dockerfile.alpine | 13 | ||||
-rw-r--r-- | docker/Dockerfile.debian | 8 | ||||
-rw-r--r-- | docker/Dockerfile.j2 | 6 |
4 files changed, 18 insertions, 13 deletions
diff --git a/docker/DockerSettings.yaml b/docker/DockerSettings.yaml index 8c835a95..b942cc6c 100644 --- a/docker/DockerSettings.yaml +++ b/docker/DockerSettings.yaml @@ -4,9 +4,9 @@ vault_image_digest: "sha256:419e4976921f98f1124f296ed02e68bf7f8ff29b3f1fba59e7e7 # Cross Compile Docker Helper Scripts v1.3.0 # We use the linux/amd64 platform shell scripts since there is no difference between the different platform scripts xx_image_digest: "sha256:c9609ace652bbe51dd4ce90e0af9d48a4590f1214246da5bc70e46f6dd586edc" -rust_version: 1.74.0 # Rust version to be used +rust_version: 1.74.1 # Rust version to be used debian_version: bookworm # Debian release name to be used -alpine_version: 3.18 # Alpine version to be used +alpine_version: 3.19 # Alpine version to be used # For which platforms/architectures will we try to build images platforms: ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/arm/v6"] # Determine the build images per OS/Arch diff --git a/docker/Dockerfile.alpine b/docker/Dockerfile.alpine index b382b34d..08aca570 100644 --- a/docker/Dockerfile.alpine +++ b/docker/Dockerfile.alpine @@ -31,10 +31,10 @@ FROM --platform=linux/amd64 docker.io/vaultwarden/web-vault@sha256:419e4976921f9 ########################## ALPINE BUILD IMAGES ########################## ## NOTE: The Alpine Base Images do not support other platforms then linux/amd64 ## And for Alpine we define all build images here, they will only be loaded when actually used -FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:x86_64-musl-stable-1.74.0 as build_amd64 -FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:aarch64-musl-stable-1.74.0 as build_arm64 -FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:armv7-musleabihf-stable-1.74.0 as build_armv7 -FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:arm-musleabi-stable-1.74.0 as build_armv6 +FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:x86_64-musl-stable-1.74.1 as build_amd64 +FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:aarch64-musl-stable-1.74.1 as build_arm64 +FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:armv7-musleabihf-stable-1.74.1 as build_armv7 +FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:arm-musleabi-stable-1.74.1 as build_armv6 ########################## BUILD IMAGE ########################## # hadolint ignore=DL3006 @@ -100,7 +100,8 @@ COPY . . # Builds again, this time it will be the actual source files being build RUN source /env-cargo && \ # Make sure that we actually build the project by updating the src/main.rs timestamp - touch src/main.rs && \ + # Also do this for build.rs to ensure the version is rechecked + touch build.rs src/main.rs && \ # Create a symlink to the binary target folder to easy copy the binary in the final stage cargo build --features ${DB} --profile "${CARGO_PROFILE}" --target="${CARGO_TARGET}" && \ if [[ "${CARGO_PROFILE}" == "dev" ]] ; then \ @@ -126,7 +127,7 @@ RUN source /env-cargo && \ # To uninstall: docker run --privileged --rm tonistiigi/binfmt --uninstall 'qemu-*' # # We need to add `--platform` here, because of a podman bug: https://github.com/containers/buildah/issues/4742 -FROM --platform=$TARGETPLATFORM docker.io/library/alpine:3.18 +FROM --platform=$TARGETPLATFORM docker.io/library/alpine:3.19 ENV ROCKET_PROFILE="release" \ ROCKET_ADDRESS=0.0.0.0 \ diff --git a/docker/Dockerfile.debian b/docker/Dockerfile.debian index 8d5ed360..4d189336 100644 --- a/docker/Dockerfile.debian +++ b/docker/Dockerfile.debian @@ -35,7 +35,7 @@ FROM --platform=linux/amd64 docker.io/tonistiigi/xx@sha256:c9609ace652bbe51dd4ce ########################## BUILD IMAGE ########################## # hadolint ignore=DL3006 -FROM --platform=$BUILDPLATFORM docker.io/library/rust:1.74.0-slim-bookworm as build +FROM --platform=$BUILDPLATFORM docker.io/library/rust:1.74.1-slim-bookworm as build COPY --from=xx / / ARG TARGETARCH ARG TARGETVARIANT @@ -73,7 +73,8 @@ RUN xx-apt-get install -y \ libmariadb3 \ libpq-dev \ libpq5 \ - libssl-dev && \ + libssl-dev \ + zlib1g-dev && \ # Force install arch dependend mariadb dev packages # Installing them the normal way breaks several other packages (again) apt-get download "libmariadb-dev-compat:$(xx-info debian-arch)" "libmariadb-dev:$(xx-info debian-arch)" && \ @@ -130,7 +131,8 @@ COPY . . # Builds again, this time it will be the actual source files being build RUN source /env-cargo && \ # Make sure that we actually build the project by updating the src/main.rs timestamp - touch src/main.rs && \ + # Also do this for build.rs to ensure the version is rechecked + touch build.rs src/main.rs && \ # Create a symlink to the binary target folder to easy copy the binary in the final stage cargo build --features ${DB} --profile "${CARGO_PROFILE}" --target="${CARGO_TARGET}" && \ if [[ "${CARGO_PROFILE}" == "dev" ]] ; then \ diff --git a/docker/Dockerfile.j2 b/docker/Dockerfile.j2 index 7fa39bfb..e8f81469 100644 --- a/docker/Dockerfile.j2 +++ b/docker/Dockerfile.j2 @@ -91,7 +91,8 @@ RUN xx-apt-get install -y \ libmariadb3 \ libpq-dev \ libpq5 \ - libssl-dev && \ + libssl-dev \ + zlib1g-dev && \ # Force install arch dependend mariadb dev packages # Installing them the normal way breaks several other packages (again) apt-get download "libmariadb-dev-compat:$(xx-info debian-arch)" "libmariadb-dev:$(xx-info debian-arch)" && \ @@ -161,7 +162,8 @@ COPY . . # Builds again, this time it will be the actual source files being build RUN source /env-cargo && \ # Make sure that we actually build the project by updating the src/main.rs timestamp - touch src/main.rs && \ + # Also do this for build.rs to ensure the version is rechecked + touch build.rs src/main.rs && \ # Create a symlink to the binary target folder to easy copy the binary in the final stage cargo build --features ${DB} --profile "${CARGO_PROFILE}" --target="${CARGO_TARGET}" && \ if [[ "${CARGO_PROFILE}" == "dev" ]] ; then \ |