summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorD. Can Celasun2019-08-28 22:21:39 +0100
committerD. Can Celasun2019-08-28 22:21:39 +0100
commit702921714523e1133ec9dbbda4979d78962c72bd (patch)
treef9c36f4d2038e0ceadb5ac053f20654651ba8927
downloadaur-702921714523e1133ec9dbbda4979d78962c72bd.tar.gz
[bitwarden-rs-mysql] v1.10.0 (new package)
-rw-r--r--.SRCINFO30
-rw-r--r--0001-Disable-Vault.patch13
-rw-r--r--PKGBUILD43
-rw-r--r--bitwarden_rs.install54
-rw-r--r--bitwarden_rs.service29
5 files changed, 169 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..9672391e8c56
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,30 @@
+pkgbase = bitwarden_rs-mysql
+ pkgdesc = An unofficial lightweight implementation of the bitwarden-server using rust and mysql. Does NOT include the web-interface.
+ pkgver = 1.10.0
+ pkgrel = 1
+ url = https://github.com/dani-garcia/bitwarden_rs
+ install = bitwarden_rs.install
+ arch = i686
+ arch = x86_64
+ arch = armv7h
+ arch = aarch64
+ license = GPL3
+ makedepends = rust-nightly
+ makedepends = cargo-nightly
+ depends = openssl
+ optdepends = bitwarden_rs-vault: Web Interface 'Vault'
+ provides = bitwarden_rs
+ conflicts = bitwarden_rs-git
+ conflicts = bitwarden_rs
+ backup = etc/bitwarden_rs.env
+ source = https://github.com/dani-garcia/bitwarden_rs/archive/1.10.0.tar.gz
+ source = bitwarden_rs.install
+ source = bitwarden_rs.service
+ source = 0001-Disable-Vault.patch
+ sha512sums = 3744f3d01affa7b818c12991c74d7c073849a193838376a4d7f49fa1926d2d6d1309b2371bd4390b8631cc763806a8d03375ca057bf2945c6348d547eedbe2be
+ sha512sums = 399e63002acb764895bbcf3b983642c8858343b36909eeeb73133de1a9740a3d81232bc206ff6bf3daed50f72354c5e6fd5314d0d044acd9f1cb23a933b1dd74
+ sha512sums = 4ce188956f6fe7cfdb711b1505f6344ed2775751ea112a0506dc96455c2705ab8529ec442e4747d7810fc3535b4ca78d1864e874dab5b5306373587097e02658
+ sha512sums = a6f2361c7aa83e63b9a557500406b0cd660e0d7f8b16345f859faa3f96e22bdcecd7589711960486fa0401896291f7d46f66882744c69117fc146056f4a49028
+
+pkgname = bitwarden_rs-mysql
+
diff --git a/0001-Disable-Vault.patch b/0001-Disable-Vault.patch
new file mode 100644
index 000000000000..a17e9065ffe9
--- /dev/null
+++ b/0001-Disable-Vault.patch
@@ -0,0 +1,13 @@
+diff --git a/.env.template b/.env.template
+index 51bb9e0..2e838fc 100644
+--- a/.env.template
++++ b/.env.template
+@@ -17,7 +17,7 @@
+
+ ## Web vault settings
+ # WEB_VAULT_FOLDER=web-vault/
+-# WEB_VAULT_ENABLED=true
++WEB_VAULT_ENABLED=false
+
+ ## Controls the WebSocket server address and port
+ # WEBSOCKET_ADDRESS=0.0.0.0
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..92162abc0d9a
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,43 @@
+# Maintainer: D. Can Celasun <can[at]dcc[dot]im>
+# Contributor: Markus Richter <mqus at disroot dot org>
+
+pkgname=bitwarden_rs-mysql
+_pkgbase=bitwarden_rs
+pkgver=1.10.0
+pkgrel=1
+pkgdesc="An unofficial lightweight implementation of the bitwarden-server using rust and mysql. Does NOT include the web-interface."
+arch=('i686' 'x86_64' 'armv7h' 'aarch64')
+url="https://github.com/dani-garcia/bitwarden_rs"
+license=('GPL3')
+depends=('openssl')
+makedepends=('rust-nightly' 'cargo-nightly')
+optdepends=("bitwarden_rs-vault: Web Interface 'Vault'")
+conflicts=("${_pkgbase}-git" "${_pkgbase}")
+provides=("${_pkgbase}")
+backup=('etc/bitwarden_rs.env')
+install=bitwarden_rs.install
+source=("https://github.com/dani-garcia/bitwarden_rs/archive/$pkgver.tar.gz"
+ "${_pkgbase}.install"
+ "${_pkgbase}.service"
+ "0001-Disable-Vault.patch")
+sha512sums=('3744f3d01affa7b818c12991c74d7c073849a193838376a4d7f49fa1926d2d6d1309b2371bd4390b8631cc763806a8d03375ca057bf2945c6348d547eedbe2be'
+ '399e63002acb764895bbcf3b983642c8858343b36909eeeb73133de1a9740a3d81232bc206ff6bf3daed50f72354c5e6fd5314d0d044acd9f1cb23a933b1dd74'
+ '4ce188956f6fe7cfdb711b1505f6344ed2775751ea112a0506dc96455c2705ab8529ec442e4747d7810fc3535b4ca78d1864e874dab5b5306373587097e02658'
+ 'a6f2361c7aa83e63b9a557500406b0cd660e0d7f8b16345f859faa3f96e22bdcecd7589711960486fa0401896291f7d46f66882744c69117fc146056f4a49028')
+_src="$_pkgbase-$pkgver"
+
+build() {
+ #build bitwarden_rs
+ cd "$srcdir/$_src"
+ patch -N -p1 -i "$srcdir/0001-Disable-Vault.patch"
+ cargo build --release --features mysql
+}
+
+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/$_src/.env.template" "$pkgdir/etc/bitwarden_rs.env"
+ # copy binary
+ install -D -m0755 "$srcdir/$_src/target/release/bitwarden_rs" "$pkgdir/usr/bin/bitwarden_rs"
+}
diff --git a/bitwarden_rs.install b/bitwarden_rs.install
new file mode 100644
index 000000000000..a9ad0060b616
--- /dev/null
+++ b/bitwarden_rs.install
@@ -0,0 +1,54 @@
+post_install() {
+ # Create users and data directory
+
+ echo "Adding user bitwarden_rs and creating data directory /var/lib/bitwarden_rs ..."
+ mkdir -p /var/lib/bitwarden_rs
+ getent group bitwarden_rs &>/dev/null || groupadd -r bitwarden_rs >/dev/null
+ getent passwd bitwarden_rs &>/dev/null || useradd -r -g bitwarden_rs -d /var/lib/bitwarden_rs -s /usr/bin/nologin bitwarden_rs >/dev/null
+ chown bitwarden_rs:bitwarden_rs /var/lib/bitwarden_rs
+ chmod 0750 /var/lib/bitwarden_rs
+
+ # Load service file
+ systemctl --quiet daemon-reload
+
+ echo ""
+ 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 "##########"
+ echo ""
+
+}
+
+post_upgrade() {
+ # Reload service file
+ systemctl --quiet daemon-reload
+ echo ""
+ echo "##########"
+ echo "#"
+ echo "# Remember to restart the bitwarden_rs unit via 'systemctl restart bitwarden_rs.service', if neccessary."
+ echo "#"
+ echo "##########"
+ echo ""
+
+}
+
+pre_remove() {
+ # Stop service
+ systemctl --quiet --no-reload disable --now bitwarden_rs.service
+}
+
+post_remove() {
+ # Unload service
+ systemctl --quiet daemon-reload
+ echo ""
+ 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 "##########"
+ echo ""
+}
diff --git a/bitwarden_rs.service b/bitwarden_rs.service
new file mode 100644
index 000000000000..458600a27ea6
--- /dev/null
+++ b/bitwarden_rs.service
@@ -0,0 +1,29 @@
+[Unit]
+Description=Bitwarden Server (Rust Edition)
+Documentation=https://github.com/dani-garcia/bitwarden_rs
+After=network.target
+
+[Service]
+# The user/group bitwarden_rs is run under. the working directory (see below) should allow write and read access to this user/group
+User=bitwarden_rs
+Group=bitwarden_rs
+# The location of the .env file for configuration
+EnvironmentFile=/etc/bitwarden_rs.env
+# The location of the compiled binary
+ExecStart=/usr/bin/bitwarden_rs
+# Set reasonable connection and process limits
+LimitNOFILE=1048576
+LimitNPROC=64
+# Isolate bitwarden_rs from the rest of the system
+PrivateTmp=true
+PrivateDevices=true
+ProtectHome=true
+ProtectSystem=strict
+# Only allow writes to the following directory and set it to the working directory (user and password data are stored here)
+WorkingDirectory=/var/lib/bitwarden_rs
+ReadWriteDirectories=/var/lib/bitwarden_rs
+# Allow bitwarden_rs to bind ports in the range of 0-1024
+AmbientCapabilities=CAP_NET_BIND_SERVICE
+
+[Install]
+WantedBy=multi-user.target