- name: Deploy Krawfish | |
hosts: | |
- krawfish | |
user: korap | |
serial: 1 | |
tasks: | |
- name: Save docker image | |
local_action: ansible.builtin.command docker save korap/krawfish:latest -o ./krawfish-latest.tar | |
- name: Copy docker image to hosts | |
ansible.builtin.copy: | |
src: ./krawfish-latest.tar | |
dest: /opt/korap/krawfish/krawfish-latest.tar | |
mode: '0644' | |
- name: Load docker images on hosts | |
ansible.builtin.command: docker load -i /opt/korap/krawfish/krawfish-latest.tar | |
- name: Get UID for KorAP user | |
getent: | |
database: passwd | |
key: korap | |
- name: Gracefully stop and remove old docker container, if existing | |
community.docker.docker_container: | |
state: "absent" | |
name: krawfish | |
recreate: true | |
keep_volumes: true | |
comparisons: | |
image: ignore # do not restart containers with older versions of the image | |
- name: Restart docker container | |
community.docker.docker_container: | |
image: korap/krawfish:latest | |
restart_policy: "unless-stopped" | |
# pull: true | |
name: krawfish | |
user: "{{ ansible_facts.getent_passwd[\"korap\"].1 }}" | |
init: true | |
detach: true | |
network_mode: "host" | |
mounts: | |
- type: bind | |
source: "/opt/korap/krawfish/log" | |
target: "/log" | |
- type: bind | |
source: "/opt/korap/krawfish/index" | |
target: "/index" | |
- type: bind | |
read_only: true | |
source: "/opt/korap/krawfish/conf.yml" | |
target: "/conf.yml" | |
ports: | |
- "9328:9328" | |
- "9329:9329" | |
- "9587:9587" | |
command: ["-c", "conf.yml"] | |
comparisons: | |
image: ignore # do not restart containers with older versions of the image |