#!/bin/bash # # Title: firefox # 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: 'firefox' intport: '5800' extport: '5811' # intport2: '25565' # extport2: '25565' image: 'jlesage/firefox' - name: 'Including cron job' include_tasks: '/opt/communityapps/apps/_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:{{pgrole}}.{{domain.stdout}}{{tldset}}{{cname}}' traefik.frontend.headers.SSLHost: '{{domain.stdout}}' traefik.frontend.headers.SSLRedirect: 'true' traefik.frontend.headers.STSIncludeSubdomains: 'true' traefik.frontend.headers.STSPreload: 'true' traefik.frontend.headers.STSSeconds: '315360000' traefik.frontend.headers.browserXSSFilter: 'true' traefik.frontend.headers.contentTypeNosniff: 'true' traefik.frontend.headers.customResponseHeaders: 'X-Robots-Tag:noindex,nofollow,nosnippet,noarchive,notranslate,noimageindex' traefik.frontend.headers.forceSTSHeader: 'true' - name: 'Setting PG Volumes' set_fact: pg_volumes: - '/opt/appdata/{{pgrole}}:/config:rw' - '/mnt:/mnt' - '/etc/localtime:/etc/localtime:ro' - '/dev/shm:/dev/shm:rw' - name: 'Setting {{pgrole}} ENV' set_fact: pg_env: PUID: '1000' PGID: '1000' DISPLAY_WIDTH: '1600' DISPLAY_HEIGHT: '960' # MAIN SCRIPT ############################################################## - 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}}'