summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Richter2018-07-12 01:17:59 +0200
committerMarkus Richter2018-07-12 01:17:59 +0200
commit90705dea9ed7e2ce0ea8438499c314238b6a3a10 (patch)
tree573b602c5b12435ade9342679fb11291272c7c3f
downloadaur-90705dea9ed7e2ce0ea8438499c314238b6a3a10.tar.gz
initial commit
-rw-r--r--.SRCINFO28
-rw-r--r--PKGBUILD51
-rw-r--r--bitwarden_rs.env23
-rw-r--r--bitwarden_rs.install44
-rw-r--r--bitwarden_rs.service22
5 files changed, 168 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..15486656fc0e
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,28 @@
+pkgbase = bitwarden_rs-git
+ pkgdesc = A lightweight implementation of the bitwarden-server using rust and sqlite. Does NOT include the web-interface.
+ pkgver = r161.869352c
+ pkgrel = 1
+ url = https://github.com/dani-garcia/bitwarden_rs
+ install = bitwarden_rs.install
+ arch = i686
+ arch = x86_64
+ arch = armv7h
+ arch = aarch64
+ license = GPLv3
+ makedepends = rust-nightly
+ makedepends = cargo-nightly
+ provides = bitwarden_rs
+ conflicts = bitwarden_rs
+ conflicts = bitwarden_rs-vault-git
+ conflicts = bitwarden_rs-vault
+ source = git+https://github.com/dani-garcia/bitwarden_rs.git
+ source = bitwarden_rs.install
+ source = bitwarden_rs.env
+ source = bitwarden_rs.service
+ sha512sums = SKIP
+ sha512sums = ea6ac7d915887078d7e091b99d53f2ee6fbf11ad5a80e04309263e7b06ce43de6e90e69ad62e3c99eaf81f825aebe930bf45888041225a156d74f324dfa10578
+ sha512sums = 77536fee00f85378f54e7d0fd7e94d4f7c8142195cebd8bfabe032c99864908a2ffdcfcdf77bc90e58a9e66455d7eb0418a66b9f6ad87da3e5d6a107f0546476
+ sha512sums = 773dc0830b4eaf3a1d4134a52a6157e6a94265c6212ae8cc24b9584f9c444b9a0f822325f487ce9c23c363f743f1f64f269352f030e98e336816aee0a68048f6
+
+pkgname = bitwarden_rs-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..b3699bdc59cb
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Markus Richter <mqus at disroot dot org>
+
+pkgname=bitwarden_rs-git
+_pkgbase=bitwarden_rs
+pkgver=r161.869352c
+pkgrel=1
+pkgdesc="A lightweight implementation of the bitwarden-server using rust and sqlite. Does NOT include the web-interface."
+arch=('i686' 'x86_64' 'armv7h' 'aarch64')
+url="https://github.com/dani-garcia/bitwarden_rs"
+license=('GPLv3')
+groups=()
+makedepends=('rust-nightly' 'cargo-nightly')
+provides=("$_pkgbase")
+conflicts=("$_pkgbase" "${_pkgbase}-vault-git" "${_pkgbase}-vault")
+replaces=()
+backup=()
+options=()
+install=bitwarden_rs.install
+source=('git+https://github.com/dani-garcia/bitwarden_rs.git'
+ "${_pkgbase}.install"
+ "${_pkgbase}.env"
+ "${_pkgbase}.service")
+noextract=()
+sha512sums=('SKIP'
+ 'ea6ac7d915887078d7e091b99d53f2ee6fbf11ad5a80e04309263e7b06ce43de6e90e69ad62e3c99eaf81f825aebe930bf45888041225a156d74f324dfa10578'
+ '77536fee00f85378f54e7d0fd7e94d4f7c8142195cebd8bfabe032c99864908a2ffdcfcdf77bc90e58a9e66455d7eb0418a66b9f6ad87da3e5d6a107f0546476'
+ '773dc0830b4eaf3a1d4134a52a6157e6a94265c6212ae8cc24b9584f9c444b9a0f822325f487ce9c23c363f743f1f64f269352f030e98e336816aee0a68048f6')
+
+
+pkgver() {
+ cd "$srcdir/$_pkgbase"
+ ( set -o pipefail
+ git describe --long 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+ )
+}
+
+build() {
+ #build bitwarden_rs
+ cd "$srcdir/$_pkgbase"
+ cargo build --release
+}
+
+package() {
+ # setup systemd service
+ install -D -m 0644 "$srcdir/bitwarden_rs.service" "$pkgdir/usr/lib/systemd/system/bitwarden_rs.service"
+ # copy default config file
+ install -D -m 0644 "$srcdir/bitwarden_rs.env" "$pkgdir/etc/bitwarden_rs.env"
+ # copy binary
+ install -D -m0755 "$srcdir/$_pkgbase/target/release/bitwarden_rs" "$pkgdir/usr/bin/bitwarden_rs"
+}
diff --git a/bitwarden_rs.env b/bitwarden_rs.env
new file mode 100644
index 000000000000..ca04a2544ad2
--- /dev/null
+++ b/bitwarden_rs.env
@@ -0,0 +1,23 @@
+# Environment-variables to configure bitwarden_rs
+
+# --- Bitwarden config
+
+# DATA_FOLDER = data
+# RSA_KEY_FILENAME = data/rsa_key
+# DATABASE_URL = data/db.sqlite3
+# ICON_CACHE_FOLDER = data/icon_cache
+# ATTACHMENTS_FOLDER = data/attachments
+# LOCAL_ICON_EXTRACTOR = false
+# SIGNUPS_ALLOWED = true
+# PASSWORD_ITERATIONS = 100000
+
+# --- Web-Vault-config
+
+# Web-Vault can not be enabled because of missing files.
+WEB_VAULT_ENABLED = false
+# WEB_VAULT_FOLDER = web-vault/
+
+# --- Rocket-config
+# ROCKET_PORT = 8000
+# ROCKET_LISTEN = localhost
+# ... See https://api.rocket.rs/rocket/config/index.html for more options, e.g. TLS.
diff --git a/bitwarden_rs.install b/bitwarden_rs.install
new file mode 100644
index 000000000000..3a6f11fe9511
--- /dev/null
+++ b/bitwarden_rs.install
@@ -0,0 +1,44 @@
+post_install() {
+ # Create users and data directory
+
+ echo "Adding user bitwarden_rs and creating data directory /var/lib/bitwarden_rs ..."
+ useradd -Ur -s /usr/bin/nologin bitwarden_rs
+ mkdir -p /var/lib/bitwarden_rs -m 0750
+ chown bitwarden_rs:bitwarden_rs /var/lib/bitwarden_rs
+ # Add service file
+ systemctl --quiet daemon-reload
+
+
+ echo "##########"
+ echo "# "
+ echo "# Remember to configure the server via its environment-variables under /etc/bitwarden_rs.env"
+ echo "# After that, start/enable the server via 'systemctl enable bitwarden_rs.service --now'"
+ echo "#"
+ echo "##########"
+
+# systemctl --quiet preset bitwarden_rs.service
+}
+
+post_upgrade() {
+ systemctl --quiet daemon-reload
+ echo "##########"
+ echo "# "
+ echo "# Remember to restart the bitwarden via 'systemctl restart bitwarden_rs.service', if neccessary."
+ echo "#"
+ echo "##########"
+
+}
+
+pre_remove() {
+ systemctl --quiet --no-reload disable --now bitwarden_rs.service
+}
+
+post_remove() {
+ systemctl --quiet daemon-reload
+ echo "##########"
+ echo "# "
+ echo "# Remember to remove the user/group bitwarden_rs, if neccessary."
+ echo "# All server data in /var/lib/bitwarden_rs was NOT deleted!"
+ echo "#"
+ echo "##########"
+}
diff --git a/bitwarden_rs.service b/bitwarden_rs.service
new file mode 100644
index 000000000000..ff6e7a7a8061
--- /dev/null
+++ b/bitwarden_rs.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=Bitwarden Server (Rust Edition)
+Documentation=https://github.com/dani-garcia/bitwarden_rs
+After=network.target
+
+[Service]
+User=bitwarden_rs
+Group=bitwarden_rs
+EnvironmentFile=/etc/bitwarden_rs.env
+ExecStart=/usr/bin/bitwarden_rs
+LimitNOFILE=1048576
+LimitNPROC=64
+PrivateTmp=true
+PrivateDevices=true
+ProtectHome=true
+ProtectSystem=strict
+WorkingDirectory=/var/lib/bitwarden_rs
+ReadWriteDirectories=/var/lib/bitwarden_rs
+AmbientCapabilities=CAP_NET_BIND_SERVICE
+
+[Install]
+WantedBy=multi-user.target