diff options
| author | Joe Carstairs <me@joeac.net> | 2026-08-13 16:35:47 +0100 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2026-08-13 16:35:47 +0100 |
| commit | 9f2ebc2cce3af0e685677c23f2098c115e034adf (patch) | |
| tree | bc6609cf851ee3f0a4f572d762b4ea35a34610f6 /roles/vaultwarden | |
| parent | f31e65c51681823ade14abad87c742101a1b823d (diff) | |
move ansible/ dir to root
Diffstat (limited to 'roles/vaultwarden')
| -rw-r--r-- | roles/vaultwarden/tasks/main.yml | 26 | ||||
| -rwxr-xr-x | roles/vaultwarden/templates/openrc/vaultwarden | 46 |
2 files changed, 72 insertions, 0 deletions
diff --git a/roles/vaultwarden/tasks/main.yml b/roles/vaultwarden/tasks/main.yml new file mode 100644 index 0000000..6533642 --- /dev/null +++ b/roles/vaultwarden/tasks/main.yml @@ -0,0 +1,26 @@ +- name: Install podman and jq + community.general.apk: + name: + - podman + - jq + +- name: Install vaultwarden service + register: vaultwarden_service + ansible.builtin.template: + src: openrc/vaultwarden + dest: /etc/init.d/vaultwarden + mode: "755" + +- name: Restart vaultwarden service and configure to start on boot + when: vaultwarden_service is changed + ansible.builtin.service: + name: vaultwarden + enabled: true + state: restarted + +- name: Start vaultwarden service and configure to start on boot + when: not ( vaultwarden_service is changed ) + ansible.builtin.service: + name: vaultwarden + enabled: true + state: started diff --git a/roles/vaultwarden/templates/openrc/vaultwarden b/roles/vaultwarden/templates/openrc/vaultwarden new file mode 100755 index 0000000..cf718a5 --- /dev/null +++ b/roles/vaultwarden/templates/openrc/vaultwarden @@ -0,0 +1,46 @@ +#!/sbin/openrc-run + +description="Run vaultwarden container image" + +start() { + ebegin "Starting vaultwarden" + podman create \ + --name=joeac.net-vaultwarden \ + --env DOMAIN=https://pwd.joeac.net \ + --volume /var/vaultwarden/data:/data/ \ + --publish 9000:80 \ + --restart unless-stopped \ + docker.io/vaultwarden/server:latest + podman start joeac.net-vaultwarden + eend $? +} + +stop() { + ebegin "Stopping vaultwarden" + podman rm --force joeac.net-vaultwarden + eend $? +} + +status() { + if ! $(podman container exists joeac.net-vaultwarden); then + einfo "status: no container found called joeac.net-vaultwarden" + exit 3 + fi + state="$(podman inspect joeac.net-vaultwarden | jq .[0].State)" + if [ "$(echo "$state" | jq .Paused)" == "true" ]; then + einfo "status: paused" + exit 0 + elif [ "$(echo "$state" | jq .Restarting)" == "true" ]; then + einfo "status: restarting" + exit 0 + elif [ "$(echo "$state" | jq .Running)" == "true" ]; then + einfo "status: running" + exit 0 + elif [ "$(echo "$state" | jq .Error)" == "0" ]; then + einfo "status: stopped" + exit 3 + else + einfo "status: crashed" + exit 3 + fi +} |
