diff --git a/intern/docker_tasmoadmin/tasks/main.yml b/intern/docker_tasmoadmin/tasks/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..c0ec94294fb80f73af038470fad0b8432b3c6271 --- /dev/null +++ b/intern/docker_tasmoadmin/tasks/main.yml @@ -0,0 +1,23 @@ +--- +- name: "create folder struct for {{ servicename }}" + ansible.builtin.file: + path: "{{ item }}" + state: "directory" + recurse: yes + owner: 1000 + group: 1000 + with_items: + - "{{ basedir }}/data/" + +- name: "copy config files file for {{ servicename }}" + ansible.builtin.template: + src: "{{ item }}" + dest: "{{ basedir }}/{{ item }}" + mode: '0755' + with_items: + - "docker-compose.yml" + +- name: "start {{ servicename }} with docker-compose" + community.docker.docker_compose: + state: present + project_src: "{{ basedir }}" diff --git a/intern/docker_tasmoadmin/templates/docker-compose.yml b/intern/docker_tasmoadmin/templates/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..18c4b09015091c56a460ec565a9336429e922535 --- /dev/null +++ b/intern/docker_tasmoadmin/templates/docker-compose.yml @@ -0,0 +1,24 @@ + +version: "3" + +services: + + app: + image: ghcr.io/tasmoadmin/tasmoadmin:latest + restart: always + volumes: + - "{{ basedir }}/data:/data" + environment: + - TZ=Europe/Berlin + labels: + - traefik.enable=true + - traefik.http.routers.{{ servicename }}.rule=Host(`{{ domain }}`) + - traefik.http.routers.{{ servicename }}.entrypoints=websecure + - traefik.http.services.{{ servicename }}.loadbalancer.server.port=80 + networks: + - default + - web + +networks: + web: + external: true diff --git a/site.yml b/site.yml index 4527be8bae26eea8806c41fe037472e6d37b6490..766764d31b0205d387069c9dda87443ecde2b00d 100644 --- a/site.yml +++ b/site.yml @@ -102,6 +102,12 @@ basedir: /srv/graylog, domain: "graylog.warpzone.lan" } + - { + role: intern/docker_tasmoadmin, tags: tasmoadmin, + servicename: tasmoadmin, + basedir: /srv/tasmoadmin, + domain: "tasmoadmin.warpzone.lan" + } - hosts: webserver