Files
vaultwarden-container/vaultwarden-container.spec
T
2026-05-06 20:04:52 +02:00

76 lines
2.4 KiB
RPMSpec

Name: vaultwarden-container
Version: 1.36.0
Release: 1%{?dist}
Summary: Vaultwarden - Bitwarden compatible server (container)
License: AGPL-3.0
Group: System Environment/Base
URL: https://github.com/dani-garcia/vaultwarden
Source0: vaultwarden.container
Source1: vaultwarden.cfg
Source2: vaultwarden.sysusers
Source3: vaultwarden-container-enable.conf
BuildArch: noarch
BuildRequires: systemd-rpm-macros
Requires: podman
Requires: containers-common
Requires: systemd-container
%description
Vaultwarden is an unofficial Bitwarden-compatible server written in Rust.
Runs as a rootless Podman container via quadlet.
%install
%{__rm} -rf %{buildroot}
install -p -D -m 644 %{SOURCE0} %{buildroot}%{_datadir}/containers/systemd/vaultwarden.container
install -p -D -m 644 %{SOURCE2} %{buildroot}%{_sysusersdir}/vaultwarden.conf
install -d -m 750 %{buildroot}%{_sysconfdir}/vaultwarden
install -m 640 %{SOURCE1} %{buildroot}%{_sysconfdir}/vaultwarden/vaultwarden.cfg
install -p -D -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/containers/systemd/vaultwarden.container.d/enable.conf
install -d -m 750 %{buildroot}%{_sharedstatedir}/vaultwarden-container
%pre
%sysusers_create_package vaultwarden %{SOURCE2}
%post
if [ $1 -eq 1 ]; then
loginctl enable-linger vaultwarden || :
fi
if ! grep -q "^vaultwarden:" /etc/subuid 2>/dev/null; then
NEXT=$(awk -F: '{n=$2+$3} END{print n+0}' /etc/subuid 2>/dev/null)
[ "$NEXT" -lt 524288 ] && NEXT=524288
END=$((NEXT + 65535))
usermod --add-subuids "$NEXT-$END" --add-subgids "$NEXT-$END" vaultwarden 2>/dev/null || :
fi
%systemd_post vaultwarden.service
%preun
%systemd_preun vaultwarden.service
%postun
%systemd_postun vaultwarden.service
%clean
%{__rm} -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{_datadir}/containers/systemd/vaultwarden.container
%{_sysusersdir}/vaultwarden.conf
%dir %attr(0750,root,vaultwarden) %{_sysconfdir}/vaultwarden
%config(noreplace) %attr(0640,root,vaultwarden) %{_sysconfdir}/vaultwarden/vaultwarden.cfg
%dir %{_sysconfdir}/containers/systemd/vaultwarden.container.d
%config(noreplace) %{_sysconfdir}/containers/systemd/vaultwarden.container.d/enable.conf
%dir %attr(0750,vaultwarden,vaultwarden) %{_sharedstatedir}/vaultwarden-container
%changelog
* Tue May 06 2026 Zoran Pericic <zpericic@netst.org> - 1.36.0-1
- Initial package