From 48dbd616d3553a3a1c2501d40cb3895c057d78d5 Mon Sep 17 00:00:00 2001 From: zotabee <89345101+zotabee@users.noreply.github.com> Date: Mon, 26 Jan 2026 20:59:59 +0100 Subject: [PATCH] Add yamtrack main task --- roles/yamtrack/tasks/main.yml | 65 +++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 roles/yamtrack/tasks/main.yml diff --git a/roles/yamtrack/tasks/main.yml b/roles/yamtrack/tasks/main.yml new file mode 100644 index 0000000..f39e52c --- /dev/null +++ b/roles/yamtrack/tasks/main.yml @@ -0,0 +1,65 @@ +--- +- name: Create YamTrack Directories + ansible.builtin.file: + path: "{{ item }}" + state: directory + owner: "{{ user }}" + group: "{{ group }}" + mode: "0775" + recurse: true + with_items: + - "{{ yamtrack.folder }}/data" + - "{{ yamtrack.folder }}/redis" + +- name: Create YamTrack redis Docker Container + community.docker.docker_container: + name: yamtrack-redis + image: redis:8-alpine + pull: true + volumes: + - "{{ yamtrack.folder }}/redis:/data" + restart_policy: unless-stopped + networks: + - name: web + aliases: + - yamtrack-redis + +- name: Create YamTrack Docker Container + community.docker.docker_container: + name: yamtrack + image: "ghcr.io/fuzzygrim/yamtrack:{{ yamtrack.tag }}" + pull: true + restart_policy: unless-stopped + volumes: + - "{{ yamtrack.folder }}/data:/yamtrack/db" + env: + SECRET: "{{ yamtrack.secret | string }}" + REDIS_URL: "redis://yamtrack-redis:6379" + URLS: "https://{{ yamtrack.subdomain }}.{{ domain }}" + TMDB_API: "{{ yamtrack.tmdb_api if yamtrack.tmdb_api else omit }}" + TRAKT_API: "{{ yamtrack.trakt_api if yamtrack.trakt_api else omit }}" + MAL_API: "{{ yamtrack.mal_api if yamtrack.mal_api else omit }}" + IGDB_ID: "{{ yamtrack.igdb_id if yamtrack.igdb_id else omit }}" + IGDB_SECRET: "{{ yamtrack.igdb_secret if yamtrack.igdb_secret else omit }}" + SIMKL_ID: "{{ yamtrack.simkl_id if yamtrack.simkl_id else omit }}" + SIMKL_SECRET: "{{ yamtrack.simkl_secret if yamtrack.simkl_secret else omit }}" + TZ: "{{ tz }}" + networks: + - name: web + labels: + # Traefik + traefik.enable: "true" + traefik.docker.network: "web" + traefik.http.routers.yamtrack.rule: "Host(`{{ yamtrack.subdomain }}.{{ domain }}`)" + traefik.http.routers.yamtrack.entrypoints: "websecure" + traefik.http.routers.yamtrack.middlewares: "authelia@docker" + traefik.http.services.yamtrack.loadbalancer.server.port: "8000" + # Homer + homer.enable: "true" + homer.name: "Yamtrack" + homer.service: "Tools" + homer.priority: "2" + homer.subtitle: "A self hosted media tracker" + homer.url: "https://{{ yamtrack.subdomain }}.{{ domain }}" + homer.logo: "assets/homer-icons/png/yamtrack.svg" + homer.target: "_blank"