From 707fda13fbcf40a8f1d41e358d19938a5d587751 Mon Sep 17 00:00:00 2001 From: rla999 Date: Thu, 17 Jan 2019 20:50:45 -0500 Subject: [PATCH] Initial release --- apps/makemkv.yml | 125 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 apps/makemkv.yml diff --git a/apps/makemkv.yml b/apps/makemkv.yml new file mode 100644 index 0000000..6c0fbbc --- /dev/null +++ b/apps/makemkv.yml @@ -0,0 +1,125 @@ +#!/bin/bash +# +# Title: MakeMKV for PlexGuide +# Author(s): rla999 +# URL: https://plexguide.com - https://github.com/rla999/makemkv-for-plexguide/ +# GNU: General Public License v3.0 +################################################################################ +--- +- hosts: localhost + gather_facts: false + tasks: + # FACTS ####################################################################### + + - name: 'Set Known Facts' + set_fact: + pgrole: 'makemkv' + intport: '5800' + extport: '5801' + intport2: '5903' + extport2: '5903' + image: 'jlesage/makemkv' + + # CORE (MANDATORY) ############################################################ + - name: 'Including cron job' + include_tasks: '/opt/plexguide/containers/_core.yml' + + # MIGRATIONS (REMOVE SECTION ON MARCH 1st) ############################################################# + - name: 'Check for old volumes' + stat: + path: '{{path.stdout}}/{{pgrole}}' + register: oldcheck + + - name: 'Migrations' + block: + - name: 'Creating new downloads location' + command: 'mkdir -p {{path.stdout}}/downloads/{{pgrole}}' + + - name: 'Chown download folder' + shell: 'chown -R 1000:1000 {{path.stdout}}/downloads/{{pgrole}}/' + + - name: 'Chmod download folder' + shell: 'chmod -R 775 {{path.stdout}}/downloads/{{pgrole}}/' + + - name: 'Ini Check' + stat: + path: /opt/appdata/{{pgrole}}/core.conf + register: inicheck + + # LABELS ###################################################################### + - name: 'Adding Traefik' + set_fact: + pg_labels: + traefik.enable: 'true' + traefik.port: '{{intport}}' + traefik.frontend.auth.forward.address: '{{gauth}}' + traefik.frontend.rule: 'Host:{{pgrole}}.{{domain.stdout}},{{tldset}}' + + - name: 'Setting PG Volumes' + set_fact: + pg_volumes: + - '/opt/appdata/{{pgrole}}:/config' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt/unionfs:/unionfs' + - '{{path.stdout}}/downloads/{{pgrole}}/:/output:rw' + - '/etc/localtime:/etc/localtime:ro' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + UID: 1000 + GID: 1000 + MAKEMKV_KEY: BETA + AUTO_DISC_RIPPER: 0 + ENABLE_CJK_FONT: 1 + CLEAN_TMP_DIR: 1 + KEEP_APP_RUNNING: 1 + + # MAIN DEPLOYMENT ############################################################# + + - name: 'Deploying {{pgrole}}' + docker_container: + name: '{{pgrole}}' + image: '{{image}}' + pull: yes + published_ports: + - '{{ports.stdout}}{{extport}}:{{intport}}' + volumes: '{{pg_volumes}}' + env: '{{pg_env}}' + restart_policy: unless-stopped + networks: + - name: plexguide + aliases: + - '{{pgrole}}' + state: started + labels: '{{pg_labels}}' + + - name: 'Wait 7 Seconds' + wait_for: + timeout: 7 + + - name: Stop Container + docker_container: + name: '{{pgrole}}' + state: stopped + + # ENDING FOR JDOWNLOADER2 ########################################################### + +# - name: 'Waiting for {{pgrole}} to initialize' +# wait_for: +# path: '/opt/appdata/{{pgrole}}/core.conf' +# state: present + + - name: 'Configuring {{pgrole}} for first time use' + block: + - name: 'Stopping {{pgrole}}' + docker_container: + name: '{{pgrole}}' + state: stopped + + - name: Restart Container + docker_container: + name: '{{pgrole}}' + state: started + + when: not inicheck.stat.exists