summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--manifests/tozt.pp1
-rw-r--r--modules/bitwarden/files/bitwarden.service10
-rw-r--r--modules/bitwarden/manifests/server.pp22
-rw-r--r--modules/tozt/manifests/bitwarden.pp3
4 files changed, 36 insertions, 0 deletions
diff --git a/manifests/tozt.pp b/manifests/tozt.pp
index 3f0e17e..79294fb 100644
--- a/manifests/tozt.pp
+++ b/manifests/tozt.pp
@@ -13,6 +13,7 @@ node 'tozt', 'tozt.localdomain' {
Class['tozt::operatingsystem'] -> Package<| provider == "pacman" |>
include tozt::backups
+ include tozt::bitwarden
include tozt::git
include tozt::metabase
include tozt::monitoring
diff --git a/modules/bitwarden/files/bitwarden.service b/modules/bitwarden/files/bitwarden.service
new file mode 100644
index 0000000..49f422f
--- /dev/null
+++ b/modules/bitwarden/files/bitwarden.service
@@ -0,0 +1,10 @@
+[Unit]
+Description = runs bitwarden
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/docker run --name bitwarden -v /media/persistent/bitwarden/:/data/ -p 8080:80 bitwardenrs/server:latest
+Restart=on-failure
+
+[Install]
+WantedBy=default.target
diff --git a/modules/bitwarden/manifests/server.pp b/modules/bitwarden/manifests/server.pp
new file mode 100644
index 0000000..061af38
--- /dev/null
+++ b/modules/bitwarden/manifests/server.pp
@@ -0,0 +1,22 @@
+class bitwarden::server {
+ include docker
+ include systemd
+
+ exec { "docker pull bitwardenrs/server:latest":
+ provider => "shell",
+ unless => "docker ps | grep -q bitwardenrs",
+ require => Service["docker"];
+ }
+
+ file { "/etc/systemd/system/bitwarden.service":
+ source => "puppet:///modules/bitwarden/bitwarden.service",
+ notify => Exec["/usr/bin/systemctl daemon-reload"];
+ }
+
+ service { "bitwarden":
+ ensure => running,
+ enable => true,
+ require => Exec["docker pull bitwardenrs/server:latest"],
+ subscribe => File["/etc/systemd/system/bitwarden.service"];
+ }
+}
diff --git a/modules/tozt/manifests/bitwarden.pp b/modules/tozt/manifests/bitwarden.pp
new file mode 100644
index 0000000..21e4475
--- /dev/null
+++ b/modules/tozt/manifests/bitwarden.pp
@@ -0,0 +1,3 @@
+class tozt::bitwarden {
+ include bitwarden
+}