diff --git a/README.md b/README.md index 1658985..7590db0 100644 --- a/README.md +++ b/README.md @@ -23,10 +23,10 @@ cd vaultwarden-debian The `build.sh` script will build vaultwarden for the same Debian version which targets vaultwarden. That means, to build vaultwarden v1.19.0, make sure to checkout tag `v1.19.0` of this project. -To compile for a different Debian version, specify the release name (e.g. Stretch, Buster) using the `-o` option. You can compile for arm32v7 or amd64 architecture using the `-a` option, only the Buster (default) release of debian is supported by arm32v7. +To compile for a different Debian version, specify the release name (e.g. Buster, Bullseye) using the `-o` option. You can compile for arm32v7 or amd64 architecture using the `-a` option, only the Buster (default) release of debian is supported by arm32v7. ``` -./build.sh -o stretch +./build.sh -o bullseye ``` ## Post installation diff --git a/build.sh b/build.sh index 2ab665f..8840432 100755 --- a/build.sh +++ b/build.sh @@ -110,5 +110,5 @@ echo "[INFO] docker build -t vaultwarden-deb $DIR --build-arg DB=$DB_TYPE" docker build -t vaultwarden-deb "$SRC" --build-arg DB="$DB_TYPE" --target dpkg -f "$DIR/Dockerfile" CID=$(docker run -d vaultwarden-deb) -docker cp "$CID:/vaultwarden_package/${PACKAGEDIR}.deb" "$DST/${PACKAGEDIR}-${OS_VERSION_NAME}-${REF}-${DB_TYPE}-${ARCH_DIR}.deb" +docker cp "$CID:/outdir/${PACKAGEDIR}.deb" "$DST/${PACKAGEDIR}-${OS_VERSION_NAME}-${REF}-${DB_TYPE}-${ARCH_DIR}.deb" docker rm "$CID" diff --git a/conffiles.dist b/conffiles.dist index 3467ac9..799eff9 100644 --- a/conffiles.dist +++ b/conffiles.dist @@ -1,2 +1 @@ -/etc/@@PACKAGEDIR@@/Rocket.toml /etc/@@PACKAGEDIR@@/config.env diff --git a/patch/amd64/Dockerfile.patch b/patch/amd64/Dockerfile.patch index d47a616..fbc204f 100644 --- a/patch/amd64/Dockerfile.patch +++ b/patch/amd64/Dockerfile.patch @@ -1,12 +1,12 @@ ---- git/docker/amd64/Dockerfile 2021-02-12 11:45:13.762372371 +0100 -+++ Dockerfile 2021-02-12 11:59:56.727518522 +0100 -@@ -111,3 +111,23 @@ - WORKDIR / - ENTRYPOINT ["/usr/bin/dumb-init", "--"] - CMD ["/start.sh"] -+ +--- git/docker/amd64/Dockerfile 2022-12-24 16:59:28.554597529 +0100 ++++ Dockerfile 2022-12-24 18:12:24.069923032 +0100 +@@ -84,6 +84,26 @@ + # hadolint ignore=DL3059 + RUN cargo build --features ${DB} --release + +####################### dpkg target ########################## +FROM build as dpkg ++RUN mkdir /outdir +RUN mkdir -p /vaultwarden_package/DEBIAN +RUN mkdir -p /vaultwarden_package/usr/local/bin +RUN mkdir -p /vaultwarden_package/usr/lib/systemd/system @@ -17,10 +17,13 @@ +COPY debian/control /vaultwarden_package/DEBIAN/control +COPY debian/postinst /vaultwarden_package/DEBIAN/postinst +COPY debian/conffiles /vaultwarden_package/DEBIAN/conffiles -+COPY Rocket.toml /vaultwarden_package/etc/@@PACKAGEDIR@@ +COPY debian/config.env /vaultwarden_package/etc/@@PACKAGEDIR@@ +COPY debian/@@EXECUTABLENAME@@.service /vaultwarden_package/usr/lib/systemd/system +COPY --from=vault /web-vault /vaultwarden_package/usr/share/@@PACKAGEDIR@@/web-vault +COPY --from=build app/target/release/vaultwarden /vaultwarden_package/usr/local/bin/@@EXECUTABLENAME@@ + -+RUN dpkg-deb --build . @@PACKAGEDIR@@.deb ++RUN dpkg-deb --build . /outdir/@@PACKAGEDIR@@.deb ++ + ######################## RUNTIME IMAGE ######################## + # Create a new stage with a minimal image + # because we already have a binary built diff --git a/patch/armv7/Dockerfile.patch b/patch/armv7/Dockerfile.patch index 959a348..9f2f0a3 100644 --- a/patch/armv7/Dockerfile.patch +++ b/patch/armv7/Dockerfile.patch @@ -1,12 +1,12 @@ ---- git/docker/armv7/Dockerfile 2021-02-12 11:45:13.763372371 +0100 -+++ Dockerfile 2021-02-12 12:25:50.078877369 +0100 -@@ -157,3 +157,23 @@ - WORKDIR / - ENTRYPOINT ["/usr/bin/dumb-init", "--"] - CMD ["/start.sh"] -+ +--- git/docker/armv7/Dockerfile 2022-12-24 15:34:46.644360901 +0100 ++++ Dockerfile 2022-12-24 18:15:38.065904150 +0100 +@@ -104,6 +104,26 @@ + # hadolint ignore=DL3059 + RUN cargo build --features ${DB} --release --target=armv7-unknown-linux-gnueabihf + +####################### dpkg target ########################## +FROM build as dpkg ++RUN mkdir /outdir +RUN mkdir -p /vaultwarden_package/DEBIAN +RUN mkdir -p /vaultwarden_package/usr/local/bin +RUN mkdir -p /vaultwarden_package/usr/lib/systemd/system @@ -17,10 +17,13 @@ +COPY debian/control /vaultwarden_package/DEBIAN/control +COPY debian/postinst /vaultwarden_package/DEBIAN/postinst +COPY debian/conffiles /vaultwarden_package/DEBIAN/conffiles -+COPY Rocket.toml /vaultwarden_package/etc/@@PACKAGEDIR@@ +COPY debian/config.env /vaultwarden_package/etc/@@PACKAGEDIR@@ +COPY debian/@@EXECUTABLENAME@@.service /vaultwarden_package/usr/lib/systemd/system +COPY --from=vault /web-vault /vaultwarden_package/usr/share/@@PACKAGEDIR@@/web-vault +COPY --from=build app/target/armv7-unknown-linux-gnueabihf/release/vaultwarden /vaultwarden_package/usr/local/bin/@@EXECUTABLENAME@@ + -+RUN dpkg-deb --build . @@PACKAGEDIR@@.deb ++RUN dpkg-deb --build . /outdir/@@PACKAGEDIR@@.deb ++ + ######################## RUNTIME IMAGE ######################## + # Create a new stage with a minimal image + # because we already have a binary built diff --git a/postinst.dist b/postinst.dist index 98df5b1..69f29c1 100755 --- a/postinst.dist +++ b/postinst.dist @@ -1,5 +1,4 @@ #!/bin/sh -DIR_MODE=0700 adduser --system --home /var/lib/@@PACKAGEDIR@@ @@SERVICEUSER@@ +DIR_MODE=0700 adduser --system --group --home /var/lib/@@PACKAGEDIR@@ @@SERVICEUSER@@ chmod 700 /var/lib/@@PACKAGEDIR@@ chmod 600 /etc/@@PACKAGEDIR@@/config.env -chmod 600 /etc/@@PACKAGEDIR@@/Rocket.toml