diff --git a/docker/Dockerfile.debian b/docker/Dockerfile.debian index 58a3d349..74f154bd 100644 --- a/docker/Dockerfile.debian +++ b/docker/Dockerfile.debian @@ -54,17 +54,17 @@ ENV DEBIAN_FRONTEND=noninteractive \ # 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 # Install the libc cross packages based upon the debian-arch -RUN apt-get update && \ +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 && \ + # Continue with normal install + apt-get update && \ apt-get install -y \ --no-install-recommends \ clang \ @@ -177,12 +177,12 @@ ENV ROCKET_PROFILE="release" \ ROCKET_PORT=80 \ DEBIAN_FRONTEND=noninteractive +# Force the install of an older MariaDB library to prevent a Diesel panic +# See https://github.com/dani-garcia/vaultwarden/issues/6416 # Create data folder and Install needed libraries 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..4e690647 100644 --- a/docker/Dockerfile.j2 +++ b/docker/Dockerfile.j2 @@ -27,6 +27,18 @@ # $ docker image inspect --format "{{ '{{' }}.RepoTags}}" docker.io/vaultwarden/web-vault@{{ vault_image_digest }} # [docker.io/vaultwarden/web-vault:{{ vault_version }}] # +{% macro debian_mariadb_snapshot_info() -%} +# Force the install of an older MariaDB library to prevent a Diesel panic +# See https://github.com/dani-garcia/vaultwarden/issues/6416 +{%- endmacro %} +{% macro debian_mariadb_snapshot() -%} + 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,19 +82,13 @@ 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 - +{{ debian_mariadb_snapshot_info() }} # 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 # Install the libc cross packages based upon the debian-arch -RUN apt-get update && \ +RUN {{ debian_mariadb_snapshot() }} + apt-get update && \ apt-get install -y \ --no-install-recommends \ clang \ @@ -213,17 +219,13 @@ ENV ROCKET_PROFILE="release" \ SSL_CERT_DIR=/etc/ssl/certs {% endif %} +{% if base == "debian" %} +{{ debian_mariadb_snapshot_info() }} +{% endif %} # 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 \