Add support for arm64 and some minor postinst improvements
This commit is contained in:
@@ -38,7 +38,7 @@ while getopts ":r:o:d:a:p:i:u:e:" opt; do
|
|||||||
done
|
done
|
||||||
if [ -z "$REF" ]; then REF=$(curl -s https://api.github.com/repos/dani-garcia/vaultwarden/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | cut -c 1-); fi
|
if [ -z "$REF" ]; then REF=$(curl -s https://api.github.com/repos/dani-garcia/vaultwarden/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | cut -c 1-); fi
|
||||||
ARCH=$ARCH_DIR
|
ARCH=$ARCH_DIR
|
||||||
if [[ "$ARCH" =~ ^arm ]]; then ARCH="armhf"; fi
|
if [[ "$ARCH" =~ ^arm7 ]]; then ARCH="armhf"; fi
|
||||||
|
|
||||||
# Clone vaultwarden
|
# Clone vaultwarden
|
||||||
if [ ! -d "$SRC" ]; then
|
if [ ! -d "$SRC" ]; then
|
||||||
@@ -94,7 +94,7 @@ sed -E "s/(FROM[[:space:]]*debian:)[^-]+(-.+)/\1${OS_VERSION_NAME}\2/g" -i "$DIR
|
|||||||
CONTROL="$DEBIANDIR/control"
|
CONTROL="$DEBIANDIR/control"
|
||||||
cp "$DIR/control.dist" "$CONTROL"
|
cp "$DIR/control.dist" "$CONTROL"
|
||||||
sed -i "s/@@PACKAGENAME@@/$PACKAGENAME/g" "$CONTROL"
|
sed -i "s/@@PACKAGENAME@@/$PACKAGENAME/g" "$CONTROL"
|
||||||
sed -i "s/Version:.*/Version: $REF-1/" "$CONTROL"
|
sed -i "s/Version:.*/Version: $REF-1-$OS_VERSION_NAME/" "$CONTROL"
|
||||||
sed -i "s/Architecture:.*/Architecture: $ARCH/" "$CONTROL"
|
sed -i "s/Architecture:.*/Architecture: $ARCH/" "$CONTROL"
|
||||||
|
|
||||||
# Prepare Systemd-unit
|
# Prepare Systemd-unit
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
diff --git a/docker/arm64/Dockerfile b/docker/arm64/Dockerfile
|
||||||
|
index 117517a..2c82058 100644
|
||||||
|
--- a/docker/arm64/Dockerfile
|
||||||
|
+++ b/docker/arm64/Dockerfile
|
||||||
|
@@ -96,6 +96,26 @@ RUN touch src/main.rs
|
||||||
|
# your actual source files being built
|
||||||
|
RUN cargo build --features ${DB} --release --target=aarch64-unknown-linux-gnu
|
||||||
|
|
||||||
|
+####################### 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/aarch64-unknown-linux-gnu/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
|
||||||
@@ -1,4 +1,10 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
if [ -f /etc/@@PACKAGEDIR@@/Rocket.toml ]
|
||||||
|
then
|
||||||
|
mv /etc/@@PACKAGEDIR@@/Rocket.toml /etc/@@PACKAGEDIR@@/Rocket.toml.deprecated
|
||||||
|
fi
|
||||||
DIR_MODE=0700 adduser --system --group --home /var/lib/@@PACKAGEDIR@@ @@SERVICEUSER@@
|
DIR_MODE=0700 adduser --system --group --home /var/lib/@@PACKAGEDIR@@ @@SERVICEUSER@@
|
||||||
chmod 700 /var/lib/@@PACKAGEDIR@@
|
chmod 700 /var/lib/@@PACKAGEDIR@@
|
||||||
chmod 600 /etc/@@PACKAGEDIR@@/config.env
|
chmod 600 /etc/@@PACKAGEDIR@@/config.env
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl restart vaultwarden.service
|
||||||
|
|||||||
Reference in New Issue
Block a user