From 4b52fbeb7ad93411aede1a655cbc53ba5a9461a6 Mon Sep 17 00:00:00 2001 From: Sheppy Date: Sun, 14 May 2023 18:30:54 +0200 Subject: [PATCH] add: timetracking/kimai basics --- playbook.yaml | 4 ++++ roles/timetracking/handlers/main.yaml | 19 +++++++++++++++ roles/timetracking/meta/main.yml | 2 ++ roles/timetracking/tasks/main.yaml | 22 ++++++++++++++++++ .../templates/docker-compose-kimai.yaml | 23 +++++++++++++++++++ .../templates/readme_timetracking.txt | 1 + 6 files changed, 71 insertions(+) create mode 100644 roles/timetracking/handlers/main.yaml create mode 100644 roles/timetracking/meta/main.yml create mode 100644 roles/timetracking/tasks/main.yaml create mode 100644 roles/timetracking/templates/docker-compose-kimai.yaml create mode 100644 roles/timetracking/templates/readme_timetracking.txt diff --git a/playbook.yaml b/playbook.yaml index 4730121..abfd2e8 100644 --- a/playbook.yaml +++ b/playbook.yaml @@ -43,3 +43,7 @@ - hosts: vault-pki roles: - { role : vault-pki, tags : [ "pki_master", "vault" ] } + +- hosts: timetracking + roles: + - { role : timetracking, tags : [ "timetracking", "kamai" ] } diff --git a/roles/timetracking/handlers/main.yaml b/roles/timetracking/handlers/main.yaml new file mode 100644 index 0000000..a2981e3 --- /dev/null +++ b/roles/timetracking/handlers/main.yaml @@ -0,0 +1,19 @@ +- name: systemctl restart image-factory + systemd: + name: image-factory + state: restarted + +- name: systemctl restart serien-ampel + systemd: + name: serien-ampel + state: restarted + +- name: systemctl restart simple-log-server + systemd: + name: simple-log-server + state: restarted + +- name: systemctl restart soundlib-interface + systemd: + name: soundlib-interface + state: restarted diff --git a/roles/timetracking/meta/main.yml b/roles/timetracking/meta/main.yml new file mode 100644 index 0000000..c808c92 --- /dev/null +++ b/roles/timetracking/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: + - global-handlers diff --git a/roles/timetracking/tasks/main.yaml b/roles/timetracking/tasks/main.yaml new file mode 100644 index 0000000..f1e8cb5 --- /dev/null +++ b/roles/timetracking/tasks/main.yaml @@ -0,0 +1,22 @@ +- name: Create Kimai compose directories + file: + state: directory + path: "{{ item }}" + with_items: + - /opt/timetracking-mysql/ + - /opt/kimai/ + +- name: Deploy Kimai Compose file + template: + src: docker-compose-kimai.yaml + dest: "/opt/kimai/docker-compose.yaml" + +- name: Deploy Kimai Compose + community.docker.docker_compose: + project_src: /opt/kimai/ + pull: true + +- name: Copy README file + template: + src: readme_timetracking.txt + dest: /opt/readme_timetracking.txt diff --git a/roles/timetracking/templates/docker-compose-kimai.yaml b/roles/timetracking/templates/docker-compose-kimai.yaml new file mode 100644 index 0000000..45896aa --- /dev/null +++ b/roles/timetracking/templates/docker-compose-kimai.yaml @@ -0,0 +1,23 @@ +version: "3" +services: + mysql: + image: mysql + restart: always + environment: + MYSQL_DATABASE: kimai + MYSQL_USER: kimai + MYSQL_PASSWORD: kimai + MYSQL_ROOT_PASSWORD: kimai + ports: + - 3306:3306 + volumes: + - /opt/timetracking-mysql/:/var/lib/mysql + kimai: + image: kimai/kimai2:apache + restart: always + environment: + DATABASE_URL: "mysql://kimai:kimai@mysql:3306/kimai" + TRUSTED_HOSTS: timetracking.atlantishq.de,localhost,127.0.0.1 + APP_ENV: prod + ports: + - 8080:8001 diff --git a/roles/timetracking/templates/readme_timetracking.txt b/roles/timetracking/templates/readme_timetracking.txt new file mode 100644 index 0000000..c796181 --- /dev/null +++ b/roles/timetracking/templates/readme_timetracking.txt @@ -0,0 +1 @@ +docker exec kimai2 /opt/kimai/bin/console kimai:user:create admin admin@example.com ROLE_SUPER_ADMIN password