diff --git a/README.md b/README.md index cbab32b..64834bd 100644 --- a/README.md +++ b/README.md @@ -1,45 +1,23 @@ -📂 [**Click Here**](https://goo.gl/7NR3Da) - Sign up for Google's Suite for Business - Unlimited Space - -📂 [**Click Here**](https://controlpanel.newshosting.com/signup/index.php?promo=partners&a_aid=5a65169240efd&a_bid=5ecfe99b) - NZB's with from NewsHost - PG Members Receive a 58% Discount - +##### WANT TO HELP? CLICK THE ★ (STAR LOGO) in the Upper-Right!
- -_**Table of Contents**_ - -1. [General Intro](#1-general-intro) -2. [YouTube Video - Intro](#2-youtube-video---intro) -3. [Summary](#3-summary) - ----- -# 1. General Intro - -**PG Box Community:** PG Community is a PG repo that collects and stores accepted user container writeups for community usage install. User can add programs such as Radarr4k or other unique programs that others may want to utlize. - -
Manage PGBlitz - AnyTime, Anywhere!
- -Forum Node for Community Box: [ CLICK HERE ](https://pgblitz.com/forums/pg-app-community-box.191/) - -**WARNING: Wiki Under Construction** - -(BETTER EXAMPLES will be provided), but Radarr4k and Sonarr4k serve as general containers until posted! - -In order for apps show up under the Community App Store, users must select or push apps from within the app folder of this repo. Do not worry, the apps automatically show up under the community app store and are segerated from the official containers that are built and supported by PG. - -# 2. YouTube Video - Intro -NOT READY - -# 3. Summary - -PG Box Community Edition is dead simple to use! Have a container in mind? Push containers that benifit the community today! - -📂 [**Click Here**](http://usenetserver.com/partners/?a_aid=5a65169240efd&a_bid=5725b6ed) - NZB's from USENET Server - PG Members Receive a 60% Discount - - + +* 📂 [**[Click Here]**](https://goo.gl/7NR3Da) - Google G-Suite (Unlimited Hard Drive Space & Storage) +* 📂 [**[Click Here]**](https://controlpanel.newshosting.com/signup/index.php?promo=partners&a_aid=5a65169240efd&a_bid=5ecfe99b) - Top Performance NewsHost! - Blitz Members Receive a 58% Discount +---- +### **Reference Shortcut -** http://wiki.pgblitz.com | Discord ( !wiki ) +---- + +## 1. PG YouTube + + +PGBlitz Introduction Video
+ + +PGBlitz Installation Video
+ +[**[Click Here]**](https://pgblitz.com/threads/plexguide-install-instructions.243/) for installation instructions to start the process diff --git a/apps/_appsgen.sh b/apps/_appsgen.sh index aa87c16..a0e5ccd 100644 --- a/apps/_appsgen.sh +++ b/apps/_appsgen.sh @@ -7,8 +7,8 @@ ################################################################################ # Generates App List -ls -la /opt/coreapps/apps/ | sed -e 's/.yml//g' \ -| awk '{print $9}' | tail -n +4 > /var/plexguide/app.list +ls -la /opt/communityapps/apps/ | sed -e 's/.yml//g' \ +| awk '{print $9}' | tail -n +4 >> /var/plexguide/app.list ls -la /opt/mycontainers/ | sed -e 's/.yml//g' \ | awk '{print $9}' | tail -n +4 >> /var/plexguide/app.list diff --git a/apps/_cron.list b/apps/_cron.list index 51857fe..d7eff0f 100644 --- a/apps/_cron.list +++ b/apps/_cron.list @@ -4,3 +4,4 @@ netdata alltube dockergc blitzui +watchtower diff --git a/apps/_plugins.yml b/apps/_plugins.yml index 7e6a747..7a557be 100644 --- a/apps/_plugins.yml +++ b/apps/_plugins.yml @@ -17,5 +17,5 @@ force: yes owner: '1000' group: '1000' - mode: 0755 + mode: 0775 when: copycheck.stat.exists diff --git a/apps/airsonic.yml b/apps/airsonic.yml index 25f9cf7..733afac 100644 --- a/apps/airsonic.yml +++ b/apps/airsonic.yml @@ -1,65 +1,65 @@ -#!/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: 'airsonic' - intport: '4040' - extport: '4040' - image: 'airsonic/airsonic' - - # CORE (MANDATORY) ############################################################ - - name: 'Including cron job' - include_tasks: '/opt/communityapps/apps/_core.yml' - - # 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: - - '/etc/localtime:/etc/localtime:ro' - - '/opt/appdata/{{pgrole}}:/airsonic/data' - - '/opt/appdata/{{pgrole}}/playlists:/airsonic/playlists' - - '/opt/appdata/{{pgrole}}/podcasts:/airsonic/podcasts' - - '{{path.stdout}}:{{path.stdout}}' - - '/mnt:/mnt' - - - name: 'Setting PG ENV' - set_fact: - pg_env: - PUID: '1000' - PGID: '1000' - - # 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}}' +#!/bin/bash +# +# Title: PGBlitz (linuxserver/airsonic) +# Author(s): MrDoob +# 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: 'airsonic' + intport: '4040' + extport: '4040' + image: 'linuxserver/airsonic' + + # 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: + - '/etc/localtime:/etc/localtime:ro' + - '/opt/appdata/{{pgrole}}:/airsonic/data' + - '/opt/appdata/{{pgrole}}/playlists:/airsonic/playlists' + - '/opt/appdata/{{pgrole}}/podcasts:/airsonic/podcasts' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt:/mnt' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + PUID: '1000' + PGID: '1000' + + # 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}}' diff --git a/apps/avidemux.yml b/apps/avidemux.yml new file mode 100644 index 0000000..8b78e56 --- /dev/null +++ b/apps/avidemux.yml @@ -0,0 +1,88 @@ +#!/bin/bash +# +# Title: avidemux +# 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: 'avidemux' + intport: '5800' + extport: '5806' +# intport2: '25565' +# extport2: '25565' + image: 'jlesage/avidemux' + + - 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}}' + + - name: 'Setting PG Volumes' + set_fact: + pg_volumes: + - '/opt/appdata/{{pgrole}}:/config:rw' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt:/mnt' + - '/etc/localtime:/etc/localtime:ro' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + PUID: 1000 + PGID: 1000 + # Default width is 1280 If you comment out the next line it will use 1280. + DISPLAY_WIDTH: 1600 + # Default height is 768. If you comment out the next line it will use 768. + 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}}' diff --git a/apps/bitwarden.yml b/apps/bitwarden.yml index 7870044..f886a82 100644 --- a/apps/bitwarden.yml +++ b/apps/bitwarden.yml @@ -28,7 +28,6 @@ traefik.enable: 'true' traefik.backend: "{{pgrole}}" traefik.port: '80' - traefik.frontend.auth.forward.address: '{{gauth}}' traefik.frontend.rule: 'Host:bit.{{domain.stdout}},{{pgrole}}.{{domain.stdout}},{{tldset}}' - name: 'Setting PG Volumes' diff --git a/apps/calibre-web.yml b/apps/calibre-web.yml new file mode 100644 index 0000000..b2e93ac --- /dev/null +++ b/apps/calibre-web.yml @@ -0,0 +1,66 @@ +#!/bin/bash +# +# Title: PGBlitz (calibre-web) +# Author(s): Sejrup +# 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: 'calibre-web' + intport: '8083' + extport: '8083' + image: 'technosoft2000/calibre-web' + + # CORE (MANDATORY) ############################################################ + - name: 'Including cron job' + include_tasks: '/opt/coreapps/apps/_core.yml' + + # LABELS ###################################################################### + - name: 'Adding Traefik' + set_fact: + pg_labels: + 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}}:/books' + - '/opt/appdata/{{pgrole}}/config:/calibre-web/config' + - '/etc/localtime:/etc/localtime:ro' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + USE_CONFIG_DIR: 'true' + SET_CONTAINER_TIMEZONE: 'true' + CONTAINER_TIMEZONE: 'Europe/Copenhagen' + PUID: '1000' + PGID: '1000' + + # 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: always + networks: + - name: plexguide + aliases: + - '{{pgrole}}' + state: started + labels: '{{pg_labels}}' diff --git a/apps/deezloaderremix.yml b/apps/deezloaderremix.yml index 6399ca9..c0a1354 100644 --- a/apps/deezloaderremix.yml +++ b/apps/deezloaderremix.yml @@ -15,7 +15,7 @@ pgrole: 'deezloaderremix' intport: '1730' extport: '1730' - image: 'zachawii/deezloaderremix' + image: 'bocki/deezloaderrmx' # CORE (MANDATORY) ############################################################ - name: 'Always have a backup plan' diff --git a/apps/delugevpn.yml b/apps/deluge-vpn.yml similarity index 96% rename from apps/delugevpn.yml rename to apps/deluge-vpn.yml index 55976a6..9872189 100644 --- a/apps/delugevpn.yml +++ b/apps/deluge-vpn.yml @@ -141,14 +141,14 @@ lineinfile: path: '/opt/appdata/{{pgrole}}/core.conf' regexp: '"move_completed".*' - line: '"move_completed": true,' + line: '"move_completed": True,' state: present - name: Setting extractor folder lineinfile: path: '/opt/appdata/{{pgrole}}/plugins/extractor.conf' regexp: '"use_name_folder".*' - line: '"use_name_folder": true,' + line: '"use_name_folder": True,' state: present - name: Setting extractor @@ -172,7 +172,7 @@ lineinfile: path: '/opt/appdata/{{pgrole}}/core.conf' regexp: '"compact_allocation".*' - line: '"compact_allocation": true,' + line: '"compact_allocation": True,' state: present - name: set stop_seed_ratio @@ -193,14 +193,14 @@ lineinfile: path: '/opt/appdata/{{pgrole}}/core.conf' regexp: '"remove_seed_at_ratio".*' - line: '"remove_seed_at_ratio": true,' + line: '"remove_seed_at_ratio": True,' state: present - name: set enc_prefer_rc4 lineinfile: path: '/opt/appdata/{{pgrole}}/core.conf' regexp: '"enc_prefer_rc4".*' - line: '"enc_prefer_rc4": true,' + line: '"enc_prefer_rc4": True,' state: present - name: set enc_level @@ -235,7 +235,7 @@ lineinfile: path: '/opt/appdata/{{pgrole}}/core.conf' regexp: '"dont_count_slow_torrents".*' - line: '"dont_count_slow_torrents": true,' + line: '"dont_count_slow_torrents": True,' state: present - name: set max_active_seeding diff --git a/apps/domoticz.yml b/apps/domoticz.yml new file mode 100644 index 0000000..dc35552 --- /dev/null +++ b/apps/domoticz.yml @@ -0,0 +1,67 @@ +#!/bin/bash +# +# Title: PGBlitz (linuxserver/domoticz) +# 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: 'domoticz' + intport: '8080/tcp' + extport: '8777' + intport2: '6144/udp' + extport2: '6144' + intport3: '1443/tcp' + extport3: '1443' + image: 'linuxserver/domoticz:stable' + + # CORE (MANDATORY) ############################################################ + - name: 'Including cron job' + include_tasks: '/opt/coreapps/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' + - '/etc/localtime:/etc/localtime:ro' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + PUID: '1000' + PGID: '1000' + + # 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}}' + volumes: '{{pg_volumes}}' + env: '{{pg_env}}' + restart_policy: unless-stopped + networks: + - name: plexguide + aliases: + - '{{pgrole}}' + state: started + labels: '{{pg_labels}}' diff --git a/apps/dozzle.yml b/apps/dozzle.yml new file mode 100644 index 0000000..f7f87a9 --- /dev/null +++ b/apps/dozzle.yml @@ -0,0 +1,64 @@ +#!/bin/bash +# +# Title: Dozzle +# Author(s): Amir Raminfar (amir20) +# URL: https://dozzle.dev/ - https://github.com/amir20/dozzle +# GNU: General Public License v3.0 +################################################################################ +--- +- hosts: localhost + gather_facts: false + tasks: + # CORE (MANDATORY) DO NOT CHANGE ########################################### + + - name: 'Set Known Facts' + set_fact: + pgrole: 'dozzle' + intport: '8080' + extport: '8383' + image: 'amir20/dozzle' + + - name: 'Including cron job' + include_tasks: '/opt/communityapps/apps/_core.yml' + + # 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}}' + + - name: 'Setting PG Volumes' + set_fact: + pg_volumes: + - '/var/run/docker.sock:/var/run/docker.sock' + - '/etc/localtime:/etc/localtime:ro' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + DOZZLE_ADDR: ':8080' + DOZZLE_BASE: '/' + DOZZLE_LEVEL: 'info' + DOZZLE_TAILSIZE: '300' + + # 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}}' diff --git a/apps/embystats.yml b/apps/embystats.yml index 41651f9..9d67b7a 100644 --- a/apps/embystats.yml +++ b/apps/embystats.yml @@ -14,7 +14,7 @@ - name: 'Set Known Facts' set_fact: pgrole: "embystats" - intport: "80" + intport: "5432" extport: "9049" image: "uping/embystat:beta-linux" diff --git a/apps/filebot.yml b/apps/filebot.yml new file mode 100644 index 0000000..7ba2310 --- /dev/null +++ b/apps/filebot.yml @@ -0,0 +1,66 @@ +#!/bin/bash +# +# Title: PGBlitz (jlesage/filebot) +# Author(s): MrDoob +# 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: 'filebot' + intport: '5800' + extport: '5804' + intport2: '5900' + extport2: '5903' + image: 'jlesage/filebot' + + # 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' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt:/storage:rw' + - '/etc/localtime:/etc/localtime:ro' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + PUID: '1000' + PGID: '1000' + + # MAIN DEPLOYMENT ############################################################# + - name: 'Deploying {{pgrole}}' + 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}}' diff --git a/apps/filezilla.yml b/apps/filezilla.yml new file mode 100644 index 0000000..ac8c81d --- /dev/null +++ b/apps/filezilla.yml @@ -0,0 +1,81 @@ +#!/bin/bash +# +# Title: Filezilla for PGBlitz (OAuth security) +# Author(s): CasperVN +# URL: https://pgblitz.com - https://github.com/jlesage/docker-filezilla +# GNU: General Public License v3.0 +################################################################################ +--- +- hosts: localhost + gather_facts: false + tasks: + # FACTS ####################################################################### + + - name: 'Set Known Facts' + set_fact: + pgrole: 'filezilla' + intport: '5800' + extport: '5803' + image: 'jlesage/filezilla' + + # CORE (MANDATORY) ############################################################ + - name: 'Including cron job' + include_tasks: '/opt/communityapps/apps/_core.yml' + + - name: 'Including plugins' + include_tasks: '/opt/communityapps/apps/_plugins.yml' + + - name: 'Including folders' + include_tasks: '/opt/communityapps/apps/_downloaders.yml' + + - 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/downloads:/storage:rw' + - '/etc/localtime:/etc/localtime:ro' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + UID: '1000' + GID: '1000' + DISPLAY_WIDTH: '1920' + DISPLAY_HEIGHT: '1080' + + # 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}}' + +##PG-Community + +##PG-Community diff --git a/apps/firefox.yml b/apps/firefox.yml new file mode 100644 index 0000000..c1bd84c --- /dev/null +++ b/apps/firefox.yml @@ -0,0 +1,97 @@ +#!/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: '5810' +# 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}}' + 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' + #traefik.frontend.headers.frameDeny: 'true' + + - name: 'Setting PG Volumes' + set_fact: + pg_volumes: + - '/opt/appdata/{{pgrole}}:/config:rw' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt:/mnt' + - '/etc/localtime:/etc/localtime:ro' + - '/dev/shm:/dev/shm:rw' + + - name: 'Setting PG 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}}' diff --git a/apps/flexget.yml b/apps/flexget.yml index 25faf86..7b375a6 100644 --- a/apps/flexget.yml +++ b/apps/flexget.yml @@ -44,8 +44,6 @@ PUID: '1000' PGID: '1000' - - # MAIN DEPLOYMENT ############################################################# - name: 'Deploying {{pgrole}}' docker_container: diff --git a/apps/templates/broken/nzbthrottle.yml b/apps/flextv.yml similarity index 69% rename from apps/templates/broken/nzbthrottle.yml rename to apps/flextv.yml index 27f3a7d..ee73fbf 100644 --- a/apps/templates/broken/nzbthrottle.yml +++ b/apps/flextv.yml @@ -1,6 +1,6 @@ #!/bin/bash # -# Title: PGBlitz (Reference Title File) +# Title: PGBlitz (digitalhigh/FlexTV) # Author(s): Admin9705 # URL: https://pgblitz.com - http://github.pgblitz.com # GNU: General Public License v3.0 @@ -12,31 +12,15 @@ # FACTS ####################################################################### - name: 'Set Known Facts' set_fact: - pgrole: 'nzbthrottle' - intport: '0' - extport: '0' - image: 'daghaian/nzbthrottle' + pgrole: 'flextv' + intport: '80/tcp' + extport: '8987' + image: 'digitalhigh/flextv:latest' # CORE (MANDATORY) ############################################################ - name: 'Including cron job' include_tasks: '/opt/communityapps/apps/_core.yml' - - name: 'Checking {{pgrole}}'s json existance' - stat: - path: '/opt/communityapps/apps/templates/{{pgrole}}/config.json' - register: jsoncheck - - - name: 'Copying file for {{pgrole}}' - copy: - src: '/opt/communityapps/apps/templates/{{pgrole}}/config.json' - dest: '/opt/appdata/{{pgrole}}/{{pgrole}}/config.json' - directory_mode: yes - force: yes - owner: '1000' - group: '1000' - mode: 0755 - when: not jsoncheck.stat.exists - # LABELS ###################################################################### - name: 'Adding Traefik' set_fact: @@ -44,21 +28,20 @@ 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' - '/etc/localtime:/etc/localtime:ro' - - '/opt/appdata/{{pgrole}}/config.json:/{{pgrole}}/config.json:ro' - name: 'Setting PG ENV' set_fact: pg_env: PUID: '1000' PGID: '1000' - + # MAIN DEPLOYMENT ############################################################# - name: 'Deploying {{pgrole}}' docker_container: diff --git a/apps/handbrake.yml b/apps/handbrake.yml index 991120f..d1013f4 100644 --- a/apps/handbrake.yml +++ b/apps/handbrake.yml @@ -65,7 +65,7 @@ state: directory owner: '1000' group: '1000' - mode: 0755 + mode: 0775 recurse: yes - name: 'Create complete directory for {{pgrole}}' @@ -74,7 +74,7 @@ state: directory owner: '1000' group: '1000' - mode: 0755 + mode: 0775 recurse: yes - name: 'Deploying {{pgrole}}' diff --git a/apps/image/unifi-controller b/apps/image/unifi-controller new file mode 100644 index 0000000..371ec56 --- /dev/null +++ b/apps/image/unifi-controller @@ -0,0 +1,2 @@ +linuxserver/unifi-controller:latest +linuxserver/unifi-controller:LTS diff --git a/apps/jd2-openvpn.yml b/apps/jd2-openvpn.yml index 292946c..26cf971 100644 --- a/apps/jd2-openvpn.yml +++ b/apps/jd2-openvpn.yml @@ -49,12 +49,11 @@ - name: 'Setting PG Volumes' set_fact: pg_volumes: - - '/opt/appdata/{{pgrole}}:/config' - - '{{path.stdout}}:{{path.stdout}}' - - '/mnt/unionfs:/unionfs' - - '/mnt:/mnt' - - '{{path.stdout}}/downloads/{{pgrole}}/:/output:rw' - '/etc/localtime:/etc/localtime:ro' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt:/mnt' + - '/opt/appdata/{{pgrole}}:/config' + - '{{path.stdout}}/downloads/{{pgrole}}/:/output:rw' - '/opt/appdata/{{pgrole}}/vpn:/vpn:rw' - name: 'Setting PG ENV' @@ -62,6 +61,8 @@ pg_env: UID: '1000' GID: '1000' + DISPLAY_WIDTH: '1600' + DISPLAY_HEIGHT: '960' # MAIN DEPLOYMENT ############################################################# - name: 'Deploying {{pgrole}}' diff --git a/apps/jdownloader2.yml b/apps/jdownloader2.yml index b3e56b8..addee0d 100644 --- a/apps/jdownloader2.yml +++ b/apps/jdownloader2.yml @@ -49,12 +49,11 @@ - name: 'Setting PG Volumes' set_fact: pg_volumes: - - '/opt/appdata/{{pgrole}}:/config' - - '{{path.stdout}}:{{path.stdout}}' - - '/mnt/unionfs:/unionfs' - - '/mnt:/mnt' - - '{{path.stdout}}/downloads/{{pgrole}}/:/output:rw' - '/etc/localtime:/etc/localtime:ro' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt:/mnt' + - '/opt/appdata/{{pgrole}}:/config' + - '{{path.stdout}}/downloads/{{pgrole}}/:/output:rw' - name: 'Setting PG ENV' set_fact: diff --git a/apps/logarr.yml b/apps/logarr.yml index e98dc4e..9e59173 100644 --- a/apps/logarr.yml +++ b/apps/logarr.yml @@ -14,7 +14,7 @@ set_fact: pgrole: 'logarr' intport: '80' - extport: '7555' + extport: '7755' image: 'monitorr/logarr:develop' # CORE (MANDATORY) ############################################################ diff --git a/apps/makemkv.yml b/apps/makemkv.yml index 70d4c8e..5171a58 100644 --- a/apps/makemkv.yml +++ b/apps/makemkv.yml @@ -36,11 +36,11 @@ - 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' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt:/mnt' + - '/opt/appdata/{{pgrole}}:/config' + - '{{path.stdout}}/downloads/{{pgrole}}/:/output:rw' - name: 'Setting PG ENV' set_fact: diff --git a/apps/mediainfo.yml b/apps/mediainfo.yml new file mode 100644 index 0000000..026f6b5 --- /dev/null +++ b/apps/mediainfo.yml @@ -0,0 +1,67 @@ +#!/bin/bash +# +# Title: PGBlitz (jlesage/mediainfo) +# Author(s): MrDoob +# 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: 'mediainfo' + intport: '5800' + extport: '5806' + intport2: '5900' + extport2: '5907' + image: 'jlesage/mediainfo:latest' + + # 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' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt/unionfs:/unionfs:rw' + - '/mnt:/mnt:rw' + - '/etc/localtime:/etc/localtime:ro' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + PUID: '1000' + PGID: '1000' + + # MAIN DEPLOYMENT ############################################################# + - name: 'Deploying {{pgrole}}' + 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}}' diff --git a/apps/nzbget-mp4.yml b/apps/nzbget-mp4.yml index a3b65f1..3303ba7 100644 --- a/apps/nzbget-mp4.yml +++ b/apps/nzbget-mp4.yml @@ -63,7 +63,7 @@ force: yes owner: 1000 group: 1000 - mode: 0755 + mode: 0775 - name: 'Copy custom install scripts into directory for {{pgrole}}' copy: @@ -73,7 +73,7 @@ force: yes owner: 1000 group: 1000 - mode: 0755 + mode: 0775 - name: 'Copy custom mp4 config into directory for {{pgrole}}' copy: @@ -83,7 +83,7 @@ force: yes owner: 1000 group: 1000 - mode: 0755 + mode: 0775 - name: 'Copy custom NZBGetPostProcess script config into directory for {{pgrole}}' copy: @@ -93,7 +93,7 @@ force: yes owner: 1000 group: 1000 - mode: 0755 + mode: 0775 - name: 'Copy ffmpeg build script into directory for {{pgrole}}' copy: @@ -103,7 +103,7 @@ force: yes owner: 1000 group: 1000 - mode: 0755 + mode: 0775 - name: 'Copy ffmpeg build script into directory for {{pgrole}}' copy: @@ -113,7 +113,7 @@ force: yes owner: 1000 group: 1000 - mode: 0755 + mode: 0775 - name: 'Copy custom init scripts into directory for {{pgrole}}' copy: @@ -123,7 +123,7 @@ force: yes owner: 1000 group: 1000 - mode: 0755 + mode: 0775 # LABELS ###################################################################### - name: 'Adding Traefik' @@ -138,9 +138,9 @@ set_fact: pg_volumes: - '/etc/localtime:/etc/localtime:ro' - - '/opt/appdata/{{pgrole}}:/config' - '{{path.stdout}}:{{path.stdout}}' - '/mnt:/mnt' + - '/opt/appdata/{{pgrole}}:/config' - '/tmp:/tmp' - '/opt/appdata/{{pgrole}}/cont-init.d:/etc/cont-init.d' - '/opt/appdata/{{pgrole}}/services.d:/etc/services.d/nzbget' diff --git a/apps/ombi4k.yml b/apps/ombi4k.yml new file mode 100644 index 0000000..fcfd8f1 --- /dev/null +++ b/apps/ombi4k.yml @@ -0,0 +1,80 @@ +#!/bin/bash +# +# Title: Ombi4k (Reference Title File) +# Author(s): Admin9705; timekills mod +# 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: 'ombi4k' + intport: '3579' + extport: '3580' + image: 'linuxserver/ombi' + + # CORE (MANDATORY) ############################################################ + - name: 'Including cron job' + include_tasks: '/opt/coreapps/apps/_core.yml' + + # PRETASKS #################################################################### + - name: Check JSON exists + stat: + path: '/opt/appdata/{{pgrole}}/appsettings.json' + register: jsonfile + + - name: 'Download {{pgrole}} appsettings.json config file' + get_url: + url: https://raw.githubusercontent.com/tidusjar/Ombi/master/src/Ombi/appsettings.json + dest: /opt/appdata/{{pgrole}}/appsettings.json + owner: '1000' + group: '1000' + force: no + ignore_errors: True + when: jsonfile.stat.exists == False + + # 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: + - '/etc/localtime:/etc/localtime:ro' + - '/opt/appdata/{{pgrole}}:/config' + - '/opt/appdata/{{pgrole}}/appsettings.json:/opt/{{pgrole}}/appsettings.json' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + PUID: '1000' + PGID: '1000' + + # 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}}' diff --git a/apps/ombiHDR.yml b/apps/ombiHDR.yml new file mode 100644 index 0000000..61d0a23 --- /dev/null +++ b/apps/ombiHDR.yml @@ -0,0 +1,80 @@ +#!/bin/bash +# +# Title: OmbiHDR +# Author(s): Admin9705; timekills mod +# 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: 'ombiHDR' + intport: '3579' + extport: '3581' + image: 'linuxserver/ombi' + + # CORE (MANDATORY) ############################################################ + - name: 'Including cron job' + include_tasks: '/opt/coreapps/apps/_core.yml' + + # PRETASKS #################################################################### + - name: Check JSON exists + stat: + path: '/opt/appdata/{{pgrole}}/appsettings.json' + register: jsonfile + + - name: 'Download {{pgrole}} appsettings.json config file' + get_url: + url: https://raw.githubusercontent.com/tidusjar/Ombi/master/src/Ombi/appsettings.json + dest: /opt/appdata/{{pgrole}}/appsettings.json + owner: '1000' + group: '1000' + force: no + ignore_errors: True + when: jsonfile.stat.exists == False + + # 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: + - '/etc/localtime:/etc/localtime:ro' + - '/opt/appdata/{{pgrole}}:/config' + - '/opt/appdata/{{pgrole}}/appsettings.json:/opt/{{pgrole}}/appsettings.json' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + PUID: '1000' + PGID: '1000' + + # 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}}' diff --git a/apps/organizr.yml b/apps/organizr.yml index 70530a1..2a89008 100644 --- a/apps/organizr.yml +++ b/apps/organizr.yml @@ -29,6 +29,16 @@ traefik.enable: 'true' traefik.port: '{{intport}}' traefik.frontend.rule: 'Host:{{pgrole}}.{{domain.stdout}},{{tldset}}' + 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' + traefik.frontend.headers.frameDeny: 'true' - name: 'Setting PG Volumes' set_fact: diff --git a/apps/qbittorrent-vpn.yml b/apps/qbittorrent-vpn.yml new file mode 100644 index 0000000..74d5c73 --- /dev/null +++ b/apps/qbittorrent-vpn.yml @@ -0,0 +1,356 @@ +#!/bin/bash +# +# Title: qBittorrent (with OpenVPN and Privoxy) +# Author(s): Mike Tzou (Chocobo1), Vladimir Golovnev (glassez), Diego Heras (ngosang), binhex +# URL: https://www.qbittorrent.org/ - https://github.com/binhex/arch-qbittorrentvpn +# GNU: General Public License v2.0 (w/ exception) +################################################################################ +--- +- hosts: localhost + gather_facts: false + tasks: + # FACTS ####################################################################### + + - name: 'Set Known Facts' + set_fact: + pgrole: 'qbittorrent' + intport: '8998' + extport: '8998' + intport1: '8118' + extport1: '8118' + intport2: '6881' + extport2: '6881' + dnsserver1: '1.1.1.1' + dnsserver2: '84.200.69.80' + dnsserver3: '37.235.1.174' + dnsserver4: '185.121.177.177' + puid: '1000' + pgid: '1000' + image: 'binhex/arch-qbittorrentvpn:latest' + + # CORE (MANDATORY) ############################################################# + - name: 'Including cron job' + include_tasks: '/opt/coreapps/apps/_core.yml' + + - name: 'Including folders' + include_tasks: '/opt/coreapps/apps/_downloaders.yml' + + - name: 'Including plugins' + include_tasks: '/opt/coreapps/apps/_plugins.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: + - '/etc/localtime:/etc/localtime:ro' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt:/mnt' + - '/opt/appdata/{{pgrole}}:/config' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + PUID: '{{puid}}' + PGID: '{{pgid}}' + UMASK: '000' + VPN_ENABLED: 'no' + VPN_USER: 'username' + VPN_PASS: 'password' + VPN_PROV: 'custom' + VPN_OPTIONS: '' + STRICT_PORT_FORWARD: 'no' + ENABLE_PRIVOXY: 'no' + LAN_NETWORK: '127.20.0.0/16' + NAME_SERVERS: '{{dnsserver1}},{{dnsserver2}},{{dnsserver3}},{{dnsserver4}}' + DEBUG: 'false' + WEBUI_PORT: '{{intport}}' + + + + + # MAIN DEPLOYMENT ############################################################# + - name: 'Checking for existing app data' + stat: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + register: confcheck + + - name: 'Deploying {{pgrole}}' + docker_container: + name: '{{pgrole}}' + image: '{{image}}' + pull: yes + published_ports: + - '{{ports.stdout}}{{extport}}:{{intport}}' + - '{{ports.stdout}}{{extport1}}:{{intport1}}' + - '{{ports.stdout}}{{extport2}}:{{intport2}}' + volumes: '{{pg_volumes}}' + env: '{{pg_env}}' + restart_policy: unless-stopped + devices: + - '/dev/net/tun:/dev/net/tun:rwm' + dns_servers: + - '{{dnsserver1}}' + - '{{dnsserver2}}' + - '{{dnsserver3}}' + - '{{dnsserver4}}' + capabilities: + - NET_ADMIN + networks: + - name: plexguide + aliases: + - '{{pgrole}}' + state: started + labels: '{{pg_labels}}' + + # CONFIGURATION #################################################### + - name: 'Waiting for {{pgrole}} to initialize' + wait_for: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + state: present + timeout: 15 + delay: 5 + + - name: 'Stopping {{pgrole}}' + docker_container: + name: '{{pgrole}}' + state: stopped + + - name: Set SavePath + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: Downloads\SavePath + value: '{{path.stdout}}/downloads/{{pgrole}}' + state: present + + + - name: Set TempPathEnabled + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: Downloads\TempPathEnabled + value: True + state: present + + - name: Get latest blocklist + shell: curl -L http://john.bitsurge.net/public/biglist.p2p.gz | gzip -cdf > /opt/appdata/{{pgrole}}/qBittorrent/config/biglist.p2p + + - name: 'Checking for existing openvpn folder' + stat: + path: '/opt/appdata/{{pgrole}}/openvpn' + register: ovpncheck + + - name: Initialize opvn + block: + - name: Create opvn folder + shell: mkdir /opt/appdata/{{pgrole}}/openvpn && touch mkdir /opt/appdata/{{pgrole}}/openvpn/OVPN\ files\ go\ here && chown -R {{puid}}:{{pgid}} /opt/appdata/{{pgrole}}/openvpn + when: not ovpncheck.stat.exists + + + # FIRST TIME CONFIGURATION #################################################### + - name: 'Configuring {{pgrole}} for first time use' + block: + - name: Enable AutoRun + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: AutoRun + option: enabled + value: True + state: present + + - name: Enable Auto UnRar + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: AutoRun + option: program + value: '/usr/bin/unrar x -r \"%F/.\" \"%F/\"' + state: present + + - name: Disable DHT + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: Bittorrent\DHT + value: false + state: present + + - name: Disable PeX + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: Bittorrent\PeX + value: false + state: present + + - name: Disable LSD + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: Bittorrent\LSD + value: false + state: present + + - name: Enable Encryption + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: Bittorrent\Encryption + value: 1 + state: present + + - name: Don't use incomplete extension + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: Downloads\UseIncompleteExtension + value: false + state: present + - name: Ignore slow torrents + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: Queueing\IgnoreSlowTorrents + value: True + state: present + - name: Set MaxActiveDownloads + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: Queueing\MaxActiveDownloads + value: 10 + state: present + - name: Set MaxActiveTorrents + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: Queueing\MaxActiveTorrents + value: 100 + state: present + - name: Set MaxActiveUploads + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: Queueing\MaxActiveUploads + value: 100 + state: present + - name: Set GlobalMaxSeedingMinutes + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: BitTorrent + option: Session\GlobalMaxSeedingMinutes + value: 20160 + state: present + - name: Set MaxRatio + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: Bittorrent\MaxRatio + value: 1 + state: present + - name: pause on MaxRatioAction + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: Bittorrent\MaxRatioAction + value: 1 + state: present + - name: Disable csrf + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: WebUI\CSRFProtection + value: false + force: yes + state: present + - name: Disable HostHeaderValidation + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: WebUI\HostHeaderValidation + value: false + force: yes + state: present + - name: Disable ClickjackingProtection + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: WebUI\ClickjackingProtection + value: false + force: yes + state: present + + - name: Set ServerDomains + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: WebUI\ServerDomains + value: '*' + force: yes + state: present + - name: Set Address + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: WebUI\Address + value: '*' + force: yes + state: present + + - name: Set Port + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: Connection\PortRangeMin + value: '{{intport2}}' + force: yes + state: present + + - name: Set torrent Watch folder + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: Downloads\ScanDirsV2 + value: '@Variant(\0\0\0\x1c\0\0\0\x1\0\0\0$\0/\0m\0n\0t\0/\0t\0o\0r\0r\0\x65\0n\0t\0/\0w\0\x61\0t\0\x63\0h\0\0\0\x2\0\0\0\0)' + force: yes + state: present + + - name: Set Blocklist enabled + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: IPFilter\Enabled + value: 'true' + force: yes + state: present + + - name: Set Blocklist location + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: IPFilter\File + value: '/config/qBittorrent/config/biglist.p2p' + force: yes + state: present + + - name: Set default login + ini_file: + path: '/opt/appdata/{{pgrole}}/qBittorrent/config/qBittorrent.conf' + section: Preferences + option: WebUI\Password_ha1 + value: '@ByteArray(22f616dbc8cdb4aa96105b1c8f36ea63)' + force: yes + state: present + + when: not confcheck.stat.exists + - name: Restart {{pgrole}} + docker_container: + name: '{{pgrole}}' + state: started diff --git a/apps/radarr4k.yml b/apps/radarr4k.yml index 7c3a2cd..4437ba2 100644 --- a/apps/radarr4k.yml +++ b/apps/radarr4k.yml @@ -33,10 +33,10 @@ - name: 'Setting PG Volumes' set_fact: pg_volumes: - - '/opt/appdata/{{pgrole}}:/config' + - '/etc/localtime:/etc/localtime:ro' - '{{path.stdout}}:{{path.stdout}}' - '/mnt:/mnt' - - '/etc/localtime:/etc/localtime:ro' + - '/opt/appdata/{{pgrole}}:/config' - name: 'Setting PG ENV' set_fact: diff --git a/apps/radarrhdr.yml b/apps/radarrhdr.yml index 8c468d7..b9674b2 100644 --- a/apps/radarrhdr.yml +++ b/apps/radarrhdr.yml @@ -33,10 +33,10 @@ - name: 'Setting PG Volumes' set_fact: pg_volumes: - - '/opt/appdata/{{pgrole}}:/config' + - '/etc/localtime:/etc/localtime:ro' - '{{path.stdout}}:{{path.stdout}}' - '/mnt:/mnt' - - '/etc/localtime:/etc/localtime:ro' + - '/opt/appdata/{{pgrole}}:/config' - name: 'Setting PG ENV' set_fact: diff --git a/apps/rclonebrowser.yml b/apps/rclonebrowser.yml new file mode 100644 index 0000000..d8ad471 --- /dev/null +++ b/apps/rclonebrowser.yml @@ -0,0 +1,67 @@ +#!/bin/bash +# +# Title: PGBlitz (rclone browser) +# Author(s): MrDoob +# 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: 'rclonebrowser' + intport: '5800' + extport: '5808' + intport2: '5900' + extport2: '5909' + image: 'romancin/rclonebrowser:latest' + + # 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' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt/unionfs:/unionfs:rw' + - '/mnt:/mnt:rw' + - '/opt/appdata/plexguide:/host_rcloneconf_folder:ro' + - '/etc/localtime:/etc/localtime:ro' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + PUID: '1000' + PGID: '1000' + + # 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}}' diff --git a/apps/rdp-calibre.yml b/apps/rdp-calibre.yml new file mode 100644 index 0000000..41f6d98 --- /dev/null +++ b/apps/rdp-calibre.yml @@ -0,0 +1,70 @@ +#!/bin/bash +# +# Title: PGBlitz (rdp-calibre) +# Author(s): MrDoob +# 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: 'rdp-calibre' + intport: '8080' + extport: '8089' + intport2: '8081' + extport2: '8090' + image: 'aptalca/docker-rdp-calibre:latest' + + # 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:rw' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt/unionfs:/unionfs:rw' + - '/mnt:/mnt:rw' + - '/etc/localtime:/etc/localtime:ro' + - '/mnt/unionfs/libary:/library:rw' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + PUID: '1000' + PGID: '1000' + WIDTH: '1280' + HEIGHT: '720' + + # MAIN DEPLOYMENT ############################################################# + - name: 'Deploying {{pgrole}}' + 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}}' diff --git a/apps/rflood-openvpn.yml b/apps/rflood-vpn.yml similarity index 92% rename from apps/rflood-openvpn.yml rename to apps/rflood-vpn.yml index 552de75..c5cd676 100644 --- a/apps/rflood-openvpn.yml +++ b/apps/rflood-vpn.yml @@ -13,7 +13,7 @@ - name: 'Set Known Facts' set_fact: - pgrole: 'rflood-openvpn' + pgrole: 'rflood' intport: '80' extport: '5896' image: 'h1f0x/rtorrent-flood-openvpn' @@ -45,12 +45,10 @@ - name: 'Setting PG Volumes' set_fact: pg_volumes: - - '/opt/appdata/{{pgrole}}:/config' - - '{{path.stdout}}:{{path.stdout}}' - - '/mnt/unionfs:/unionfs' - - '/mnt/downloads/{{pgrole}}:/output/complete' - - '/mnt/incomplete/{{pgrole}}:/output/incomplete' - '/etc/localtime:/etc/localtime:ro' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt:/mnt' + - '/opt/appdata/{{pgrole}}:/config' - name: 'Setting PG ENV' set_fact: diff --git a/apps/rutorrent-openvpn.yml b/apps/rutorrent-vpn.yml similarity index 92% rename from apps/rutorrent-openvpn.yml rename to apps/rutorrent-vpn.yml index 9fd1766..efc5406 100644 --- a/apps/rutorrent-openvpn.yml +++ b/apps/rutorrent-vpn.yml @@ -13,7 +13,7 @@ - name: 'Set Known Facts' set_fact: - pgrole: 'rutorrent-openvpn' + pgrole: 'rutorrent-vpn' intport: '80' extport: '5897' image: 'h1f0x/rtorrent-rutorrent-openvpn' @@ -45,12 +45,11 @@ - name: 'Setting PG Volumes' set_fact: pg_volumes: - - '/opt/appdata/{{pgrole}}:/config' - - '{{path.stdout}}:{{path.stdout}}' - - '/mnt/unionfs:/unionfs' - - '/mnt/downloads/{{pgrole}}:/output/complete' - - '/mnt/incomplete/{{pgrole}}:/output/incomplete' - '/etc/localtime:/etc/localtime:ro' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt:/mnt' + - '/opt/appdata/{{pgrole}}:/config' + - '/opt/appdata/{{pgrole}}/sock:/run/php' - name: 'Setting PG ENV' set_fact: diff --git a/apps/sonarr4k.yml b/apps/sonarr4k.yml index fe4fbaf..f3aa995 100644 --- a/apps/sonarr4k.yml +++ b/apps/sonarr4k.yml @@ -34,10 +34,10 @@ - name: 'Setting PG Volumes' set_fact: pg_volumes: - - '/opt/appdata/{{pgrole}}:/config' + - '/etc/localtime:/etc/localtime:ro' - '{{path.stdout}}:{{path.stdout}}' - '/mnt:/mnt' - - '/etc/localtime:/etc/localtime:ro' + - '/opt/appdata/{{pgrole}}:/config' - name: 'Setting PG ENV' set_fact: diff --git a/apps/sonarrhdr.yml b/apps/sonarrhdr.yml index 0541208..22699eb 100644 --- a/apps/sonarrhdr.yml +++ b/apps/sonarrhdr.yml @@ -16,7 +16,7 @@ pgrole: 'sonarrhdr' intport: '8989' extport: '8987' - image: 'lsiodev/sonarr-preview' + image: 'linuxserver/sonarr:preview' # CORE (MANDATORY) ############################################################ - name: 'Including cron job' @@ -34,10 +34,10 @@ - name: 'Setting PG Volumes' set_fact: pg_volumes: - - '/opt/appdata/{{pgrole}}:/config' + - '/etc/localtime:/etc/localtime:ro' - '{{path.stdout}}:{{path.stdout}}' - '/mnt:/mnt' - - '/etc/localtime:/etc/localtime:ro' + - '/opt/appdata/{{pgrole}}:/config' - name: 'Setting PG ENV' set_fact: diff --git a/apps/subsonic.yml b/apps/subsonic.yml new file mode 100644 index 0000000..b81db75 --- /dev/null +++ b/apps/subsonic.yml @@ -0,0 +1,63 @@ +#!/bin/bash +# +# Title: PGBlitz (danisla/subsonic) +# Author(s): MrDoob +# 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: 'subsonic' + intport: '4040' + extport: '4040' + image: 'danisla/subsonic' + + # 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}}/state:/opt/app/state:rw' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt/unionfs:/mnt/music:ro' + - '/etc/localtime:/etc/localtime:ro' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + PUID: '1000' + PGID: '1000' + + # 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}}' diff --git a/apps/teamspeak3.yml b/apps/teamspeak3.yml new file mode 100644 index 0000000..cf1b51e --- /dev/null +++ b/apps/teamspeak3.yml @@ -0,0 +1,86 @@ +#!/bin/bash +# +# Title: Teamspeak 3 Alpine +# Author(s): N1ghtshade +# URL: https://plexguide.com - http://github.plexguide.com +# GNU: General Public License v3.0 +################################################################################ +--- +- hosts: localhost + gather_facts: false + tasks: + # FACTS ####################################################################### + - name: 'Set Known Facts' + set_fact: + pgrole: 'teamspeak3' + intport: '9987/udp' + extport: '9987' + intport2: '10011/tcp' + extport2: '10011' + intport3: '30033/tcp' + extport3: '30033' + image: 'qmcgaw/teamspeak3-alpine:latest' + + # CORE (MANDATORY) ############################################################ + - name: 'Including cron job' + include_tasks: '/opt/communityapps/apps/_core.yml' + + # EXTRA FOR TS3 ######################################################### + - name: 'Create {{pgrole}} data and log directories' + file: 'path={{item}} state=directory mode=0700 owner=1000 group=1000 recurse=yes' + with_items: + - '/opt/appdata/{{pgrole}}' + - '/opt/appdata/{{pgrole}}/data' + - '/opt/appdata/{{pgrole}}/logs' + + # LABELS ###################################################################### + + - name: 'Adding Traefik' + set_fact: + pg_labels: + traefik.enable: 'false' + traefik.port: '{{intport}}' + traefik.frontend.auth.forward.address: '{{gauth}}' + traefik.frontend.rule: 'Host:{{pgrole}}.{{domain.stdout}},{{tldset}}' + # VOLUMES ######### + + - name: 'Setting PG Volumes' + set_fact: + pg_volumes: + - '/opt/appdata/{{pgrole}}/data:/data' + - '/opt/appdata/{{pgrole}}/logs:/logs' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + PUID: '1000' + PGID: '1000' + + # MAIN DEPLOYMENT ############################################################# + + - name: 'Deploying {{pgrole}}' + docker_container: + name: '{{pgrole}}' + image: '{{image}}' + pull: yes + published_ports: + - '{{extport}}:{{intport}}' + - '{{extport2}}:{{intport2}}' + - '{{extport3}}:{{intport3}}' + volumes: '{{pg_volumes}}' + env: '{{pg_env}}' + command: license_accepted=1 + restart_policy: unless-stopped + networks: + - name: plexguide + aliases: + - '{{pgrole}}' + state: started + labels: '{{pg_labels}}' + + # ENDING TASK FOR TS3 #################################################### + - name: 'Configuring {{pgrole}} for first time use' + block: + - name: 'Wait 30 Seconds' + wait_for: + timeout: 30 diff --git a/apps/templates/dokuwiki/users.auth.php b/apps/templates/dokuwiki/users.auth.php new file mode 100644 index 0000000..052a42b --- /dev/null +++ b/apps/templates/dokuwiki/users.auth.php @@ -0,0 +1 @@ +admin:$1$4fd0ad31$.cId7p1uxI4a.RcrH81On0:DokuWiki Administrator:mail@host.com:admin,user diff --git a/apps/templates/nzbget/MP4_Automator/autoProcess.ini b/apps/templates/nzbget/MP4_Automator/autoProcess.ini index d0427a6..8122743 100644 --- a/apps/templates/nzbget/MP4_Automator/autoProcess.ini +++ b/apps/templates/nzbget/MP4_Automator/autoProcess.ini @@ -39,7 +39,7 @@ video-max-width = h264-max-level = 4.1 use-qsv-decoder-with-encoder = True use-hevc-qsv-decoder = False -ios-audio = True +ios-audio = libfdk_aac ios-first-track-only = False ios-audio-filter = dynaudnorm max-audio-channels = @@ -48,7 +48,7 @@ audio-language = eng audio-default-language = eng audio-channel-bitrate = 256 audio-filter = -subtitle-codec = mov_text +subtitle-codec = srt subtitle-language = eng subtitle-default-language = subtitle-encoding = @@ -58,7 +58,7 @@ tagfile = True tag-language = en download-artwork = Poster download-subs = True -embed-subs = True +embed-subs = False sub-providers = addic7ed,podnapisi,thesubdb,opensubtitles permissions = 0777 post-process = False diff --git a/apps/templates/nzbget/ffmpeg-build/build-ffmpeg b/apps/templates/nzbget/ffmpeg-build/build-ffmpeg index 54bd986..fc9fee9 100644 --- a/apps/templates/nzbget/ffmpeg-build/build-ffmpeg +++ b/apps/templates/nzbget/ffmpeg-build/build-ffmpeg @@ -175,7 +175,7 @@ if build "yasm"; then fi if build "nasm"; then - download "http://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.14.02.tar.gz" "nasm.tar.gz" + download "http://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.gz" "nasm.tar.gz" cd $PACKAGES/nasm-2.14.02 || exit execute ./configure --prefix=${WORKSPACE} --disable-shared --enable-static execute make -j $MJOBS diff --git a/apps/traktor.yml b/apps/traktor.yml index 4452565..56e0d67 100644 --- a/apps/traktor.yml +++ b/apps/traktor.yml @@ -34,9 +34,10 @@ - name: 'Setting PG Volumes' set_fact: pg_volumes: - - '/opt/appdata/{{pgrole}}:/config' - - '{{path.stdout}}:{{path.stdout}}' - '/etc/localtime:/etc/localtime:ro' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt:/mnt' + - '/opt/appdata/{{pgrole}}:/config' - '/opt/appdata/plex/database/Library/Application Support/Plex Media Server/Plug-in Support/Databases:/plex:ro' - name: 'Setting PG ENV' diff --git a/apps/transmission.yml b/apps/transmission-vpn.yml similarity index 96% rename from apps/transmission.yml rename to apps/transmission-vpn.yml index 67c1086..254e2c8 100644 --- a/apps/transmission.yml +++ b/apps/transmission-vpn.yml @@ -12,7 +12,7 @@ # FACTS ####################################################################### - name: 'Set Known Facts' set_fact: - pgrole: 'transmission' + pgrole: 'transmission-vpn' pgrole2: 'transmission-rss' intport: '9091' extport: '9091' @@ -48,9 +48,9 @@ set_fact: pg_volumes: - '/etc/localtime:/etc/localtime:ro' - - '/opt/appdata/{{pgrole}}:/config' - '{{path.stdout}}:{{path.stdout}}' - '/mnt:/mnt' + - '/opt/appdata/{{pgrole}}:/config' - name: 'Setting {{pgrole2}} Volumes' set_fact: @@ -63,7 +63,7 @@ PUID: '1000' PGID: '1000' OPENVPN_PROVIDER: 'see available configs at https://git.io/fpCSF' - OPENVPN_CONFIG: 'see available configs at https://git.io/fpCSF' + OPENVPN_CONFIG: 'default' OPENVPN_USERNAME: 'vpnuser' OPENVPN_PASSWORD: 'vpnpass' OPENVPN_OPTS: '--inactive 3600 --ping 10 --ping-exit 60' @@ -103,6 +103,11 @@ restart_policy: unless-stopped devices: - '/dev/net/tun:/dev/net/tun:rwm' + dns_servers: + - 1.1.1.1 + - 84.200.69.80 + - 45.33.97.5 + - 208.67.222.222 capabilities: - NET_ADMIN networks: diff --git a/apps/unifi.yml b/apps/unifi.yml new file mode 100644 index 0000000..403107d --- /dev/null +++ b/apps/unifi.yml @@ -0,0 +1,88 @@ +#!/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: '8088' + intport4: '8081/tcp' + extport4: '8081' + intport5: '8443/tcp' + extport5: '8443' + intport6: '8880/tcp' + extport6: '8880' + image: 'linuxserver/unifi-controller: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' + + # MAIN DEPLOYMENT ############################################################# + - name: 'Deploying {{pgrole}}' + docker_container: + name: '{{pgrole}}' + image: '{{image}}' + pull: yes + published_ports: + - '{{extport}}:{{intport}}' + - '{{extport2}}:{{intport2}}' + - '{{extport3}}:{{intport3}}' + - '{{extport4}}:{{intport4}}' + - '{{extport5}}:{{intport5}}' + - '{{extport6}}:{{intport6}}' + volumes: '{{pg_volumes}}' + env: '{{pg_env}}' + restart_policy: always + networks: + - name: plexguide + aliases: + - '{{pgrole}}' + state: started + labels: '{{pg_labels}}' diff --git a/apps/varken.yml b/apps/varken.yml new file mode 100644 index 0000000..2011338 --- /dev/null +++ b/apps/varken.yml @@ -0,0 +1,66 @@ +#!/bin/bash +# +# Title: CentOS 7 Varken +# Author(s): h1f0x +# URL: https://github.com/h1f0x/centos-varken +# GNU: General Public License v3.0 +################################################################################ +--- +- hosts: localhost + gather_facts: false + tasks: + # FACTS ####################################################################### + + - name: 'Set Known Facts' + set_fact: + pgrole: 'varken' + intport: '80' + extport: '5985' + image: 'h1f0x/centos-varken' + + # CORE (MANDATORY) ############################################################ + - name: 'Including cron job' + include_tasks: '/opt/communityapps/apps/_core.yml' + + - name: 'Including plugins' + include_tasks: '/opt/communityapps/apps/_plugins.yml' + + # 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' + - '/etc/localtime:/etc/localtime:ro' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + UID: '1000' + GID: '1000' + + # 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}}' + privileged: yes + state: started + labels: '{{pg_labels}}' diff --git a/apps/vnc-xfce.yml b/apps/vnc-xfce.yml new file mode 100644 index 0000000..54b8739 --- /dev/null +++ b/apps/vnc-xfce.yml @@ -0,0 +1,64 @@ +#!/bin/bash +# +# Title: PGBlitz (consol/ubuntu-xfce-vnc) +# Author(s): MrDoob +# 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: 'vnc-xfce' + intport: '6901' + extport: '6910' + image: 'consol/ubuntu-xfce-vnc' + + # 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' + - '{{path.stdout}}:{{path.stdout}}' + - '/mnt/unionfs:/unionfs:rw' + - '/mnt:/mnt:rw' + - '/etc/localtime:/etc/localtime:ro' + + - name: 'Setting PG ENV' + set_fact: + pg_env: + PUID: '1000' + PGID: '1000' + + # 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}}'