diff --git a/apps/mcmyadmin.yml b/apps/mcmyadmin.yml new file mode 100644 index 0000000..a178085 --- /dev/null +++ b/apps/mcmyadmin.yml @@ -0,0 +1,86 @@ +#!/bin/bash +# +# Title: McMyadmin2 +# Author(s): timekills +# URL: https://plexguide.com - http://github.plexguide.com +# GNU: General Public License v3.0 +################################################################################ +--- +- hosts: localhost + gather_facts: false + tasks: + # CORE (MANDATORY) DO NOT CHANGE ########################################### + + - name: 'Set Known Facts' + set_fact: + pgrole: 'mcmyadmin2' + intport: '8080' + extport: '8088' + image: 'linuxserver/mcmyadmin2' + + - name: 'Including cron job' + include_tasks: '/opt/plexguide/containers/_core.yml' + + # EXTRA FUNCTIONS REQUIRED BY THE ROLE ##################################### + + - name: 'Create scripts directory for {{pgrole}}' + file: + path: /opt/appdata/{{pgrole}}/scripts + state: directory + owner: 1000 + group: 1000 + mode: 0755 + + - name: 'Create plugins directory for {{pgrole}}' + file: + path: /opt/appdata/{{pgrole}}/plugins + state: directory + owner: 1000 + group: 1000 + mode: 0755 + + # LABELS #### KEEPS BOTTOM CLEAN ########################################### + - name: 'Adding Traefik' + set_fact: + pg_labels: + traefik.frontend.auth.forward.address: '{{gauth}}' + traefik.enable: 'true' + traefik.port: '{{intport}}' + traefik.frontend.rule: 'Host:mcmyadmin.{{domain.stdout}},{{tldset}}' + + - name: 'Setting PG Volumes' + set_fact: + pg_volumes: + - '/opt/appdata/{{pgrole}}/mcmyadmin:/minecraft' + - '/opt/appdata/{{pgrole}}/Minecraft:/Minecraft' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt:/mnt' + - '/etc/localtime:/etc/localtime:ro' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + PUID: 1000 + PGID: 1000 + + # MAIN SCRIPT ############################################################## + + - name: 'Deploying {{pgrole}}' + docker_container: + name: '{{pgrole}}' + image: '{{image}}' + pull: yes + published_ports: + - '{{ports.stdout}}{{extport}}:{{intport}}' + - '25565:25565/tcp' + - '25566:25566/tcp' + - '25567:25567/tcp' + volumes: '{{pg_volumes}}' + env: '{{pg_env}}' + restart_policy: unless-stopped + networks: + - name: plexguide + aliases: + - '{{pgrole}}' + state: started + labels: '{{pg_labels}}'