From e6a659e4cb72145c7bd2719a6fb4fbe2bcbb9554 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Wed, 5 Feb 2020 20:37:01 +0000 Subject: [PATCH] Add calibre compose file --- .../docker/files/calibre/docker-compose.yml | 18 +++++++++++ ansible/roles/docker/tasks/calibre.yml | 31 +++++++++++++++++++ ansible/roles/docker/tasks/main.yml | 3 ++ 3 files changed, 52 insertions(+) create mode 100644 ansible/roles/docker/files/calibre/docker-compose.yml create mode 100644 ansible/roles/docker/tasks/calibre.yml diff --git a/ansible/roles/docker/files/calibre/docker-compose.yml b/ansible/roles/docker/files/calibre/docker-compose.yml new file mode 100644 index 0000000..dbcf121 --- /dev/null +++ b/ansible/roles/docker/files/calibre/docker-compose.yml @@ -0,0 +1,18 @@ +version: "2" +services: + calibre: + image: linuxserver/calibre-web:0.6.5-ls47 + container_name: calibre + environment: + - PUID={{ docker_user.id }} + - PGID={{ docker_user.id }} + - TZ=Europe/London + restart: unless-stopped + volumes: + - ./config:/config + - /srv/nextcloud-data/data/jake/files/EBooks:/books:ro + labels: + - "traefik.enable=true" + - "traefik.http.routers.calibre.rule=Host(`calibre.jakehoward.tech`)" + - "traefik.http.routers.calibre.tls=true" + - "traefik.http.routers.calibre.tls.certresolver=le" diff --git a/ansible/roles/docker/tasks/calibre.yml b/ansible/roles/docker/tasks/calibre.yml new file mode 100644 index 0000000..f53a1b4 --- /dev/null +++ b/ansible/roles/docker/tasks/calibre.yml @@ -0,0 +1,31 @@ +- name: Create calibre directory + file: + path: '/opt/calibre' + state: directory + owner: "{{ docker_user.name }}" + mode: "{{ docker_compose_directory_mask }}" + become: true + become_user: root + +- name: Install calibre compose file + template: + src: files/calibre/docker-compose.yml + dest: "/opt/calibre/docker-compose.yml" + mode: "{{ docker_compose_file_mask }}" + owner: "{{ docker_user.name }}" + validate: /usr/bin/docker-compose -f %s config + register: compose_file + become: true + become_user: root + +- name: Cycle calibre container + docker_compose: + project_src: /opt/calibre + pull: true + remove_orphans: true + remove_volumes: true + state: "{{ item }}" + when: compose_file.changed + loop: + - absent + - present diff --git a/ansible/roles/docker/tasks/main.yml b/ansible/roles/docker/tasks/main.yml index ecf4475..7cc99cd 100644 --- a/ansible/roles/docker/tasks/main.yml +++ b/ansible/roles/docker/tasks/main.yml @@ -30,3 +30,6 @@ - name: Install traefik include: traefik.yml + +- name: Install calibre + include: calibre.yml