diff --git a/docker/Dockerfile.debian b/docker/Dockerfile.debian index 58a3d349..c088b53f 100644 --- a/docker/Dockerfile.debian +++ b/docker/Dockerfile.debian @@ -52,14 +52,6 @@ ENV DEBIAN_FRONTEND=noninteractive \ CARGO_HOME="/root/.cargo" \ USER="root" -# Force the install of an older MariaDB library to prevent a Diesel panic -# See https://github.com/dani-garcia/vaultwarden/issues/6416 -RUN echo "deb http://snapshot.debian.org/archive/debian/20250707T084701Z/ trixie main" > /etc/apt/sources.list.d/snapshot.list && \ - echo "Acquire::Check-Valid-Until false;" > etc/apt/apt.conf.d/AllowSnapshot && \ - echo 'Package: libmariadb libmariadb3 libmariadb-dev mariadb*' > /etc/apt/preferences.d/mariadb-snapshot && \ - echo 'Pin: origin "snapshot.debian.org"' >> /etc/apt/preferences.d/mariadb-snapshot && \ - echo 'Pin-Priority: 1001' >> /etc/apt/preferences.d/mariadb-snapshot - # Install clang to get `xx-cargo` working # Install pkg-config to allow amd64 builds to find all libraries # Install git so build.rs can determine the correct version @@ -73,6 +65,14 @@ RUN apt-get update && \ "libc6-$(xx-info debian-arch)-cross" \ "libc6-dev-$(xx-info debian-arch)-cross" \ "linux-libc-dev-$(xx-info debian-arch)-cross" && \ + # Force the install of an older MariaDB library to prevent a Diesel panic + # See https://github.com/dani-garcia/vaultwarden/issues/6416 + echo "deb http://snapshot.debian.org/archive/debian/20250707T084701Z/ trixie main" > /etc/apt/sources.list.d/snapshot.list && \ + echo "Acquire::Check-Valid-Until false;" > /etc/apt/apt.conf.d/AllowSnapshot && \ + echo 'Package: libmariadb libmariadb3 libmariadb-dev mariadb*' > /etc/apt/preferences.d/mariadb-snapshot && \ + echo 'Pin: origin "snapshot.debian.org"' >> /etc/apt/preferences.d/mariadb-snapshot && \ + echo 'Pin-Priority: 1001' >> /etc/apt/preferences.d/mariadb-snapshot && \ + # Continue with normal install xx-apt-get install -y \ --no-install-recommends \ gcc \ @@ -182,7 +182,7 @@ RUN mkdir /data && \ # Force the install of an older MariaDB library to prevent a Diesel panic # See https://github.com/dani-garcia/vaultwarden/issues/6416 echo "deb http://snapshot.debian.org/archive/debian/20250707T084701Z/ trixie main" > /etc/apt/sources.list.d/snapshot.list && \ - echo "Acquire::Check-Valid-Until false;" > etc/apt/apt.conf.d/AllowSnapshot && \ + echo "Acquire::Check-Valid-Until false;" > /etc/apt/apt.conf.d/AllowSnapshot && \ echo 'Package: libmariadb libmariadb3 libmariadb-dev mariadb*' > /etc/apt/preferences.d/mariadb-snapshot && \ echo 'Pin: origin "snapshot.debian.org"' >> /etc/apt/preferences.d/mariadb-snapshot && \ echo 'Pin-Priority: 1001' >> /etc/apt/preferences.d/mariadb-snapshot && \ diff --git a/docker/Dockerfile.j2 b/docker/Dockerfile.j2 index 0501b3ff..2561d351 100644 --- a/docker/Dockerfile.j2 +++ b/docker/Dockerfile.j2 @@ -27,6 +27,16 @@ # $ docker image inspect --format "{{ '{{' }}.RepoTags}}" docker.io/vaultwarden/web-vault@{{ vault_image_digest }} # [docker.io/vaultwarden/web-vault:{{ vault_version }}] # +{% macro debian_mariadb_snapshot() -%} +# Force the install of an older MariaDB library to prevent a Diesel panic + # See https://github.com/dani-garcia/vaultwarden/issues/6416 + echo "deb http://snapshot.debian.org/archive/debian/20250707T084701Z/ trixie main" > /etc/apt/sources.list.d/snapshot.list && \ + echo "Acquire::Check-Valid-Until false;" > /etc/apt/apt.conf.d/AllowSnapshot && \ + echo 'Package: libmariadb libmariadb3 libmariadb-dev mariadb*' > /etc/apt/preferences.d/mariadb-snapshot && \ + echo 'Pin: origin "snapshot.debian.org"' >> /etc/apt/preferences.d/mariadb-snapshot && \ + echo 'Pin-Priority: 1001' >> /etc/apt/preferences.d/mariadb-snapshot && \ + # Continue with normal install +{%- endmacro %} FROM --platform=linux/amd64 docker.io/vaultwarden/web-vault@{{ vault_image_digest }} AS vault {% if base == "debian" %} @@ -70,14 +80,6 @@ ENV DEBIAN_FRONTEND=noninteractive \ {% if base == "debian" %} -# Force the install of an older MariaDB library to prevent a Diesel panic -# See https://github.com/dani-garcia/vaultwarden/issues/6416 -RUN echo "deb http://snapshot.debian.org/archive/debian/20250707T084701Z/ trixie main" > /etc/apt/sources.list.d/snapshot.list && \ - echo "Acquire::Check-Valid-Until false;" > etc/apt/apt.conf.d/AllowSnapshot && \ - echo 'Package: libmariadb libmariadb3 libmariadb-dev mariadb*' > /etc/apt/preferences.d/mariadb-snapshot && \ - echo 'Pin: origin "snapshot.debian.org"' >> /etc/apt/preferences.d/mariadb-snapshot && \ - echo 'Pin-Priority: 1001' >> /etc/apt/preferences.d/mariadb-snapshot - # Install clang to get `xx-cargo` working # Install pkg-config to allow amd64 builds to find all libraries # Install git so build.rs can determine the correct version @@ -91,6 +93,7 @@ RUN apt-get update && \ "libc6-$(xx-info debian-arch)-cross" \ "libc6-dev-$(xx-info debian-arch)-cross" \ "linux-libc-dev-$(xx-info debian-arch)-cross" && \ + {{ debian_mariadb_snapshot() }} xx-apt-get install -y \ --no-install-recommends \ gcc \ @@ -216,14 +219,7 @@ ENV ROCKET_PROFILE="release" \ # Create data folder and Install needed libraries RUN mkdir /data && \ {% if base == "debian" %} - # Force the install of an older MariaDB library to prevent a Diesel panic - # See https://github.com/dani-garcia/vaultwarden/issues/6416 - echo "deb http://snapshot.debian.org/archive/debian/20250707T084701Z/ trixie main" > /etc/apt/sources.list.d/snapshot.list && \ - echo "Acquire::Check-Valid-Until false;" > etc/apt/apt.conf.d/AllowSnapshot && \ - echo 'Package: libmariadb libmariadb3 libmariadb-dev mariadb*' > /etc/apt/preferences.d/mariadb-snapshot && \ - echo 'Pin: origin "snapshot.debian.org"' >> /etc/apt/preferences.d/mariadb-snapshot && \ - echo 'Pin-Priority: 1001' >> /etc/apt/preferences.d/mariadb-snapshot && \ - # Continue with normal install + {{ debian_mariadb_snapshot() }} apt-get update && apt-get install -y \ --no-install-recommends \ ca-certificates \