summaryrefslogtreecommitdiff
path: root/app-admin
diff options
context:
space:
mode:
authorMarcin Deranek <marcin.deranek@slonko.net>2021-04-30 10:48:58 +0200
committerMarcin Deranek <marcin.deranek@slonko.net>2021-04-30 10:48:58 +0200
commitd8d6bd4dc3f8b19dea4396fa8d495725c69e02e5 (patch)
treeb694e75e07d64ca3160d77dd621e3fb3b93ea554 /app-admin
parent02b64cba610262c2e99086473eb56cdf358671a1 (diff)
downloadportage-d8d6bd4dc3f8b19dea4396fa8d495725c69e02e5.tar.gz
portage-d8d6bd4dc3f8b19dea4396fa8d495725c69e02e5.tar.bz2
portage-d8d6bd4dc3f8b19dea4396fa8d495725c69e02e5.zip
Added vaultwarden
Diffstat (limited to 'app-admin')
-rw-r--r--app-admin/vaultwarden-web-vault/Manifest2
-rw-r--r--app-admin/vaultwarden-web-vault/vaultwarden-web-vault-2.19.0d.ebuild26
-rw-r--r--app-admin/vaultwarden/Manifest6
-rw-r--r--app-admin/vaultwarden/files/conf9
-rw-r--r--app-admin/vaultwarden/files/init13
-rw-r--r--app-admin/vaultwarden/files/vaultwarden16
-rw-r--r--app-admin/vaultwarden/files/vaultwarden.service37
-rw-r--r--app-admin/vaultwarden/metadata.xml8
-rw-r--r--app-admin/vaultwarden/vaultwarden-1.21.1.ebuild88
9 files changed, 205 insertions, 0 deletions
diff --git a/app-admin/vaultwarden-web-vault/Manifest b/app-admin/vaultwarden-web-vault/Manifest
new file mode 100644
index 0000000..92a36ab
--- /dev/null
+++ b/app-admin/vaultwarden-web-vault/Manifest
@@ -0,0 +1,2 @@
+DIST vaultwarden-web-vault-2.19.0d.tar.gz 7621517 BLAKE2B 2e972ce08aeeeba626c9a121477b996d64ba6b1987d6d71cc8824ea9aeb0f1173ffa81b6b095485fc9051fab33f24b7914e3df53dbcbfdedcf635660cff2cb58 SHA512 8661c5baa67cef630db7674108001a54ac68fcaa21bd7b6489f6e28b40ad1a9f32d0db90ca5a5bb36917a8e95c66fbfcfd58a8ca37aceb76e91c5eb30f9dd6b8
+EBUILD vaultwarden-web-vault-2.19.0d.ebuild 597 BLAKE2B 46a4d2436bb49e644115f00774a00bf939b630bb4a9962ba98855dfeef274fdd424369bbd1e3919e2f8b11ee05e369f4e6a211e9dced52892dda23e44305bbb0 SHA512 82e0c4708dfa472f11e53f3403161b69a29490f475f425485b167a0eef0d98684535377a38bf16503d67bb6a3467f01a7f91e56c859b930c63f143e9f00e5706
diff --git a/app-admin/vaultwarden-web-vault/vaultwarden-web-vault-2.19.0d.ebuild b/app-admin/vaultwarden-web-vault/vaultwarden-web-vault-2.19.0d.ebuild
new file mode 100644
index 0000000..ff56bb3
--- /dev/null
+++ b/app-admin/vaultwarden-web-vault/vaultwarden-web-vault-2.19.0d.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2017-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Unofficial patched bitwarden web-vault builds for vaultwarden"
+HOMEPAGE="https://github.com/dani-garcia/bw_web_builds"
+SRC_URI="https://github.com/dani-garcia/bw_web_builds/releases/download/v${PV}/bw_web_v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ unpack "${P}.tar.gz" || die
+ S="${WORKDIR}"
+}
+
+src_install() {
+ insinto /usr/share/vaultwarden-web-vault/htdocs
+ doins -r web-vault/*
+}
diff --git a/app-admin/vaultwarden/Manifest b/app-admin/vaultwarden/Manifest
new file mode 100644
index 0000000..9dae912
--- /dev/null
+++ b/app-admin/vaultwarden/Manifest
@@ -0,0 +1,6 @@
+AUX conf 270 BLAKE2B eedd55cdae2c1b4160ef2e08a341aeb3356edbef7bbba67ce4fcde810de595012939d32b91cc58a04ae6510acffd350d6ded316ecf3cc2f047ffc85a3acaaa01 SHA512 ebbed2c0c12c7f42974bedf9336ab93a43c951abfe72c36d31b0da05bee623a707994b21774380f6d0943725d4cadf0d53bc32b4733c1dddaa3d41e5e73bbe41
+AUX init 493 BLAKE2B fbb148dfd2e319928544ae36ccde1fa62456359403999cc8cb151db5febb6d5331ae185b599012924b6bd3533260005fe16fe3694464aff2f249065aba37a2a6 SHA512 bbcd2355cec35c185b143f9cbd26cec4c57de4cd4dbd8b7e9376e6a5aa48a8db5ab72c72da4f4ddf0b9b70f2c915379c8e07eda772983928242057afa67189e0
+AUX vaultwarden 332 BLAKE2B eeee143031362d7232de544ba5b349eb77326e1e8ea462d4736557def280a00836cc35f7cfbb9eb27ab52058e8a51be2d805bcf2a7a30ee56d277c8de04f889c SHA512 9e98beefef37922309bbba217624a9ec586e9af642905e590a5d978efcb8027754a71cab792b14ff623c6422f5e958afaef1b3edf245a5f39d60d867f9faf131
+AUX vaultwarden.service 972 BLAKE2B 25865a0e76ed673202eb9c0259331c3de5f843050185913f02b14d8a0d25036656f5a30b2f5b460fc13ce3cd3a6e2319495aac1365d3c5a75746000d315bacfe SHA512 277d8fc4c9db0b24990cbc2e0a1ea687b5779c28febca54352a15b782cdd4c24b7c64821d7fe0a2e0794efb1a0732ccb4533cf8f97cf832876013f0ad2b8c5dd
+EBUILD vaultwarden-1.21.1.ebuild 1959 BLAKE2B e1aafe096004306d2df69b0c4081c93fd48ce51cd7d6382c3f89912acb32a7ed4c78fbfedd97587ef9c39a2de8188aeefa1308d98dd4811ace50e623acf29032 SHA512 b228e795c015250f5672cdf8ea9c525b7c6fa4f144194d7baa78dcf96cd4a930c0f3117f5b02011e8f6cab8b8c2fd51f30c3460d71a41587e87d52769fe54f0e
+MISC metadata.xml 255 BLAKE2B fec818e56877b2451e889c05ed95700632e02438bbe9ae515925548714246b19bdf3b141e0771f64b92483ade6734afe8828d0b177db1d76902c535871ea5551 SHA512 f5e088eef2af90b4f6129ca7ed31d833f61521a8fe6c60e5d5cb871601a85374bf330f445c298990760d51e5186ec8156a192ff30b42f8abc3cb82d329ccc803
diff --git a/app-admin/vaultwarden/files/conf b/app-admin/vaultwarden/files/conf
new file mode 100644
index 0000000..3928906
--- /dev/null
+++ b/app-admin/vaultwarden/files/conf
@@ -0,0 +1,9 @@
+# /etc/conf.d/vaultwarden: config file for /etc/init.d/vaultwarden
+# vim: set filetype=gentoo-conf-d:
+
+# User and group
+VAULTWARDEN_USER="vaultwarden"
+VAULTWARDEN_GROUP="vaultwarden"
+
+# Environment config file (will be sourced)
+VAULTWARDEN_CONFIG="/etc/vaultwarden.env"
diff --git a/app-admin/vaultwarden/files/init b/app-admin/vaultwarden/files/init
new file mode 100644
index 0000000..66fd2ea
--- /dev/null
+++ b/app-admin/vaultwarden/files/init
@@ -0,0 +1,13 @@
+#!/sbin/openrc-run
+# Copyright 1999-2021 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+command="/var/lib/vaultwarden/vaultwarden"
+pidfile="/run/vaultwarden.pid"
+description="Unofficial Vaultwarden compatible server written in Rust"
+start_stop_daemon_args="--env VAULTWARDEN_CONFIG=$VAULTWARDEN_CONFIG --user ${VAULTWARDEN_USER} --group ${VAULTWARDEN_GROUP} --pidfile ${pidfile} --make-pidfile --background"
+
+depend() {
+ need net
+ use mysql postgresql
+}
diff --git a/app-admin/vaultwarden/files/vaultwarden b/app-admin/vaultwarden/files/vaultwarden
new file mode 100644
index 0000000..8400dfb
--- /dev/null
+++ b/app-admin/vaultwarden/files/vaultwarden
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+# Load config
+set -o allexport
+source "$VAULTWARDEN_CONFIG"
+set +o allexport
+
+# Create data dir
+cd /var/lib/vaultwarden
+mkdir -p "${DATA_FOLDER:-data}"
+
+# Use default web vault folder
+export WEB_VAULT_FOLDER="${WEB_VAULT_FOLDER:-"/usr/share/vaultwarden-web-vault/htdocs"}"
+
+# Exec vaultwarden
+exec /usr/bin/vaultwarden
diff --git a/app-admin/vaultwarden/files/vaultwarden.service b/app-admin/vaultwarden/files/vaultwarden.service
new file mode 100644
index 0000000..12ba0d4
--- /dev/null
+++ b/app-admin/vaultwarden/files/vaultwarden.service
@@ -0,0 +1,37 @@
+[Unit]
+Description=Unofficial Bitwarden compatible server written in Rust
+Documentation=https://github.com/dani-garcia/vaultwarden
+After=network.target mariadb.service mysqld.service postgresql.service
+
+[Service]
+User=vaultwarden
+Group=vaultwarden
+Environment="WEB_VAULT_FOLDER=/usr/share/vaultwarden-web-vault/htdocs"
+EnvironmentFile=/etc/vaultwarden.env
+ExecStart=/usr/bin/vaultwarden
+
+LimitNOFILE=1048576
+LimitNPROC=256
+
+PrivateTmp=true
+PrivateDevices=true
+ProtectHome=true
+ProtectSystem=strict
+ProtectKernelTunables=yes
+ProtectKernelModules=yes
+ProtectControlGroups=yes
+
+RestrictNamespaces=yes
+
+SystemCallArchitectures=native
+SystemCallFilter=@system-service
+RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
+
+WorkingDirectory=/var/lib/vaultwarden
+ReadWriteDirectories=/var/lib/vaultwarden
+# Allow vaultwarden to bind ports in the range of 0-1024
+AmbientCapabilities=CAP_NET_BIND_SERVICE
+CapabilityBoundingSet=CAP_NET_BIND_SERVICE
+
+[Install]
+WantedBy=multi-user.target
diff --git a/app-admin/vaultwarden/metadata.xml b/app-admin/vaultwarden/metadata.xml
new file mode 100644
index 0000000..1196209
--- /dev/null
+++ b/app-admin/vaultwarden/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-admin/vaultwarden/vaultwarden-1.21.1.ebuild b/app-admin/vaultwarden/vaultwarden-1.21.1.ebuild
new file mode 100644
index 0000000..024645c
--- /dev/null
+++ b/app-admin/vaultwarden/vaultwarden-1.21.1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 2017-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit git-r3 cargo systemd
+
+DESCRIPTION="Unofficial Bitwarden compatible server written in Rust"
+HOMEPAGE="https://github.com/dani-garcia/vaultwarden"
+EGIT_REPO_URI="https://github.com/dani-garcia/vaultwarden.git"
+EGIT_COMMIT="${PV}"
+SRC_URI=""
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="mysql postgres sqlite"
+
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+ACCT_DEPEND="
+ acct-group/vaultwarden
+ acct-user/vaultwarden
+"
+DEPEND="
+ >=app-admin/vaultwarden-web-vault-2.19.0
+ dev-lang/rust[nightly]
+ dev-libs/openssl:0=
+"
+RDEPEND="
+ ${ACCT_DEPEND}
+ ${DEPEND}
+"
+
+src_unpack() {
+ git-r3_src_unpack
+
+ mkdir -p "${S}" || die
+
+ pushd "${S}" > /dev/null || die
+ CARGO_HOME="${ECARGO_HOME}" cargo fetch || die
+ CARGO_HOME="${ECARGO_HOME}" cargo vendor "${ECARGO_VENDOR}" || die
+ popd > /dev/null || die
+
+ cargo_gen_config
+}
+
+src_configure() {
+ myfeatures=(
+ $(usev mysql)
+ $(usex postgres postgresql '')
+ $(usev sqlite)
+ )
+}
+
+src_compile() {
+ cargo_src_compile ${myfeatures:+--features "${myfeatures[*]}"} --no-default-features
+}
+
+src_install() {
+ cargo_src_install ${myfeatures:+--features "${myfeatures[*]}"} --no-default-features
+
+ einstalldocs
+
+ # Install init.d and conf.d scripts
+ newinitd "${FILESDIR}"/init vaultwarden
+ newconfd "${FILESDIR}"/conf vaultwarden
+ systemd_newunit "${FILESDIR}"/vaultwarden.service vaultwarden.service
+
+ # Install /etc/vaultwarden.env
+ insinto /etc
+ newins .env.template vaultwarden.env
+ fowners root:vaultwarden /etc/vaultwarden.env
+ fperms 640 /etc/vaultwarden.env
+
+ # Install launch wrapper
+ exeinto /var/lib/vaultwarden
+ doexe "${FILESDIR}"/vaultwarden
+
+ # Keep data dir
+ keepdir /var/lib/vaultwarden/data
+ fowners vaultwarden:vaultwarden /var/lib/vaultwarden/data
+ fperms 700 /var/lib/vaultwarden/data
+}
+
+src_test() {
+ cargo_src_test ${myfeatures:+--features "${myfeatures[*]}"} --no-default-features
+}