From 9303b918afaa7919f05df259efe7f922d3fd6354 Mon Sep 17 00:00:00 2001 From: MrDoobPG <46342172+MrDoobPG@users.noreply.github.com> Date: Fri, 10 May 2019 15:23:07 +0200 Subject: [PATCH] Create unifi.yml --- apps/unifi.yml | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 apps/unifi.yml diff --git a/apps/unifi.yml b/apps/unifi.yml new file mode 100644 index 0000000..e75f02c --- /dev/null +++ b/apps/unifi.yml @@ -0,0 +1,89 @@ +#!/bin/bash +# +# Title: PGBlitz (Reference Title File) +# Author(s): Admin9705 +# URL: https://pgblitz.com - http://github.pgblitz.com +# GNU: General Public License v3.0 +################################################################################ +--- +- hosts: localhost + gather_facts: false + tasks: + # FACTS ####################################################################### + - name: 'Set Known Facts' + set_fact: + pgrole: 'unifi' + intport: '3478/udp' + extport: '3478' + intport2: '10001/udp' + extport2: '10001' + intport3: '8080/tcp' + extport3: '8080' + intport4: '8081/tcp' + extport4: '8081' + intport5: '8443/tcp' + extport5: '8443' + intport6: '8880/tcp' + extport6: '8880' + image: 'linuxserver/unifi:latest' + + # CORE (MANDATORY) ############################################################ + - name: 'Including cron job' + include_tasks: '/opt/coreapps/apps/_core.yml' + + # LABELS ###################################################################### + - name: 'Adding Traefik' + set_fact: + pg_labels: + traefik.enable: 'true' + traefik.tags: 'frontend' + traefik.frontend.passHostHeader: 'true' + traefik.backend: '{{pgrole}}' + traefik.admin.frontend.rule: 'Host:{{pgrole}}.{{domain.stdout}},{{tldset}}' + traefik.admin.port: '{{intport5}}' + traefik.admin.protocol: 'https' + traefik.frontend.headers.SSLRedirect: 'true' + traefik.frontend.headers.STSSeconds: '315360000' + traefik.frontend.headers.browserXSSFilter: 'true' + traefik.frontend.headers.contentTypeNosniff: 'true' + traefik.frontend.headers.forceSTSHeader: 'true' + traefik.frontend.headers.SSLHost: '{{domain.stdout}}' + traefik.frontend.headers.STSIncludeSubdomains: 'true' + traefik.frontend.headers.STSPreload: 'true' + traefik.frontend.headers.frameDeny: 'true' + + - name: 'Setting PG Volumes' + set_fact: + pg_volumes: + - '/opt/appdata/{{pgrole}}:/config' + - '/etc/localtime:/etc/localtime:ro' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + PUID: '1000' + PGID: '1000' + TZ: '${TZ}' + + # MAIN DEPLOYMENT ############################################################# + - name: 'Deploying {{pgrole}}' + docker_container: + name: '{{pgrole}}' + image: '{{image}}' + pull: yes + published_ports: + - '{{ports.stdout}}{{extport}}:{{intport}}' + - '{{ports.stdout}}{{extport2}}:{{intport2}}' + - '{{ports.stdout}}{{extport3}}:{{intport3}}' + - '{{ports.stdout}}{{extport4}}:{{intport4}}' + - '{{ports.stdout}}{{extport5}}:{{intport5}}' + - '{{ports.stdout}}{{extport6}}:{{intport6}}' + volumes: '{{pg_volumes}}' + env: '{{pg_env}}' + restart_policy: always + networks: + - name: plexguide + aliases: + - '{{pgrole}}' + state: started + labels: '{{pg_labels}}'