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.
30 lines
1.3 KiB
Diff
30 lines
1.3 KiB
Diff
--- 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
|
|
+RUN mkdir -p /vaultwarden_package/etc/@@PACKAGEDIR@@
|
|
+RUN mkdir -p /vaultwarden_package/usr/share/@@PACKAGEDIR@@
|
|
+
|
|
+WORKDIR /vaultwarden_package
|
|
+COPY debian/control /vaultwarden_package/DEBIAN/control
|
|
+COPY debian/postinst /vaultwarden_package/DEBIAN/postinst
|
|
+COPY debian/conffiles /vaultwarden_package/DEBIAN/conffiles
|
|
+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 . /outdir/@@PACKAGEDIR@@.deb
|
|
+
|
|
######################## RUNTIME IMAGE ########################
|
|
# Create a new stage with a minimal image
|
|
# because we already have a binary built
|