Fix build for vaultwarden 1.30.0
This commit is contained in:
@@ -7,14 +7,18 @@ This repository will help you produce a debian package.
|
|||||||
## TL;DR
|
## TL;DR
|
||||||
|
|
||||||
Make sure you have the required build dependencies:
|
Make sure you have the required build dependencies:
|
||||||
* docker
|
|
||||||
* git
|
|
||||||
* patch
|
|
||||||
* curl
|
|
||||||
* apparmor
|
|
||||||
|
|
||||||
```
|
```
|
||||||
apt install docker.io git patch curl apparmor
|
apt-get update
|
||||||
|
apt-get install git curl gnupg ca-certificates apparmor build-essential patch sudo psmisc
|
||||||
|
sudo install -m 0755 -d /etc/apt/keyrings
|
||||||
|
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||||
|
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
||||||
|
echo \
|
||||||
|
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
||||||
|
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
|
||||||
|
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||||||
```
|
```
|
||||||
|
|
||||||
Then:
|
Then:
|
||||||
@@ -28,7 +32,7 @@ cd vaultwarden-debian
|
|||||||
The `build.sh` script will build vaultwarden for the same Debian version which targets vaultwarden.
|
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.
|
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. Buster, Bullseye) using the `-o` option. You can compile for arm32v7, arm64 and 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, bookworm) using the `-o` option. You can compile for amd64 or arm64 architecture using the `-a` option.
|
||||||
|
|
||||||
```
|
```
|
||||||
./build.sh -o bullseye
|
./build.sh -o bullseye
|
||||||
|
|||||||
@@ -6,15 +6,16 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|||||||
SRC="$DIR/git"
|
SRC="$DIR/git"
|
||||||
DST="$DIR/dist"
|
DST="$DIR/dist"
|
||||||
|
|
||||||
OS_VERSION_NAME="buster"
|
OS_VERSION_NAME="bullseye"
|
||||||
DB_TYPE="sqlite"
|
DB_TYPE="sqlite"
|
||||||
|
SYSTEMD_DB="true"
|
||||||
ARCH_DIR="amd64"
|
ARCH_DIR="amd64"
|
||||||
PACKAGENAME="vaultwarden"
|
PACKAGENAME="vaultwarden"
|
||||||
PACKAGEDIR="vaultwarden"
|
PACKAGEDIR="vaultwarden"
|
||||||
SERVICEUSER="vaultwarden"
|
SERVICEUSER="vaultwarden"
|
||||||
EXECUTABLENAME="$PACKAGEDIR"
|
EXECUTABLENAME="$PACKAGEDIR"
|
||||||
|
|
||||||
while getopts ":r:o:d:a:p:i:u:e:" opt; do
|
while getopts ":r:o:d:a:p:i:u:e:s" opt; do
|
||||||
case $opt in
|
case $opt in
|
||||||
r) REF="$OPTARG"
|
r) REF="$OPTARG"
|
||||||
;;
|
;;
|
||||||
@@ -32,13 +33,30 @@ while getopts ":r:o:d:a:p:i:u:e:" opt; do
|
|||||||
;;
|
;;
|
||||||
e) EXECUTABLENAME="$OPTARG"
|
e) EXECUTABLENAME="$OPTARG"
|
||||||
;;
|
;;
|
||||||
|
s) SYSTEMD_DB="false"
|
||||||
|
;;
|
||||||
\?) echo "Invalid option -$OPTARG" >&2 ; exit
|
\?) echo "Invalid option -$OPTARG" >&2 ; exit
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
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" =~ ^arm7 ]]; then ARCH="armhf"; fi
|
if [[ "$ARCH" =~ ^arm ]]; then ARCH="armhf"; fi
|
||||||
|
|
||||||
|
VAULTWARDEN_DEPS="libc6, libgcc-s1"
|
||||||
|
|
||||||
|
# mysql and postgresql need additional libraries. Sqlite support is built into the vaultwarden binary
|
||||||
|
case $DB_TYPE in
|
||||||
|
mysql)
|
||||||
|
VAULTWARDEN_DEPS="$VAULTWARDEN_DEPS, libmariadb3"
|
||||||
|
RECOMMENDS="mariadb-server"
|
||||||
|
;;
|
||||||
|
|
||||||
|
postgresql)
|
||||||
|
VAULTWARDEN_DEPS="$VAULTWARDEN_DEPS, libpq5"
|
||||||
|
RECOMMENDS="postgresql"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Clone vaultwarden
|
# Clone vaultwarden
|
||||||
if [ ! -d "$SRC" ]; then
|
if [ ! -d "$SRC" ]; then
|
||||||
@@ -80,34 +98,57 @@ chmod 644 "$DEBIANDIR/conffiles"
|
|||||||
sed postinst.dist > "$DEBIANDIR/postinst" -f <( echo "$SEDCOMMANDS" ) || exit
|
sed postinst.dist > "$DEBIANDIR/postinst" -f <( echo "$SEDCOMMANDS" ) || exit
|
||||||
chmod 755 "$DEBIANDIR/postinst"
|
chmod 755 "$DEBIANDIR/postinst"
|
||||||
|
|
||||||
|
# Prepare postrm
|
||||||
|
sed postrm.dist > "$DEBIANDIR/postrm" -f <( echo "$SEDCOMMANDS" ) || exit
|
||||||
|
chmod 755 "$DEBIANDIR/postrm"
|
||||||
|
|
||||||
|
# Prepare prerm
|
||||||
|
sed prerm.dist > "$DEBIANDIR/prerm" -f <( echo "$SEDCOMMANDS" ) || exit
|
||||||
|
chmod 755 "$DEBIANDIR/prerm"
|
||||||
|
|
||||||
mkdir -p "$DST"
|
mkdir -p "$DST"
|
||||||
|
|
||||||
# Prepare Dockerfile
|
# Prepare Dockerfile
|
||||||
|
pushd "$SRC/docker" || exit
|
||||||
|
make
|
||||||
|
popd || exit
|
||||||
sed "$DIR/patch/$ARCH_DIR/Dockerfile.patch" -f <( echo "$SEDCOMMANDS" ) | \
|
sed "$DIR/patch/$ARCH_DIR/Dockerfile.patch" -f <( echo "$SEDCOMMANDS" ) | \
|
||||||
patch "$SRC/docker/$ARCH_DIR/Dockerfile" --verbose -o "$DIR/Dockerfile" || \
|
patch "$SRC/docker/Dockerfile.debian" --verbose -o "$DIR/Dockerfile" || \
|
||||||
exit
|
exit
|
||||||
|
|
||||||
sed -E "s/(FROM[[:space:]]*docker.io\/library\/rust:[^-]+)[^[:space:]]+(.+)/\1-${OS_VERSION_NAME}\2/g" -i "$DIR/Dockerfile"
|
sed "/docker.io\/library\/rust/s/bookworm/${OS_VERSION_NAME}/g" -i "$DIR/Dockerfile"
|
||||||
sed -E "s/(FROM[[:space:]]*docker.io\/library\/debian:)[^-]+(-.+)/\1${OS_VERSION_NAME}\2/g" -i "$DIR/Dockerfile"
|
sed "/docker.io\/library\/debian/s/bookworm/${OS_VERSION_NAME}/g" -i "$DIR/Dockerfile"
|
||||||
|
|
||||||
# Prepare Controlfile
|
# Prepare Controlfile
|
||||||
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-$OS_VERSION_NAME/" "$CONTROL"
|
sed -i "s/@@VAULTWARDEN_DEPS@@/$VAULTWARDEN_DEPS/g" "$CONTROL"
|
||||||
|
sed -i "s/Version:.*/Version: $REF-1/" "$CONTROL"
|
||||||
sed -i "s/Architecture:.*/Architecture: $ARCH/" "$CONTROL"
|
sed -i "s/Architecture:.*/Architecture: $ARCH/" "$CONTROL"
|
||||||
|
if [ -n "$RECOMMENDS" ]; then
|
||||||
|
echo "Recommends: $RECOMMENDS" >> "$CONTROL"
|
||||||
|
fi
|
||||||
|
|
||||||
# Prepare Systemd-unit
|
# Prepare Systemd-unit
|
||||||
SYSTEMD_UNIT="$DEBIANDIR/$EXECUTABLENAME.service"
|
SYSTEMD_UNIT="$DEBIANDIR/$EXECUTABLENAME.service"
|
||||||
sed "$DIR/service.dist" > "$SYSTEMD_UNIT" -f <( echo "$SEDCOMMANDS" ) || exit
|
sed "$DIR/service.dist" > "$SYSTEMD_UNIT" -f <( echo "$SEDCOMMANDS" ) || exit
|
||||||
if [ "$DB_TYPE" = "mysql" ]; then
|
if [ "$SYSTEMD_DB" = true ] && [ "$DB_TYPE" = "mysql" ]; then
|
||||||
sed -i "s/After=network.target/After=network.target mysqld.service\nRequires=mysqld.service/g" "$SYSTEMD_UNIT"
|
sed -i "s/After=network.target/After=network.target mysqld.service\nRequires=mysqld.service/g" "$SYSTEMD_UNIT"
|
||||||
elif [ "$DB_TYPE" = "postgresql" ]; then
|
elif [ "$SYSTEMD_DB" = true ] && [ "$DB_TYPE" = "postgresql" ]; then
|
||||||
sed -i "s/After=network.target/After=network.target postgresql.service\nRequires=postgresql.service/g" "$SYSTEMD_UNIT"
|
sed -i "s/After=network.target/After=network.target postgresql.service\nRequires=postgresql.service/g" "$SYSTEMD_UNIT"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Prepare sysusers
|
||||||
|
sed sysusers.conf > "$DEBIANDIR/sysusers.conf" -f <( echo "$SEDCOMMANDS" ) || exit
|
||||||
|
chmod 644 "$DEBIANDIR/sysusers.conf"
|
||||||
|
|
||||||
|
# Prepare tmpfiles
|
||||||
|
sed tmpfiles.conf > "$DEBIANDIR/tmpfiles.conf" -f <( echo "$SEDCOMMANDS" ) || exit
|
||||||
|
chmod 644 "$DEBIANDIR/tmpfiles.conf"
|
||||||
|
|
||||||
echo "[INFO] docker build -t vaultwarden-deb $DIR --build-arg DB=$DB_TYPE"
|
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"
|
docker buildx build -t vaultwarden-deb "$SRC" --build-arg DB="$DB_TYPE" --target dpkg -f "$DIR/Dockerfile"
|
||||||
|
|
||||||
CID=$(docker run -d vaultwarden-deb)
|
CID=$(docker run -d vaultwarden-deb)
|
||||||
docker cp "$CID:/outdir/${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"
|
||||||
|
|||||||
@@ -3,5 +3,6 @@ Architecture: -
|
|||||||
Maintainer: Greizgh <greizgh+vaultwarden@ephax.org>
|
Maintainer: Greizgh <greizgh+vaultwarden@ephax.org>
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Version: -
|
Version: -
|
||||||
|
Depends: @@VAULTWARDEN_DEPS@@, systemd | systemd-standalone-sysusers | opensysusers, systemd | default-systemd-tmpfiles | systemd-tmpfiles | systemd-standalone-tmpfiles
|
||||||
Description: Unofficial Bitwarden compatible server written in Rust
|
Description: Unofficial Bitwarden compatible server written in Rust
|
||||||
Homepage: https://github.com/greizgh/vaultwarden-debian
|
Homepage: https://github.com/greizgh/vaultwarden-debian
|
||||||
|
|||||||
@@ -1,26 +1,31 @@
|
|||||||
--- git/docker/amd64/Dockerfile 2022-12-24 16:59:28.554597529 +0100
|
--- git/docker/amd64/Dockerfile 2023-07-29 15:42:52.131945764 -0500
|
||||||
+++ Dockerfile 2022-12-24 18:12:24.069923032 +0100
|
+++ Dockerfile 2023-07-29 16:18:19.915440456 -0500
|
||||||
@@ -84,6 +84,26 @@
|
@@ -77,6 +77,31 @@
|
||||||
# hadolint ignore=DL3059
|
# your actual source files being built
|
||||||
RUN cargo build --features ${DB} --release
|
RUN cargo build --features ${DB} --release
|
||||||
|
|
||||||
+####################### dpkg target ##########################
|
+####################### dpkg target ##########################
|
||||||
+FROM build as dpkg
|
+FROM build as dpkg
|
||||||
+RUN mkdir /outdir
|
+RUN mkdir /outdir
|
||||||
+RUN mkdir -p /vaultwarden_package/DEBIAN
|
+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/usr/lib/systemd/system
|
||||||
|
+RUN mkdir -p /vaultwarden_package/usr/lib/sysusers.d
|
||||||
|
+RUN mkdir -p /vaultwarden_package/usr/lib/tmpfiles.d
|
||||||
+RUN mkdir -p /vaultwarden_package/etc/@@PACKAGEDIR@@
|
+RUN mkdir -p /vaultwarden_package/etc/@@PACKAGEDIR@@
|
||||||
+RUN mkdir -p /vaultwarden_package/usr/share/@@PACKAGEDIR@@
|
+RUN mkdir -p /vaultwarden_package/usr/share/@@PACKAGEDIR@@
|
||||||
+
|
+
|
||||||
+WORKDIR /vaultwarden_package
|
+WORKDIR /vaultwarden_package
|
||||||
+COPY debian/control /vaultwarden_package/DEBIAN/control
|
+COPY debian/control /vaultwarden_package/DEBIAN/control
|
||||||
+COPY debian/postinst /vaultwarden_package/DEBIAN/postinst
|
+COPY debian/postinst /vaultwarden_package/DEBIAN/postinst
|
||||||
|
+COPY debian/postrm /vaultwarden_package/DEBIAN/postrm
|
||||||
|
+COPY debian/prerm /vaultwarden_package/DEBIAN/prerm
|
||||||
+COPY debian/conffiles /vaultwarden_package/DEBIAN/conffiles
|
+COPY debian/conffiles /vaultwarden_package/DEBIAN/conffiles
|
||||||
+COPY debian/config.env /vaultwarden_package/etc/@@PACKAGEDIR@@
|
+COPY --chmod=600 debian/config.env /vaultwarden_package/etc/@@PACKAGEDIR@@
|
||||||
+COPY debian/@@EXECUTABLENAME@@.service /vaultwarden_package/usr/lib/systemd/system
|
+COPY debian/@@EXECUTABLENAME@@.service /vaultwarden_package/usr/lib/systemd/system
|
||||||
|
+COPY debian/sysusers.conf /vaultwarden_package/usr/lib/sysusers.d/@@PACKAGEDIR@@.conf
|
||||||
|
+COPY debian/tmpfiles.conf /vaultwarden_package/usr/lib/tmpfiles.d/@@PACKAGEDIR@@.conf
|
||||||
+COPY --from=vault /web-vault /vaultwarden_package/usr/share/@@PACKAGEDIR@@/web-vault
|
+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@@
|
+COPY --from=build app/target/final/vaultwarden /vaultwarden_package/usr/bin/@@EXECUTABLENAME@@
|
||||||
+
|
+
|
||||||
+RUN dpkg-deb --build . /outdir/@@PACKAGEDIR@@.deb
|
+RUN dpkg-deb --build . /outdir/@@PACKAGEDIR@@.deb
|
||||||
+
|
+
|
||||||
|
|||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
amd64
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
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,29 +0,0 @@
|
|||||||
--- 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
|
|
||||||
+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/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
|
|
||||||
+30
-8
@@ -1,10 +1,32 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
if [ -f /etc/@@PACKAGEDIR@@/Rocket.toml ]
|
set -e
|
||||||
then
|
|
||||||
mv /etc/@@PACKAGEDIR@@/Rocket.toml /etc/@@PACKAGEDIR@@/Rocket.toml.deprecated
|
# Automatically added by dh_installsysusers/13.11.4
|
||||||
|
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
|
||||||
|
systemd-sysusers ${DPKG_ROOT:+--root="$DPKG_ROOT"} @@PACKAGEDIR@@.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
|
||||||
|
if [ -x "$(command -v systemd-tmpfiles)" ]; then
|
||||||
|
systemd-tmpfiles ${DPKG_ROOT:+--root="$DPKG_ROOT"} --create @@PACKAGEDIR@@.conf >/dev/null || true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
|
||||||
|
if deb-systemd-helper --quiet is-enabled '@@PACKAGEDIR@@.service'; then
|
||||||
|
# Creates new symlinks on upgrades if the unit file has changed.
|
||||||
|
deb-systemd-helper enable '@@PACKAGEDIR@@.service' >/dev/null || true
|
||||||
|
else
|
||||||
|
# Update the statefile to add new symlinks (if any), which need to be
|
||||||
|
# cleaned up on purge. Also remove old symlinks.
|
||||||
|
deb-systemd-helper update-state '@@PACKAGEDIR@@.service' >/dev/null || true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
|
||||||
|
if [ -d /run/systemd/system ]; then
|
||||||
|
systemctl --system daemon-reload >/dev/null || true
|
||||||
|
if systemctl --system is-active '@@PACKAGEDIR@@.service'; then
|
||||||
|
deb-systemd-invoke restart '@@PACKAGEDIR@@.service' >/dev/null || true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
DIR_MODE=0700 adduser --system --group --home /var/lib/@@PACKAGEDIR@@ @@SERVICEUSER@@
|
|
||||||
chmod 700 /var/lib/@@PACKAGEDIR@@
|
|
||||||
chmod 600 /etc/@@PACKAGEDIR@@/config.env
|
|
||||||
systemctl daemon-reload
|
|
||||||
systemctl restart vaultwarden.service
|
|
||||||
|
|||||||
Executable
+14
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
# Automatically added by dh_installsystemd/13.11.4
|
||||||
|
if [ "$1" = remove ] && [ -d /run/systemd/system ] ; then
|
||||||
|
systemctl --system daemon-reload >/dev/null || true
|
||||||
|
fi
|
||||||
|
# End automatically added section
|
||||||
|
# Automatically added by dh_installsystemd/13.11.4
|
||||||
|
if [ "$1" = "purge" ]; then
|
||||||
|
if [ -x "/usr/bin/deb-systemd-helper" ]; then
|
||||||
|
deb-systemd-helper purge '@@PACKAGEDIR@@.service' >/dev/null || true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
# End automatically added section
|
||||||
Executable
+7
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
# Automatically added by dh_installsystemd/13.11.4
|
||||||
|
if [ -z "${DPKG_ROOT:-}" ] && [ "$1" = remove ] && [ -d /run/systemd/system ] ; then
|
||||||
|
deb-systemd-invoke stop '@@PACKAGEDIR@@.service' >/dev/null || true
|
||||||
|
fi
|
||||||
|
# End automatically added section
|
||||||
+2
-2
@@ -1,11 +1,11 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Bitwarden API server
|
Description=Vaultwarden API server
|
||||||
After=network.target
|
After=network.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
User=@@SERVICEUSER@@
|
User=@@SERVICEUSER@@
|
||||||
ExecStart=/usr/local/bin/@@EXECUTABLENAME@@
|
ExecStart=/usr/bin/@@EXECUTABLENAME@@
|
||||||
PrivateTmp=true
|
PrivateTmp=true
|
||||||
PrivateDevices=true
|
PrivateDevices=true
|
||||||
ProtectHome=true
|
ProtectHome=true
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# Setup the user for the @@PACKAGEDIR@@ service
|
||||||
|
u @@SERVICEUSER@@ - "@@PACKAGEDIR@@ service user" /var/lib/@@PACKAGEDIR@@
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# Data directory for @@PACKAGEDIR@@
|
||||||
|
d /var/lib/@@PACKAGEDIR@@ 0700 @@SERVICEUSER@@ root - -
|
||||||
|
# Adjust the permissions of this file to be owned by @@SERVICEUSER@@
|
||||||
|
z /etc/@@PACKAGEDIR@@/config.env 0600 @@SERVICEUSER@@ root - -
|
||||||
Reference in New Issue
Block a user