summaryrefslogtreecommitdiffstats
path: root/modules/bitwarden/manifests/server.pp
blob: 4f344cdc5ac96032d51ac2f043e0b5fd0ce3765e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class bitwarden::server($data_dir) {
  include docker
  include systemd

  exec { "docker pull bitwardenrs/server:latest":
    provider => "shell",
    unless => "docker ps | grep -q bitwardenrs",
    require => Service["docker"];
  }

  file {
    $data_dir:
      ensure => directory;
    "/etc/systemd/system/bitwarden.service":
      content => template("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"];
  }
}