From 394689b432550abf90590a9cd923b9d639a96c9c Mon Sep 17 00:00:00 2001 From: Greizgh Date: Mon, 11 Oct 2021 18:47:59 +0200 Subject: [PATCH 1/6] create package in its own directory fixes #37 --- build.sh | 2 +- patch/amd64/Dockerfile.patch | 5 +++-- patch/armv7/Dockerfile.patch | 5 +++-- 3 files changed, 7 insertions(+), 5 deletions(-) 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/patch/amd64/Dockerfile.patch b/patch/amd64/Dockerfile.patch index d47a616..f50ac16 100644 --- a/patch/amd64/Dockerfile.patch +++ b/patch/amd64/Dockerfile.patch @@ -1,12 +1,13 @@ --- 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 @@ +@@ -111,3 +111,24 @@ WORKDIR / ENTRYPOINT ["/usr/bin/dumb-init", "--"] CMD ["/start.sh"] + +####################### 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 @@ -23,4 +24,4 @@ +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 diff --git a/patch/armv7/Dockerfile.patch b/patch/armv7/Dockerfile.patch index 959a348..0c69238 100644 --- a/patch/armv7/Dockerfile.patch +++ b/patch/armv7/Dockerfile.patch @@ -1,12 +1,13 @@ --- 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 @@ +@@ -157,3 +157,24 @@ WORKDIR / ENTRYPOINT ["/usr/bin/dumb-init", "--"] CMD ["/start.sh"] + +####################### 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 @@ -23,4 +24,4 @@ +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 From bf5f5dfc60f8755cab778ddf5ae0ba7cdb7f7b70 Mon Sep 17 00:00:00 2001 From: Romuald23 <65950663+Romuald23@users.noreply.github.com> Date: Sat, 6 Nov 2021 10:51:58 +0100 Subject: [PATCH 2/6] Create a group (#39) Create a group with the same name and id of the user --- postinst.dist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postinst.dist b/postinst.dist index 98df5b1..8df4590 100755 --- a/postinst.dist +++ b/postinst.dist @@ -1,5 +1,5 @@ #!/bin/sh -DIR_MODE=0700 adduser --system --home /var/lib/@@PACKAGEDIR@@ @@SERVICEUSER@@ +DIR_MODE=0700 adduser --system --home --group /var/lib/@@PACKAGEDIR@@ @@SERVICEUSER@@ chmod 700 /var/lib/@@PACKAGEDIR@@ chmod 600 /etc/@@PACKAGEDIR@@/config.env chmod 600 /etc/@@PACKAGEDIR@@/Rocket.toml From a209f48a12c63f0e2ce361919801affe20b29f16 Mon Sep 17 00:00:00 2001 From: Greizgh Date: Fri, 26 Nov 2021 11:08:03 +0100 Subject: [PATCH 3/6] fix: postinst script Closes #40 --- postinst.dist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postinst.dist b/postinst.dist index 8df4590..596a775 100755 --- a/postinst.dist +++ b/postinst.dist @@ -1,5 +1,5 @@ #!/bin/sh -DIR_MODE=0700 adduser --system --home --group /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 From 73ebe8644144b74e76da498412dd578e52a540c1 Mon Sep 17 00:00:00 2001 From: ydylla Date: Thu, 2 Jun 2022 22:51:36 +0200 Subject: [PATCH 4/6] fix: remove references to Rocket.toml (#42) It does not exist for 1.25.0, apparently it is no longer needed. --- conffiles.dist | 1 - patch/amd64/Dockerfile.patch | 3 +-- patch/armv7/Dockerfile.patch | 3 +-- postinst.dist | 1 - 4 files changed, 2 insertions(+), 6 deletions(-) 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 f50ac16..554f72e 100644 --- a/patch/amd64/Dockerfile.patch +++ b/patch/amd64/Dockerfile.patch @@ -1,6 +1,6 @@ --- git/docker/amd64/Dockerfile 2021-02-12 11:45:13.762372371 +0100 +++ Dockerfile 2021-02-12 11:59:56.727518522 +0100 -@@ -111,3 +111,24 @@ +@@ -111,3 +111,23 @@ WORKDIR / ENTRYPOINT ["/usr/bin/dumb-init", "--"] CMD ["/start.sh"] @@ -18,7 +18,6 @@ +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 diff --git a/patch/armv7/Dockerfile.patch b/patch/armv7/Dockerfile.patch index 0c69238..350b7d6 100644 --- a/patch/armv7/Dockerfile.patch +++ b/patch/armv7/Dockerfile.patch @@ -1,6 +1,6 @@ --- git/docker/armv7/Dockerfile 2021-02-12 11:45:13.763372371 +0100 +++ Dockerfile 2021-02-12 12:25:50.078877369 +0100 -@@ -157,3 +157,24 @@ +@@ -157,3 +157,23 @@ WORKDIR / ENTRYPOINT ["/usr/bin/dumb-init", "--"] CMD ["/start.sh"] @@ -18,7 +18,6 @@ +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 diff --git a/postinst.dist b/postinst.dist index 596a775..69f29c1 100755 --- a/postinst.dist +++ b/postinst.dist @@ -2,4 +2,3 @@ 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 From fb15495ca623a35da6be4d96699f3a2e8c25b79d Mon Sep 17 00:00:00 2001 From: Robin Schneider Date: Fri, 30 Dec 2022 15:13:06 +0100 Subject: [PATCH 5/6] Mention Debian 11 (bullseye) in docs (#44) I have been using this build script on Debian Bullseye and targeting Debian Bullseye. The docs should give an up-to-date and supported example. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 From 0d8d6858fc528988b52b9c2cd839e6910c5fbe14 Mon Sep 17 00:00:00 2001 From: Robin Schneider Date: Fri, 30 Dec 2022 15:16:48 +0100 Subject: [PATCH 6/6] Do not build unneeded runtime image (#43) The runtime image was not the last stage thus it was always build and left as untagged image. We can improve that. Refer to the docs for the `docker build --target` option: > Commands after the target stage will be skipped. Ref: https://docs.docker.com/engine/reference/commandline/build/#specifying-target-build-stage---target This commit simply moves the dpkg build stage patch above the runtime image stage. --- patch/amd64/Dockerfile.patch | 17 ++++++++++------- patch/armv7/Dockerfile.patch | 17 ++++++++++------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/patch/amd64/Dockerfile.patch b/patch/amd64/Dockerfile.patch index 554f72e..fbc204f 100644 --- a/patch/amd64/Dockerfile.patch +++ b/patch/amd64/Dockerfile.patch @@ -1,10 +1,9 @@ ---- 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 @@ -24,3 +23,7 @@ +COPY --from=build app/target/release/vaultwarden /vaultwarden_package/usr/local/bin/@@EXECUTABLENAME@@ + +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 350b7d6..9f2f0a3 100644 --- a/patch/armv7/Dockerfile.patch +++ b/patch/armv7/Dockerfile.patch @@ -1,10 +1,9 @@ ---- 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 @@ -24,3 +23,7 @@ +COPY --from=build app/target/armv7-unknown-linux-gnueabihf/release/vaultwarden /vaultwarden_package/usr/local/bin/@@EXECUTABLENAME@@ + +RUN dpkg-deb --build . /outdir/@@PACKAGEDIR@@.deb ++ + ######################## RUNTIME IMAGE ######################## + # Create a new stage with a minimal image + # because we already have a binary built