diff options
author | Markus Richter | 2018-07-12 01:23:01 +0200 |
---|---|---|
committer | Markus Richter | 2018-07-12 01:23:01 +0200 |
commit | 7c6fbbfcc7f060a7419c52916204ca431c673949 (patch) | |
tree | 02a881d9e3cc6525a64ab8f87603bd389b79ba25 | |
download | aur-7c6fbbfcc7f060a7419c52916204ca431c673949.tar.gz |
initial commit
-rw-r--r-- | .SRCINFO | 34 | ||||
-rw-r--r-- | 0001-Change-vault-paths.patch | 14 | ||||
-rw-r--r-- | PKGBUILD | 71 | ||||
-rw-r--r-- | bitwarden_rs-vault.env | 23 | ||||
-rw-r--r-- | bitwarden_rs.install | 44 | ||||
-rw-r--r-- | bitwarden_rs.service | 22 |
6 files changed, 208 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..5b24d358ec13 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,34 @@ +pkgbase = bitwarden_rs-vault-git + pkgdesc = A lightweight implementation of the bitwarden-server using rust and sqlite. Includes the web-interface 'vault'. + 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 + makedepends = npm + provides = bitwarden_rs + provides = bitwarden_rs-vault + conflicts = bitwarden_rs + conflicts = bitwarden_rs-git + conflicts = bitwarden_rs-vault + source = git+https://github.com/dani-garcia/bitwarden_rs.git + source = https://github.com/bitwarden/web/archive/v1.27.0.tar.gz + source = 0001-Change-vault-paths.patch + source = bitwarden_rs.install + source = bitwarden_rs-vault.env + source = bitwarden_rs.service + sha512sums = SKIP + sha512sums = 493588b8ec965775d0bcb58e5830d6c523131858957d5656d0480edcc93a45860606d190f0d0847ce529f43911efad4af7ca8bd2b0f21d12c05da333dcb1b4d5 + sha512sums = c2c8971abc23d874d8f822f59f1543c3f3a5bba106b146ec2065256c77209857e5915281de1b93efe8b937a1c172592e0c20b8ac1b50bf323eb54014b097156c + sha512sums = ea6ac7d915887078d7e091b99d53f2ee6fbf11ad5a80e04309263e7b06ce43de6e90e69ad62e3c99eaf81f825aebe930bf45888041225a156d74f324dfa10578 + sha512sums = b41fd790ca2432030dc68608e9c96288077ccb5fbbf28c6b54ed03670583a04082be1a6cf4e1efe9f59fd831bc6b841631de96bdafb5aa732760d698ebf72468 + sha512sums = 773dc0830b4eaf3a1d4134a52a6157e6a94265c6212ae8cc24b9584f9c444b9a0f822325f487ce9c23c363f743f1f64f269352f030e98e336816aee0a68048f6 + +pkgname = bitwarden_rs-vault-git + diff --git a/0001-Change-vault-paths.patch b/0001-Change-vault-paths.patch new file mode 100644 index 000000000000..145362c937a5 --- /dev/null +++ b/0001-Change-vault-paths.patch @@ -0,0 +1,14 @@ +--- settings.Production.json 2018-05-31 20:33:00.000000000 +0200 ++++ settings.Production.json 2018-07-11 23:39:12.479350252 +0200 +@@ -2,8 +2,8 @@ + "appSettings": { + "apiUri": "/api", + "identityUri": "/identity", +- "iconsUri": "https://icons.bitwarden.com", +- "stripeKey": "pk_live_bpN0P37nMxrMQkcaHXtAybJk", +- "braintreeKey": "production_qfbsv8kc_njj2zjtyngtjmbjd" ++ "iconsUri": "/icons", ++ "stripeKey": "", ++ "braintreeKey": "" + } + } diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..5db76a5d9205 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,71 @@ +# Maintainer: Markus Richter <mqus at disroot dot org> + +pkgname=bitwarden_rs-vault-git +_pkgbase=bitwarden_rs +pkgver=r161.869352c +_vaultver=1.27.0 +pkgrel=1 +pkgdesc="A lightweight implementation of the bitwarden-server using rust and sqlite. Includes the web-interface 'vault'." +arch=('i686' 'x86_64' 'armv7h' 'aarch64') +url="https://github.com/dani-garcia/bitwarden_rs" +license=('GPLv3') +groups=() +makedepends=('rust-nightly' 'cargo-nightly' 'npm') +provides=("$_pkgbase" "${_pkgbase}-vault") +conflicts=("$_pkgbase" "${_pkgbase}-git" "${_pkgbase}-vault") +replaces=() +backup=() +options=() +install=bitwarden_rs.install +source=('git+https://github.com/dani-garcia/bitwarden_rs.git' + "https://github.com/bitwarden/web/archive/v$_vaultver.tar.gz" + "0001-Change-vault-paths.patch" + "${_pkgbase}.install" + "${_pkgbase}-vault.env" + "${_pkgbase}.service") +noextract=() +sha512sums=('SKIP' + '493588b8ec965775d0bcb58e5830d6c523131858957d5656d0480edcc93a45860606d190f0d0847ce529f43911efad4af7ca8bd2b0f21d12c05da333dcb1b4d5' + 'c2c8971abc23d874d8f822f59f1543c3f3a5bba106b146ec2065256c77209857e5915281de1b93efe8b937a1c172592e0c20b8ac1b50bf323eb54014b097156c' + 'ea6ac7d915887078d7e091b99d53f2ee6fbf11ad5a80e04309263e7b06ce43de6e90e69ad62e3c99eaf81f825aebe930bf45888041225a156d74f324dfa10578' + 'b41fd790ca2432030dc68608e9c96288077ccb5fbbf28c6b54ed03670583a04082be1a6cf4e1efe9f59fd831bc6b841631de96bdafb5aa732760d698ebf72468' + '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)" + ) +} +prepare() { + cd "$srcdir/web-$_vaultver" + #fix gulp install + rm package-lock.json + #patch all + patch -N -i "$srcdir/0001-Change-vault-paths.patch" +} + +build() { + #build bitwarden_rs + cd "$srcdir/$_pkgbase" + cargo build --release + + #build vault webinterface + cd "$srcdir/web-$_vaultver" + npm install + npx gulp dist:selfHosted +} + +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-vault.env" "$pkgdir/etc/bitwarden_rs.env" + # install vault files + install -d "$pkgdir/usr/share/bitwarden_rs" + cp -r "$srcdir/web-$_vaultver/dist" "$pkgdir/usr/share/bitwarden_rs/vault" + # copy binary + install -D -m0755 "$srcdir/$_pkgbase/target/release/bitwarden_rs" "$pkgdir/usr/bin/bitwarden_rs" +} diff --git a/bitwarden_rs-vault.env b/bitwarden_rs-vault.env new file mode 100644 index 000000000000..282504e05449 --- /dev/null +++ b/bitwarden_rs-vault.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 = true +WEB_VAULT_FOLDER = /usr/share/bitwarden_rs/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 |