From 99c61ba1726e1046c91eb5df12108b8f5a37af1c Mon Sep 17 00:00:00 2001
From: 3D <3d@n3rd3d.com>
Date: Wed, 1 Feb 2023 22:08:37 +0100
Subject: [PATCH] deploy tasmoadmin

---
 intern/docker_tasmoadmin/tasks/main.yml       | 23 ++++++++++++++++++
 .../templates/docker-compose.yml              | 24 +++++++++++++++++++
 site.yml                                      |  6 +++++
 3 files changed, 53 insertions(+)
 create mode 100644 intern/docker_tasmoadmin/tasks/main.yml
 create mode 100644 intern/docker_tasmoadmin/templates/docker-compose.yml

diff --git a/intern/docker_tasmoadmin/tasks/main.yml b/intern/docker_tasmoadmin/tasks/main.yml
new file mode 100644
index 00000000..c0ec9429
--- /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 00000000..18c4b090
--- /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 4527be8b..766764d3 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
-- 
GitLab