2 changed files with 82 additions and 0 deletions
@ -0,0 +1,62 @@ |
|||
--- |
|||
# tasks file for vaultwarden |
|||
- name: Create vaultwarden docker directory if it doesn't exist |
|||
file: |
|||
path: "{{ vaultwarden_dir }}" |
|||
state: directory |
|||
|
|||
- name: Remove postgres host from /etc/hosts if it exists |
|||
lineinfile: |
|||
path: /etc/hosts |
|||
regexp: '{{ postgres_host | regex_escape }}' |
|||
state: absent |
|||
|
|||
- name: Add {{ postgres_host }} host to /etc/hosts |
|||
lineinfile: |
|||
dest: /etc/hosts |
|||
line: "{{ hostvars['postgres-srv']['private_ip'] }} {{ postgres_host }}" |
|||
state: present |
|||
when: use_postgres == "true" |
|||
|
|||
- name: Copy vaultwarden docker compose file |
|||
template: |
|||
src: vaultwarden-docker-compose.yaml.j2 |
|||
dest: "{{ vaultwarden_dir }}/docker-compose.yaml" |
|||
|
|||
|
|||
- name: Check if {{ vaultwarden_container_name }} exists |
|||
community.docker.docker_container_info: |
|||
name: "{{ vaultwarden_container_name }}" |
|||
register: vaultwarden_running |
|||
|
|||
- name: Ask for confirmation to remove {{ vaultwarden_container_name }} |
|||
pause: |
|||
prompt: "We found a running {{ vaultwarden_container_name }} container. Would you like to remove it? (y/n)" |
|||
echo: yes |
|||
register: confirmation |
|||
when: vaultwarden_running.exists |
|||
delegate_to: localhost |
|||
run_once: true |
|||
|
|||
- block: |
|||
- name: Stop and remove {{ vaultwarden_container_name }} if confirmed |
|||
community.docker.docker_container: |
|||
name: "{{ vaultwarden_container_name }}" |
|||
state: absent |
|||
when: vaultwarden_running.exists and confirmation.user_input | lower in ['y', 'yes'] |
|||
|
|||
- name: Remove {{ vaultwarden_container_name }} if it exists |
|||
community.docker.docker_container: |
|||
name: "{{ vaultwarden_container_name }}" |
|||
state: absent |
|||
when: vaultwarden_running.exists and confirmation.user_input | lower in ['y', 'yes'] |
|||
|
|||
- name: Prune docker containers |
|||
shell: sudo docker container prune -f |
|||
when: vaultwarden_running.exists and confirmation.user_input | lower in ['y', 'yes'] |
|||
|
|||
- name: Start {{ vaultwarden_container_name }} with docker compose |
|||
community.docker.docker_compose: |
|||
project_src: "{{ vaultwarden_dir }}" |
|||
files: |
|||
- docker-compose.yaml |
@ -0,0 +1,20 @@ |
|||
version: '{{ compose_version }}' |
|||
|
|||
services: |
|||
vaultwarden: |
|||
container_name: {{ vaultwarden_container_name }} |
|||
restart: unless-stopped |
|||
hostname: {{ vaultwarden_container_name }} |
|||
image: {{ vaultwarden_docker_image }} |
|||
ports: |
|||
- {{ private_ip }}:{{ vaultwarden_port }}:80 |
|||
# extra_hosts: |
|||
# - "{{ postgres_host }}:{{ hostvars['postgres-srv']['private_ip'] }}" |
|||
volumes: |
|||
- {{ vaultwarden_data_dir }}:/data/ |
|||
environment: |
|||
{% for env_item in vaultwarden_environment %} |
|||
{% for key, value in env_item.items() %} |
|||
- {{ key }}={{ value }} |
|||
{% endfor %} |
|||
{% endfor %} |
Loading…
Reference in new issue