diff options
author | D. Can Celasun | 2019-08-28 22:21:39 +0100 |
---|---|---|
committer | D. Can Celasun | 2019-08-28 22:21:39 +0100 |
commit | 702921714523e1133ec9dbbda4979d78962c72bd (patch) | |
tree | f9c36f4d2038e0ceadb5ac053f20654651ba8927 | |
download | aur-702921714523e1133ec9dbbda4979d78962c72bd.tar.gz |
[bitwarden-rs-mysql] v1.10.0 (new package)
-rw-r--r-- | .SRCINFO | 30 | ||||
-rw-r--r-- | 0001-Disable-Vault.patch | 13 | ||||
-rw-r--r-- | PKGBUILD | 43 | ||||
-rw-r--r-- | bitwarden_rs.install | 54 | ||||
-rw-r--r-- | bitwarden_rs.service | 29 |
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 |