#!/bin/bash # # GitHub: https://github.com/Admin9705/PlexGuide.com-The-Awesome-Plex-Server # Author: Admin9705 # URL: https://plexguide.com # # PlexGuide Copyright (C) 2018 PlexGuide.com # Licensed under GNU General Public License v3.0 GPL-3 (in short) # # You may copy, distribute and modify the software as long as you track # changes/dates in source files. Any modifications to our software # including (via compiler) GPL-licensed code must also be made available # under the GPL along with build & install instructions. # ############################################################################### --- - hosts: localhost gather_facts: false tasks: # FACTS ####################################################################### - name: 'Set Known Facts' set_fact: pgrole: 'resilio' intport: '8888' extport: '8888' intport2: '55555' extport2: '55555' image: 'linuxserver/resilio-sync' # EXTRAS FOR RESILIO ########################################################## - name: 'Create {{pgrole}} script directories' file: 'path={{item}} state=directory mode=0775 owner=1000 group=1000 recurse=yes' with_items: - '/opt/appdata/{{pgrole}}' - '/opt/appdata/{{pgrole}}/config' - '/opt/appdata/{{pgrole}}/sync' - '/opt/appdata/{{pgrole}}/downloads' # CORE (MANDATORY) ############################################################ - name: 'Including cron job' include_tasks: '/opt/communityapps/apps/_core.yml' # LABELS ###################################################################### - name: 'Adding Traefik' set_fact: pg_labels: traefik.frontend.auth.forward.address: '{{gauth}}' traefik.enable: 'true' traefik.port: '{{intport}}' traefik.frontend.rule: 'Host:{{pgrole}}.{{domain.stdout}},{{tldset}}' - name: 'Setting PG Volumes' set_fact: pg_volumes: - '/opt/appdata/{{pgrole}}/config:/config' - '/opt/appdata/{{pgrole}}/sync:/sync' - '/opt/appdata/{{pgrole}}/downloads:/downloads' - '/mnt:/mnt' - name: 'Setting PG ENV' set_fact: pg_env: PUID: '1000' PGID: '1000' # MAIN DEPLOYMENT ############################################################# - name: 'Deploy {{pgrole}} Container - OverRide' docker_container: name: '{{pgrole}}' image: '{{image}}' pull: yes published_ports: - '{{ports.stdout}}{{extport}}:{{intport}}' - '{{ports.stdout}}{{extport2}}:{{intport2}}' volumes: '{{pg_volumes}}' env: '{{pg_env}}' restart_policy: unless-stopped networks: - name: plexguide aliases: - '{{pgrole}}' state: started labels: '{{pg_labels}}'