added vaultwarden files
This commit is contained in:
parent
0456a55aed
commit
b5e5aa4e75
31
vaultwarden/.SRCINFO
Normal file
31
vaultwarden/.SRCINFO
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
pkgbase = vaultwarden
|
||||||
|
pkgdesc = Unofficial Bitwarden compatible server written in Rust
|
||||||
|
pkgver = 1.30.1
|
||||||
|
pkgrel = 1
|
||||||
|
url = https://github.com/dani-garcia/vaultwarden
|
||||||
|
install = vaultwarden.install
|
||||||
|
arch = x86_64
|
||||||
|
license = GPL3
|
||||||
|
makedepends = git
|
||||||
|
makedepends = rust
|
||||||
|
depends = glibc
|
||||||
|
depends = gcc-libs
|
||||||
|
depends = mariadb-libs
|
||||||
|
depends = openssl
|
||||||
|
depends = postgresql-libs
|
||||||
|
depends = sqlite
|
||||||
|
optdepends = vaultwarden-web: for the web app
|
||||||
|
provides = bitwarden_rs
|
||||||
|
replaces = bitwarden_rs
|
||||||
|
options = !lto
|
||||||
|
backup = etc/vaultwarden.env
|
||||||
|
source = vaultwarden::git+https://github.com/dani-garcia/vaultwarden#commit=48836501bf348386d9bb1378fb56db33c19d3732
|
||||||
|
source = systemd.service
|
||||||
|
source = sysusers.conf
|
||||||
|
source = tmpfiles.conf
|
||||||
|
b2sums = SKIP
|
||||||
|
b2sums = ff8e896f820b88f079d3d4f4c2eb394362569c921f53693e25d3badaf9fdca841e4d7665862e09d22421f544802f3a64014696fd92d7f0b923faf41f8d99e472
|
||||||
|
b2sums = 6580cf4031f262638abf11e529e8dfc489197afd6cd616c6a7810741e03c004706a5f9358f825aac6644c0ab6b251627ff988ed68f8264120b3575a655972390
|
||||||
|
b2sums = 9cdcd6c997c884eb3c1ad0c9b8cd91e68ec6762a27f9b80a7eb6c0cb1ffa4e500a654da6f17e9f985cc67add154efe737761f74e4e5f72892fc0e9d457314973
|
||||||
|
|
||||||
|
pkgname = vaultwarden
|
87
vaultwarden/PKGBUILD
Normal file
87
vaultwarden/PKGBUILD
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
# Maintainer: Daniel M. Capella <polyzen@archlinux.org>
|
||||||
|
# Maintainer: George Rawlinson <grawlinson@archlinux.org>
|
||||||
|
# Contributor: Markus Richter <mqus at disroot dot org>
|
||||||
|
# Contributor: Timothée Ravier <tim@siosm.fr
|
||||||
|
|
||||||
|
pkgname=vaultwarden
|
||||||
|
pkgver=1.30.1
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc='Unofficial Bitwarden compatible server written in Rust'
|
||||||
|
arch=('x86_64')
|
||||||
|
url='https://github.com/dani-garcia/vaultwarden'
|
||||||
|
license=('GPL3')
|
||||||
|
depends=(
|
||||||
|
'glibc'
|
||||||
|
'gcc-libs'
|
||||||
|
'mariadb-libs'
|
||||||
|
'openssl'
|
||||||
|
'postgresql-libs'
|
||||||
|
'sqlite'
|
||||||
|
)
|
||||||
|
makedepends=('git' 'rust')
|
||||||
|
optdepends=('vaultwarden-web: for the web app')
|
||||||
|
provides=('bitwarden_rs')
|
||||||
|
replaces=('bitwarden_rs')
|
||||||
|
backup=('etc/vaultwarden.env')
|
||||||
|
options=('!lto')
|
||||||
|
install=$pkgname.install
|
||||||
|
_commit='48836501bf348386d9bb1378fb56db33c19d3732'
|
||||||
|
source=(
|
||||||
|
"$pkgname::git+$url#commit=$_commit"
|
||||||
|
'systemd.service'
|
||||||
|
'sysusers.conf'
|
||||||
|
'tmpfiles.conf'
|
||||||
|
)
|
||||||
|
b2sums=('SKIP'
|
||||||
|
'ff8e896f820b88f079d3d4f4c2eb394362569c921f53693e25d3badaf9fdca841e4d7665862e09d22421f544802f3a64014696fd92d7f0b923faf41f8d99e472'
|
||||||
|
'6580cf4031f262638abf11e529e8dfc489197afd6cd616c6a7810741e03c004706a5f9358f825aac6644c0ab6b251627ff988ed68f8264120b3575a655972390'
|
||||||
|
'9cdcd6c997c884eb3c1ad0c9b8cd91e68ec6762a27f9b80a7eb6c0cb1ffa4e500a654da6f17e9f985cc67add154efe737761f74e4e5f72892fc0e9d457314973')
|
||||||
|
|
||||||
|
pkgver() {
|
||||||
|
cd "$pkgname"
|
||||||
|
|
||||||
|
git describe --tags | sed 's/^v//'
|
||||||
|
}
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
cd "$pkgname"
|
||||||
|
|
||||||
|
# change various defaults
|
||||||
|
sed -i "s,# DATA_FOLDER=data,DATA_FOLDER=/var/lib/$pkgname,
|
||||||
|
s,web-vault/,/usr/share/webapps/$pkgname-web,
|
||||||
|
s,# WEB_VAULT_ENABLED=true,WEB_VAULT_ENABLED=false,
|
||||||
|
s,/path/to/log,/var/log/$pkgname.log,
|
||||||
|
/^# ROCKET_TLS/a ROCKET_LIMITS={json=10485760}" .env.template
|
||||||
|
|
||||||
|
# download dependencies
|
||||||
|
cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "$pkgname"
|
||||||
|
|
||||||
|
VW_VERSION="$pkgver" cargo build --release --frozen --features sqlite,mysql,postgresql
|
||||||
|
}
|
||||||
|
|
||||||
|
check() {
|
||||||
|
cd "$pkgname"
|
||||||
|
|
||||||
|
cargo test --frozen --features sqlite,mysql,postgresql
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
# systemd integration
|
||||||
|
install -vDm644 systemd.service "$pkgdir/usr/lib/systemd/system/$pkgname.service"
|
||||||
|
install -vDm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
|
||||||
|
install -vDm644 tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
|
||||||
|
|
||||||
|
cd "$pkgname"
|
||||||
|
|
||||||
|
# configuration
|
||||||
|
install -Dm644 .env.template "$pkgdir"/etc/$pkgname.env
|
||||||
|
|
||||||
|
# binary
|
||||||
|
install -vDm755 -t "$pkgdir/usr/bin" "target/release/$pkgname"
|
||||||
|
}
|
||||||
|
|
||||||
|
# vim:set ts=2 sw=2 et:
|
54
vaultwarden/systemd.service
Normal file
54
vaultwarden/systemd.service
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Vaultwarden Server
|
||||||
|
Documentation=https://github.com/dani-garcia/vaultwarden
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/vaultwarden
|
||||||
|
WorkingDirectory=/var/lib/vaultwarden
|
||||||
|
User=vaultwarden
|
||||||
|
Group=vaultwarden
|
||||||
|
|
||||||
|
# Allow vaultwarden to bind ports in the range of 0-1024 and restrict it to
|
||||||
|
# that capability
|
||||||
|
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
|
||||||
|
AmbientCapabilities=CAP_NET_BIND_SERVICE
|
||||||
|
|
||||||
|
# If vaultwarden is run at ports >1024, you should apply these options via a
|
||||||
|
# drop-in file
|
||||||
|
#CapabilityBoundingSet=
|
||||||
|
#AmbientCapabilities=
|
||||||
|
#PrivateUsers=yes
|
||||||
|
|
||||||
|
NoNewPrivileges=yes
|
||||||
|
|
||||||
|
LimitNOFILE=1048576
|
||||||
|
UMask=0077
|
||||||
|
|
||||||
|
ProtectSystem=strict
|
||||||
|
ProtectHome=yes
|
||||||
|
ReadWritePaths=/var/lib/vaultwarden /var/log/vaultwarden.log
|
||||||
|
PrivateTmp=yes
|
||||||
|
PrivateDevices=yes
|
||||||
|
ProtectHostname=yes
|
||||||
|
ProtectClock=yes
|
||||||
|
ProtectKernelTunables=yes
|
||||||
|
ProtectKernelModules=yes
|
||||||
|
ProtectKernelLogs=yes
|
||||||
|
ProtectControlGroups=yes
|
||||||
|
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
|
||||||
|
RestrictNamespaces=yes
|
||||||
|
LockPersonality=yes
|
||||||
|
MemoryDenyWriteExecute=yes
|
||||||
|
RestrictRealtime=yes
|
||||||
|
RestrictSUIDSGID=yes
|
||||||
|
RemoveIPC=yes
|
||||||
|
|
||||||
|
SystemCallFilter=@system-service
|
||||||
|
SystemCallFilter=~@privileged @resources
|
||||||
|
SystemCallArchitectures=native
|
||||||
|
|
||||||
|
EnvironmentFile=/etc/vaultwarden.env
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
1
vaultwarden/sysusers.conf
Normal file
1
vaultwarden/sysusers.conf
Normal file
@ -0,0 +1 @@
|
|||||||
|
u vaultwarden - "vaultwarden user"
|
3
vaultwarden/tmpfiles.conf
Normal file
3
vaultwarden/tmpfiles.conf
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
d /var/lib/vaultwarden 0750 vaultwarden vaultwarden
|
||||||
|
h /var/lib/vaultwarden - - - - +C
|
||||||
|
f /var/log/vaultwarden.log 0640 vaultwarden vaultwarden
|
32
vaultwarden/vaultwarden.install
Normal file
32
vaultwarden/vaultwarden.install
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
post_install() {
|
||||||
|
cat << EOF
|
||||||
|
!NOTE!
|
||||||
|
bitwarden_rs is now vaultwarden:
|
||||||
|
https://github.com/dani-garcia/vaultwarden/discussions/1642
|
||||||
|
|
||||||
|
If upgrading from bitwarden_rs, do not to leave around files/directories
|
||||||
|
owned by the old bitwarden_rs user/group before removing the old bitwarden_rs
|
||||||
|
user/group.
|
||||||
|
|
||||||
|
Configure the server via its environment variables in /etc/vaultwarden.env.
|
||||||
|
|
||||||
|
If vaultwarden is run at ports >1024, you should apply these systemd unit
|
||||||
|
options via a drop-in file:
|
||||||
|
[Service]
|
||||||
|
CapabilityBoundingSet=
|
||||||
|
AmbientCapabilities=
|
||||||
|
PrivateUsers=yes
|
||||||
|
|
||||||
|
If the service produces too much noise in your journal, you can redirect stdout
|
||||||
|
to /dev/null (vaultwarden will still also write to /var/log/vaultwarden.log if
|
||||||
|
configured to do so):
|
||||||
|
[Service]
|
||||||
|
StandardOutput=null
|
||||||
|
|
||||||
|
Create or edit drop-in file:
|
||||||
|
# systemctl edit vaultwarden
|
||||||
|
|
||||||
|
Start vaultwarden and enable its systemd service:
|
||||||
|
# systemctl enable --now vaultwarden
|
||||||
|
EOF
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user