mirror of
https://github.com/mtan93/Apps-Community.git
synced 2026-03-08 05:31:59 +00:00
Merge branch 'v8.6' into v8.5.6
This commit is contained in:
52
README.md
52
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!
|
||||
<p align="center">
|
||||
<a href="https://pgblitz.com/forums" target="_blank"><img src="https://pgblitz.com/wikipics/logo-forums.png" width="160"/>
|
||||
<a href="https://github.com/PGBlitz/PGBlitz.com/wiki" target="_blank"><img src="https://pgblitz.com/wikipics/logo-wiki.png" width="160"/>
|
||||
<a href="https://pgblitz.com/threads/plexguide-install-instructions.243/" target="_blank"><img src="https://pgblitz.com/wikipics/logo-pg-install.png" width="160"/>
|
||||
<a href="https://pgblitz.com/account/upgrades" target="_blank"><img src="https://pgblitz.com/wikipics/logo-donate.png" width="160"/>
|
||||
<a href="https://pgblitz.com/forums" target="_blank" /a><img src="https://pgblitz.com/wikipics/logo-forums.png" width="160"/>
|
||||
<a href="https://github.com/PGBlitz/PGBlitz.com/wiki" target="_blank" /a><img src="https://pgblitz.com/wikipics/logo-wiki.png" width="160"/>
|
||||
<a href="https://pgblitz.com/threads/plexguide-install-instructions.243/" target="_blank" /a><img src="https://pgblitz.com/wikipics/logo-pg-install.png" width="160"/>
|
||||
<a href="https://pgblitz.com/account/upgrades" target="_blank" /a><img src="https://pgblitz.com/wikipics/logo-donate.png" width="160"/>
|
||||
</p>
|
||||
|
||||
_**Table of Contents**_
|
||||
|
||||
1. [General Intro](#1-general-intro)
|
||||
2. [YouTube Video - Intro](#2-youtube-video---intro)
|
||||
3. [Summary](#3-summary)
|
||||
|
||||
* 📂 [**[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. 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.
|
||||
## 1. PG YouTube
|
||||
|
||||
<p align="center"><kbd><img src="https://pgblitz.com/wikipics/pglogo-move.gif" width="400""></kbd></p>
|
||||
<p align="center"><b>Manage PGBlitz - AnyTime, Anywhere!</b></p>
|
||||
<p align="center"><kbd><a href="https://youtu.be/joqL_zjl0pE" /a><img src="https://github.com/PGBlitz/Assets/blob/master/ycovers/mainintro.png" width="400"></kbd></p>
|
||||
<p align="center"><b>PGBlitz Introduction Video</b></p>
|
||||
|
||||
Forum Node for Community Box: [ CLICK HERE ](https://pgblitz.com/forums/pg-app-community-box.191/)
|
||||
<p align="center"><kbd><a href="https://youtu.be/8lotdbpsrUE" /a><img src="https://github.com/PGBlitz/Assets/blob/master/ycovers/introv10.png" width="400"></kbd></p>
|
||||
<p align="center"><b>PGBlitz Installation Video</b></p>
|
||||
|
||||
**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
|
||||
|
||||
<p align="right">
|
||||
<a href="https://pgblitz.com" target="_blank"><img src="https://pgblitz.com/wikipics/logo.png" width="75"/>
|
||||
</p>
|
||||
[**[Click Here]**](https://pgblitz.com/threads/plexguide-install-instructions.243/) for installation instructions to start the process
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -4,3 +4,4 @@ netdata
|
||||
alltube
|
||||
dockergc
|
||||
blitzui
|
||||
watchtower
|
||||
|
||||
@@ -17,5 +17,5 @@
|
||||
force: yes
|
||||
owner: '1000'
|
||||
group: '1000'
|
||||
mode: 0755
|
||||
mode: 0775
|
||||
when: copycheck.stat.exists
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Title: PGBlitz (Reference Title File)
|
||||
# Author(s): Admin9705
|
||||
# Title: PGBlitz (linuxserver/airsonic)
|
||||
# Author(s): MrDoob
|
||||
# URL: https://pgblitz.com - http://github.pgblitz.com
|
||||
# GNU: General Public License v3.0
|
||||
################################################################################
|
||||
@@ -15,7 +15,7 @@
|
||||
pgrole: 'airsonic'
|
||||
intport: '4040'
|
||||
extport: '4040'
|
||||
image: 'airsonic/airsonic'
|
||||
image: 'linuxserver/airsonic'
|
||||
|
||||
# CORE (MANDATORY) ############################################################
|
||||
- name: 'Including cron job'
|
||||
@@ -25,9 +25,9 @@
|
||||
- name: 'Adding Traefik'
|
||||
set_fact:
|
||||
pg_labels:
|
||||
traefik.frontend.auth.forward.address: '{{gauth}}'
|
||||
traefik.enable: 'true'
|
||||
traefik.port: '{{intport}}'
|
||||
traefik.frontend.auth.forward.address: '{{gauth}}'
|
||||
traefik.frontend.rule: 'Host:{{pgrole}}.{{domain.stdout}},{{tldset}}'
|
||||
|
||||
- name: 'Setting PG Volumes'
|
||||
|
||||
88
apps/avidemux.yml
Normal file
88
apps/avidemux.yml
Normal file
@@ -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}}'
|
||||
@@ -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'
|
||||
|
||||
66
apps/calibre-web.yml
Normal file
66
apps/calibre-web.yml
Normal file
@@ -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}}'
|
||||
@@ -15,7 +15,7 @@
|
||||
pgrole: 'deezloaderremix'
|
||||
intport: '1730'
|
||||
extport: '1730'
|
||||
image: 'zachawii/deezloaderremix'
|
||||
image: 'bocki/deezloaderrmx'
|
||||
|
||||
# CORE (MANDATORY) ############################################################
|
||||
- name: 'Always have a backup plan'
|
||||
|
||||
@@ -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
|
||||
67
apps/domoticz.yml
Normal file
67
apps/domoticz.yml
Normal file
@@ -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}}'
|
||||
64
apps/dozzle.yml
Normal file
64
apps/dozzle.yml
Normal file
@@ -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}}'
|
||||
@@ -14,7 +14,7 @@
|
||||
- name: 'Set Known Facts'
|
||||
set_fact:
|
||||
pgrole: "embystats"
|
||||
intport: "80"
|
||||
intport: "5432"
|
||||
extport: "9049"
|
||||
image: "uping/embystat:beta-linux"
|
||||
|
||||
|
||||
66
apps/filebot.yml
Normal file
66
apps/filebot.yml
Normal file
@@ -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}}'
|
||||
81
apps/filezilla.yml
Normal file
81
apps/filezilla.yml
Normal file
@@ -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
|
||||
97
apps/firefox.yml
Normal file
97
apps/firefox.yml
Normal file
@@ -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}}'
|
||||
@@ -44,8 +44,6 @@
|
||||
PUID: '1000'
|
||||
PGID: '1000'
|
||||
|
||||
|
||||
|
||||
# MAIN DEPLOYMENT #############################################################
|
||||
- name: 'Deploying {{pgrole}}'
|
||||
docker_container:
|
||||
|
||||
@@ -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,14 +28,13 @@
|
||||
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:
|
||||
@@ -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}}'
|
||||
|
||||
2
apps/image/unifi-controller
Normal file
2
apps/image/unifi-controller
Normal file
@@ -0,0 +1,2 @@
|
||||
linuxserver/unifi-controller:latest
|
||||
linuxserver/unifi-controller:LTS
|
||||
@@ -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}}'
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
set_fact:
|
||||
pgrole: 'logarr'
|
||||
intport: '80'
|
||||
extport: '7555'
|
||||
extport: '7755'
|
||||
image: 'monitorr/logarr:develop'
|
||||
|
||||
# CORE (MANDATORY) ############################################################
|
||||
|
||||
@@ -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:
|
||||
|
||||
67
apps/mediainfo.yml
Normal file
67
apps/mediainfo.yml
Normal file
@@ -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}}'
|
||||
@@ -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'
|
||||
|
||||
80
apps/ombi4k.yml
Normal file
80
apps/ombi4k.yml
Normal file
@@ -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}}'
|
||||
80
apps/ombiHDR.yml
Normal file
80
apps/ombiHDR.yml
Normal file
@@ -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}}'
|
||||
@@ -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:
|
||||
|
||||
356
apps/qbittorrent-vpn.yml
Normal file
356
apps/qbittorrent-vpn.yml
Normal file
@@ -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
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
67
apps/rclonebrowser.yml
Normal file
67
apps/rclonebrowser.yml
Normal file
@@ -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}}'
|
||||
70
apps/rdp-calibre.yml
Normal file
70
apps/rdp-calibre.yml
Normal file
@@ -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}}'
|
||||
@@ -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:
|
||||
@@ -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:
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
63
apps/subsonic.yml
Normal file
63
apps/subsonic.yml
Normal file
@@ -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}}'
|
||||
86
apps/teamspeak3.yml
Normal file
86
apps/teamspeak3.yml
Normal file
@@ -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
|
||||
1
apps/templates/dokuwiki/users.auth.php
Normal file
1
apps/templates/dokuwiki/users.auth.php
Normal file
@@ -0,0 +1 @@
|
||||
admin:$1$4fd0ad31$.cId7p1uxI4a.RcrH81On0:DokuWiki Administrator:mail@host.com:admin,user
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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:
|
||||
88
apps/unifi.yml
Normal file
88
apps/unifi.yml
Normal file
@@ -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}}'
|
||||
66
apps/varken.yml
Normal file
66
apps/varken.yml
Normal file
@@ -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}}'
|
||||
64
apps/vnc-xfce.yml
Normal file
64
apps/vnc-xfce.yml
Normal file
@@ -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}}'
|
||||
Reference in New Issue
Block a user