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
|
##### WANT TO HELP? CLICK THE ★ (STAR LOGO) in the Upper-Right!
|
||||||
|
|
||||||
📂 [**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
|
|
||||||
|
|
||||||
<p align="center">
|
<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://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"><img src="https://pgblitz.com/wikipics/logo-wiki.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"><img src="https://pgblitz.com/wikipics/logo-pg-install.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"><img src="https://pgblitz.com/wikipics/logo-donate.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>
|
</p>
|
||||||
|
|
||||||
_**Table of Contents**_
|
* 📂 [**[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
|
||||||
1. [General Intro](#1-general-intro)
|
----
|
||||||
2. [YouTube Video - Intro](#2-youtube-video---intro)
|
### **Reference Shortcut -** http://wiki.pgblitz.com | Discord ( !wiki )
|
||||||
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.
|
## 1. PG YouTube
|
||||||
|
|
||||||
<p align="center"><kbd><img src="https://pgblitz.com/wikipics/pglogo-move.gif" width="400""></kbd></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>Manage PGBlitz - AnyTime, Anywhere!</b></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**
|
[**[Click Here]**](https://pgblitz.com/threads/plexguide-install-instructions.243/) for installation instructions to start the process
|
||||||
|
|
||||||
(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>
|
|
||||||
|
|||||||
@@ -7,8 +7,8 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# Generates App List
|
# Generates App List
|
||||||
ls -la /opt/coreapps/apps/ | sed -e 's/.yml//g' \
|
ls -la /opt/communityapps/apps/ | sed -e 's/.yml//g' \
|
||||||
| awk '{print $9}' | tail -n +4 > /var/plexguide/app.list
|
| awk '{print $9}' | tail -n +4 >> /var/plexguide/app.list
|
||||||
|
|
||||||
ls -la /opt/mycontainers/ | sed -e 's/.yml//g' \
|
ls -la /opt/mycontainers/ | sed -e 's/.yml//g' \
|
||||||
| awk '{print $9}' | tail -n +4 >> /var/plexguide/app.list
|
| awk '{print $9}' | tail -n +4 >> /var/plexguide/app.list
|
||||||
|
|||||||
@@ -4,3 +4,4 @@ netdata
|
|||||||
alltube
|
alltube
|
||||||
dockergc
|
dockergc
|
||||||
blitzui
|
blitzui
|
||||||
|
watchtower
|
||||||
|
|||||||
@@ -17,5 +17,5 @@
|
|||||||
force: yes
|
force: yes
|
||||||
owner: '1000'
|
owner: '1000'
|
||||||
group: '1000'
|
group: '1000'
|
||||||
mode: 0755
|
mode: 0775
|
||||||
when: copycheck.stat.exists
|
when: copycheck.stat.exists
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Title: PGBlitz (Reference Title File)
|
# Title: PGBlitz (linuxserver/airsonic)
|
||||||
# Author(s): Admin9705
|
# Author(s): MrDoob
|
||||||
# URL: https://pgblitz.com - http://github.pgblitz.com
|
# URL: https://pgblitz.com - http://github.pgblitz.com
|
||||||
# GNU: General Public License v3.0
|
# GNU: General Public License v3.0
|
||||||
################################################################################
|
################################################################################
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
pgrole: 'airsonic'
|
pgrole: 'airsonic'
|
||||||
intport: '4040'
|
intport: '4040'
|
||||||
extport: '4040'
|
extport: '4040'
|
||||||
image: 'airsonic/airsonic'
|
image: 'linuxserver/airsonic'
|
||||||
|
|
||||||
# CORE (MANDATORY) ############################################################
|
# CORE (MANDATORY) ############################################################
|
||||||
- name: 'Including cron job'
|
- name: 'Including cron job'
|
||||||
@@ -25,9 +25,9 @@
|
|||||||
- name: 'Adding Traefik'
|
- name: 'Adding Traefik'
|
||||||
set_fact:
|
set_fact:
|
||||||
pg_labels:
|
pg_labels:
|
||||||
|
traefik.frontend.auth.forward.address: '{{gauth}}'
|
||||||
traefik.enable: 'true'
|
traefik.enable: 'true'
|
||||||
traefik.port: '{{intport}}'
|
traefik.port: '{{intport}}'
|
||||||
traefik.frontend.auth.forward.address: '{{gauth}}'
|
|
||||||
traefik.frontend.rule: 'Host:{{pgrole}}.{{domain.stdout}},{{tldset}}'
|
traefik.frontend.rule: 'Host:{{pgrole}}.{{domain.stdout}},{{tldset}}'
|
||||||
|
|
||||||
- name: 'Setting PG Volumes'
|
- 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.enable: 'true'
|
||||||
traefik.backend: "{{pgrole}}"
|
traefik.backend: "{{pgrole}}"
|
||||||
traefik.port: '80'
|
traefik.port: '80'
|
||||||
traefik.frontend.auth.forward.address: '{{gauth}}'
|
|
||||||
traefik.frontend.rule: 'Host:bit.{{domain.stdout}},{{pgrole}}.{{domain.stdout}},{{tldset}}'
|
traefik.frontend.rule: 'Host:bit.{{domain.stdout}},{{pgrole}}.{{domain.stdout}},{{tldset}}'
|
||||||
|
|
||||||
- name: 'Setting PG Volumes'
|
- 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'
|
pgrole: 'deezloaderremix'
|
||||||
intport: '1730'
|
intport: '1730'
|
||||||
extport: '1730'
|
extport: '1730'
|
||||||
image: 'zachawii/deezloaderremix'
|
image: 'bocki/deezloaderrmx'
|
||||||
|
|
||||||
# CORE (MANDATORY) ############################################################
|
# CORE (MANDATORY) ############################################################
|
||||||
- name: 'Always have a backup plan'
|
- name: 'Always have a backup plan'
|
||||||
|
|||||||
@@ -141,14 +141,14 @@
|
|||||||
lineinfile:
|
lineinfile:
|
||||||
path: '/opt/appdata/{{pgrole}}/core.conf'
|
path: '/opt/appdata/{{pgrole}}/core.conf'
|
||||||
regexp: '"move_completed".*'
|
regexp: '"move_completed".*'
|
||||||
line: '"move_completed": true,'
|
line: '"move_completed": True,'
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: Setting extractor folder
|
- name: Setting extractor folder
|
||||||
lineinfile:
|
lineinfile:
|
||||||
path: '/opt/appdata/{{pgrole}}/plugins/extractor.conf'
|
path: '/opt/appdata/{{pgrole}}/plugins/extractor.conf'
|
||||||
regexp: '"use_name_folder".*'
|
regexp: '"use_name_folder".*'
|
||||||
line: '"use_name_folder": true,'
|
line: '"use_name_folder": True,'
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: Setting extractor
|
- name: Setting extractor
|
||||||
@@ -172,7 +172,7 @@
|
|||||||
lineinfile:
|
lineinfile:
|
||||||
path: '/opt/appdata/{{pgrole}}/core.conf'
|
path: '/opt/appdata/{{pgrole}}/core.conf'
|
||||||
regexp: '"compact_allocation".*'
|
regexp: '"compact_allocation".*'
|
||||||
line: '"compact_allocation": true,'
|
line: '"compact_allocation": True,'
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: set stop_seed_ratio
|
- name: set stop_seed_ratio
|
||||||
@@ -193,14 +193,14 @@
|
|||||||
lineinfile:
|
lineinfile:
|
||||||
path: '/opt/appdata/{{pgrole}}/core.conf'
|
path: '/opt/appdata/{{pgrole}}/core.conf'
|
||||||
regexp: '"remove_seed_at_ratio".*'
|
regexp: '"remove_seed_at_ratio".*'
|
||||||
line: '"remove_seed_at_ratio": true,'
|
line: '"remove_seed_at_ratio": True,'
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: set enc_prefer_rc4
|
- name: set enc_prefer_rc4
|
||||||
lineinfile:
|
lineinfile:
|
||||||
path: '/opt/appdata/{{pgrole}}/core.conf'
|
path: '/opt/appdata/{{pgrole}}/core.conf'
|
||||||
regexp: '"enc_prefer_rc4".*'
|
regexp: '"enc_prefer_rc4".*'
|
||||||
line: '"enc_prefer_rc4": true,'
|
line: '"enc_prefer_rc4": True,'
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: set enc_level
|
- name: set enc_level
|
||||||
@@ -235,7 +235,7 @@
|
|||||||
lineinfile:
|
lineinfile:
|
||||||
path: '/opt/appdata/{{pgrole}}/core.conf'
|
path: '/opt/appdata/{{pgrole}}/core.conf'
|
||||||
regexp: '"dont_count_slow_torrents".*'
|
regexp: '"dont_count_slow_torrents".*'
|
||||||
line: '"dont_count_slow_torrents": true,'
|
line: '"dont_count_slow_torrents": True,'
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: set max_active_seeding
|
- 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'
|
- name: 'Set Known Facts'
|
||||||
set_fact:
|
set_fact:
|
||||||
pgrole: "embystats"
|
pgrole: "embystats"
|
||||||
intport: "80"
|
intport: "5432"
|
||||||
extport: "9049"
|
extport: "9049"
|
||||||
image: "uping/embystat:beta-linux"
|
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'
|
PUID: '1000'
|
||||||
PGID: '1000'
|
PGID: '1000'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# MAIN DEPLOYMENT #############################################################
|
# MAIN DEPLOYMENT #############################################################
|
||||||
- name: 'Deploying {{pgrole}}'
|
- name: 'Deploying {{pgrole}}'
|
||||||
docker_container:
|
docker_container:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Title: PGBlitz (Reference Title File)
|
# Title: PGBlitz (digitalhigh/FlexTV)
|
||||||
# Author(s): Admin9705
|
# Author(s): Admin9705
|
||||||
# URL: https://pgblitz.com - http://github.pgblitz.com
|
# URL: https://pgblitz.com - http://github.pgblitz.com
|
||||||
# GNU: General Public License v3.0
|
# GNU: General Public License v3.0
|
||||||
@@ -12,31 +12,15 @@
|
|||||||
# FACTS #######################################################################
|
# FACTS #######################################################################
|
||||||
- name: 'Set Known Facts'
|
- name: 'Set Known Facts'
|
||||||
set_fact:
|
set_fact:
|
||||||
pgrole: 'nzbthrottle'
|
pgrole: 'flextv'
|
||||||
intport: '0'
|
intport: '80/tcp'
|
||||||
extport: '0'
|
extport: '8987'
|
||||||
image: 'daghaian/nzbthrottle'
|
image: 'digitalhigh/flextv:latest'
|
||||||
|
|
||||||
# CORE (MANDATORY) ############################################################
|
# CORE (MANDATORY) ############################################################
|
||||||
- name: 'Including cron job'
|
- name: 'Including cron job'
|
||||||
include_tasks: '/opt/communityapps/apps/_core.yml'
|
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 ######################################################################
|
# LABELS ######################################################################
|
||||||
- name: 'Adding Traefik'
|
- name: 'Adding Traefik'
|
||||||
set_fact:
|
set_fact:
|
||||||
@@ -44,14 +28,13 @@
|
|||||||
traefik.frontend.auth.forward.address: '{{gauth}}'
|
traefik.frontend.auth.forward.address: '{{gauth}}'
|
||||||
traefik.enable: 'true'
|
traefik.enable: 'true'
|
||||||
traefik.port: '{{intport}}'
|
traefik.port: '{{intport}}'
|
||||||
|
|
||||||
traefik.frontend.rule: 'Host:{{pgrole}}.{{domain.stdout}},{{tldset}}'
|
traefik.frontend.rule: 'Host:{{pgrole}}.{{domain.stdout}},{{tldset}}'
|
||||||
|
|
||||||
- name: 'Setting PG Volumes'
|
- name: 'Setting PG Volumes'
|
||||||
set_fact:
|
set_fact:
|
||||||
pg_volumes:
|
pg_volumes:
|
||||||
|
- '/opt/appdata/{{pgrole}}:/config'
|
||||||
- '/etc/localtime:/etc/localtime:ro'
|
- '/etc/localtime:/etc/localtime:ro'
|
||||||
- '/opt/appdata/{{pgrole}}/config.json:/{{pgrole}}/config.json:ro'
|
|
||||||
|
|
||||||
- name: 'Setting PG ENV'
|
- name: 'Setting PG ENV'
|
||||||
set_fact:
|
set_fact:
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
state: directory
|
state: directory
|
||||||
owner: '1000'
|
owner: '1000'
|
||||||
group: '1000'
|
group: '1000'
|
||||||
mode: 0755
|
mode: 0775
|
||||||
recurse: yes
|
recurse: yes
|
||||||
|
|
||||||
- name: 'Create complete directory for {{pgrole}}'
|
- name: 'Create complete directory for {{pgrole}}'
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
state: directory
|
state: directory
|
||||||
owner: '1000'
|
owner: '1000'
|
||||||
group: '1000'
|
group: '1000'
|
||||||
mode: 0755
|
mode: 0775
|
||||||
recurse: yes
|
recurse: yes
|
||||||
|
|
||||||
- name: 'Deploying {{pgrole}}'
|
- 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'
|
- name: 'Setting PG Volumes'
|
||||||
set_fact:
|
set_fact:
|
||||||
pg_volumes:
|
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'
|
- '/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'
|
- '/opt/appdata/{{pgrole}}/vpn:/vpn:rw'
|
||||||
|
|
||||||
- name: 'Setting PG ENV'
|
- name: 'Setting PG ENV'
|
||||||
@@ -62,6 +61,8 @@
|
|||||||
pg_env:
|
pg_env:
|
||||||
UID: '1000'
|
UID: '1000'
|
||||||
GID: '1000'
|
GID: '1000'
|
||||||
|
DISPLAY_WIDTH: '1600'
|
||||||
|
DISPLAY_HEIGHT: '960'
|
||||||
|
|
||||||
# MAIN DEPLOYMENT #############################################################
|
# MAIN DEPLOYMENT #############################################################
|
||||||
- name: 'Deploying {{pgrole}}'
|
- name: 'Deploying {{pgrole}}'
|
||||||
|
|||||||
@@ -49,12 +49,11 @@
|
|||||||
- name: 'Setting PG Volumes'
|
- name: 'Setting PG Volumes'
|
||||||
set_fact:
|
set_fact:
|
||||||
pg_volumes:
|
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'
|
- '/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'
|
- name: 'Setting PG ENV'
|
||||||
set_fact:
|
set_fact:
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
set_fact:
|
set_fact:
|
||||||
pgrole: 'logarr'
|
pgrole: 'logarr'
|
||||||
intport: '80'
|
intport: '80'
|
||||||
extport: '7555'
|
extport: '7755'
|
||||||
image: 'monitorr/logarr:develop'
|
image: 'monitorr/logarr:develop'
|
||||||
|
|
||||||
# CORE (MANDATORY) ############################################################
|
# CORE (MANDATORY) ############################################################
|
||||||
|
|||||||
@@ -36,11 +36,11 @@
|
|||||||
- name: 'Setting PG Volumes'
|
- name: 'Setting PG Volumes'
|
||||||
set_fact:
|
set_fact:
|
||||||
pg_volumes:
|
pg_volumes:
|
||||||
- '/opt/appdata/{{pgrole}}:/config'
|
|
||||||
- '{{path.stdout}}:{{path.stdout}}'
|
|
||||||
- '/mnt/unionfs:/unionfs'
|
|
||||||
- '{{path.stdout}}/downloads/{{pgrole}}/:/output:rw'
|
|
||||||
- '/etc/localtime:/etc/localtime:ro'
|
- '/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'
|
- name: 'Setting PG ENV'
|
||||||
set_fact:
|
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
|
force: yes
|
||||||
owner: 1000
|
owner: 1000
|
||||||
group: 1000
|
group: 1000
|
||||||
mode: 0755
|
mode: 0775
|
||||||
|
|
||||||
- name: 'Copy custom install scripts into directory for {{pgrole}}'
|
- name: 'Copy custom install scripts into directory for {{pgrole}}'
|
||||||
copy:
|
copy:
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
force: yes
|
force: yes
|
||||||
owner: 1000
|
owner: 1000
|
||||||
group: 1000
|
group: 1000
|
||||||
mode: 0755
|
mode: 0775
|
||||||
|
|
||||||
- name: 'Copy custom mp4 config into directory for {{pgrole}}'
|
- name: 'Copy custom mp4 config into directory for {{pgrole}}'
|
||||||
copy:
|
copy:
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
force: yes
|
force: yes
|
||||||
owner: 1000
|
owner: 1000
|
||||||
group: 1000
|
group: 1000
|
||||||
mode: 0755
|
mode: 0775
|
||||||
|
|
||||||
- name: 'Copy custom NZBGetPostProcess script config into directory for {{pgrole}}'
|
- name: 'Copy custom NZBGetPostProcess script config into directory for {{pgrole}}'
|
||||||
copy:
|
copy:
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
force: yes
|
force: yes
|
||||||
owner: 1000
|
owner: 1000
|
||||||
group: 1000
|
group: 1000
|
||||||
mode: 0755
|
mode: 0775
|
||||||
|
|
||||||
- name: 'Copy ffmpeg build script into directory for {{pgrole}}'
|
- name: 'Copy ffmpeg build script into directory for {{pgrole}}'
|
||||||
copy:
|
copy:
|
||||||
@@ -103,7 +103,7 @@
|
|||||||
force: yes
|
force: yes
|
||||||
owner: 1000
|
owner: 1000
|
||||||
group: 1000
|
group: 1000
|
||||||
mode: 0755
|
mode: 0775
|
||||||
|
|
||||||
- name: 'Copy ffmpeg build script into directory for {{pgrole}}'
|
- name: 'Copy ffmpeg build script into directory for {{pgrole}}'
|
||||||
copy:
|
copy:
|
||||||
@@ -113,7 +113,7 @@
|
|||||||
force: yes
|
force: yes
|
||||||
owner: 1000
|
owner: 1000
|
||||||
group: 1000
|
group: 1000
|
||||||
mode: 0755
|
mode: 0775
|
||||||
|
|
||||||
- name: 'Copy custom init scripts into directory for {{pgrole}}'
|
- name: 'Copy custom init scripts into directory for {{pgrole}}'
|
||||||
copy:
|
copy:
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
force: yes
|
force: yes
|
||||||
owner: 1000
|
owner: 1000
|
||||||
group: 1000
|
group: 1000
|
||||||
mode: 0755
|
mode: 0775
|
||||||
|
|
||||||
# LABELS ######################################################################
|
# LABELS ######################################################################
|
||||||
- name: 'Adding Traefik'
|
- name: 'Adding Traefik'
|
||||||
@@ -138,9 +138,9 @@
|
|||||||
set_fact:
|
set_fact:
|
||||||
pg_volumes:
|
pg_volumes:
|
||||||
- '/etc/localtime:/etc/localtime:ro'
|
- '/etc/localtime:/etc/localtime:ro'
|
||||||
- '/opt/appdata/{{pgrole}}:/config'
|
|
||||||
- '{{path.stdout}}:{{path.stdout}}'
|
- '{{path.stdout}}:{{path.stdout}}'
|
||||||
- '/mnt:/mnt'
|
- '/mnt:/mnt'
|
||||||
|
- '/opt/appdata/{{pgrole}}:/config'
|
||||||
- '/tmp:/tmp'
|
- '/tmp:/tmp'
|
||||||
- '/opt/appdata/{{pgrole}}/cont-init.d:/etc/cont-init.d'
|
- '/opt/appdata/{{pgrole}}/cont-init.d:/etc/cont-init.d'
|
||||||
- '/opt/appdata/{{pgrole}}/services.d:/etc/services.d/nzbget'
|
- '/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.enable: 'true'
|
||||||
traefik.port: '{{intport}}'
|
traefik.port: '{{intport}}'
|
||||||
traefik.frontend.rule: 'Host:{{pgrole}}.{{domain.stdout}},{{tldset}}'
|
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'
|
- name: 'Setting PG Volumes'
|
||||||
set_fact:
|
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'
|
- name: 'Setting PG Volumes'
|
||||||
set_fact:
|
set_fact:
|
||||||
pg_volumes:
|
pg_volumes:
|
||||||
- '/opt/appdata/{{pgrole}}:/config'
|
- '/etc/localtime:/etc/localtime:ro'
|
||||||
- '{{path.stdout}}:{{path.stdout}}'
|
- '{{path.stdout}}:{{path.stdout}}'
|
||||||
- '/mnt:/mnt'
|
- '/mnt:/mnt'
|
||||||
- '/etc/localtime:/etc/localtime:ro'
|
- '/opt/appdata/{{pgrole}}:/config'
|
||||||
|
|
||||||
- name: 'Setting PG ENV'
|
- name: 'Setting PG ENV'
|
||||||
set_fact:
|
set_fact:
|
||||||
|
|||||||
@@ -33,10 +33,10 @@
|
|||||||
- name: 'Setting PG Volumes'
|
- name: 'Setting PG Volumes'
|
||||||
set_fact:
|
set_fact:
|
||||||
pg_volumes:
|
pg_volumes:
|
||||||
- '/opt/appdata/{{pgrole}}:/config'
|
- '/etc/localtime:/etc/localtime:ro'
|
||||||
- '{{path.stdout}}:{{path.stdout}}'
|
- '{{path.stdout}}:{{path.stdout}}'
|
||||||
- '/mnt:/mnt'
|
- '/mnt:/mnt'
|
||||||
- '/etc/localtime:/etc/localtime:ro'
|
- '/opt/appdata/{{pgrole}}:/config'
|
||||||
|
|
||||||
- name: 'Setting PG ENV'
|
- name: 'Setting PG ENV'
|
||||||
set_fact:
|
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'
|
- name: 'Set Known Facts'
|
||||||
set_fact:
|
set_fact:
|
||||||
pgrole: 'rflood-openvpn'
|
pgrole: 'rflood'
|
||||||
intport: '80'
|
intport: '80'
|
||||||
extport: '5896'
|
extport: '5896'
|
||||||
image: 'h1f0x/rtorrent-flood-openvpn'
|
image: 'h1f0x/rtorrent-flood-openvpn'
|
||||||
@@ -45,12 +45,10 @@
|
|||||||
- name: 'Setting PG Volumes'
|
- name: 'Setting PG Volumes'
|
||||||
set_fact:
|
set_fact:
|
||||||
pg_volumes:
|
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'
|
- '/etc/localtime:/etc/localtime:ro'
|
||||||
|
- '{{path.stdout}}:{{path.stdout}}'
|
||||||
|
- '/mnt:/mnt'
|
||||||
|
- '/opt/appdata/{{pgrole}}:/config'
|
||||||
|
|
||||||
- name: 'Setting PG ENV'
|
- name: 'Setting PG ENV'
|
||||||
set_fact:
|
set_fact:
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
- name: 'Set Known Facts'
|
- name: 'Set Known Facts'
|
||||||
set_fact:
|
set_fact:
|
||||||
pgrole: 'rutorrent-openvpn'
|
pgrole: 'rutorrent-vpn'
|
||||||
intport: '80'
|
intport: '80'
|
||||||
extport: '5897'
|
extport: '5897'
|
||||||
image: 'h1f0x/rtorrent-rutorrent-openvpn'
|
image: 'h1f0x/rtorrent-rutorrent-openvpn'
|
||||||
@@ -45,12 +45,11 @@
|
|||||||
- name: 'Setting PG Volumes'
|
- name: 'Setting PG Volumes'
|
||||||
set_fact:
|
set_fact:
|
||||||
pg_volumes:
|
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'
|
- '/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'
|
- name: 'Setting PG ENV'
|
||||||
set_fact:
|
set_fact:
|
||||||
@@ -34,10 +34,10 @@
|
|||||||
- name: 'Setting PG Volumes'
|
- name: 'Setting PG Volumes'
|
||||||
set_fact:
|
set_fact:
|
||||||
pg_volumes:
|
pg_volumes:
|
||||||
- '/opt/appdata/{{pgrole}}:/config'
|
- '/etc/localtime:/etc/localtime:ro'
|
||||||
- '{{path.stdout}}:{{path.stdout}}'
|
- '{{path.stdout}}:{{path.stdout}}'
|
||||||
- '/mnt:/mnt'
|
- '/mnt:/mnt'
|
||||||
- '/etc/localtime:/etc/localtime:ro'
|
- '/opt/appdata/{{pgrole}}:/config'
|
||||||
|
|
||||||
- name: 'Setting PG ENV'
|
- name: 'Setting PG ENV'
|
||||||
set_fact:
|
set_fact:
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
pgrole: 'sonarrhdr'
|
pgrole: 'sonarrhdr'
|
||||||
intport: '8989'
|
intport: '8989'
|
||||||
extport: '8987'
|
extport: '8987'
|
||||||
image: 'lsiodev/sonarr-preview'
|
image: 'linuxserver/sonarr:preview'
|
||||||
|
|
||||||
# CORE (MANDATORY) ############################################################
|
# CORE (MANDATORY) ############################################################
|
||||||
- name: 'Including cron job'
|
- name: 'Including cron job'
|
||||||
@@ -34,10 +34,10 @@
|
|||||||
- name: 'Setting PG Volumes'
|
- name: 'Setting PG Volumes'
|
||||||
set_fact:
|
set_fact:
|
||||||
pg_volumes:
|
pg_volumes:
|
||||||
- '/opt/appdata/{{pgrole}}:/config'
|
- '/etc/localtime:/etc/localtime:ro'
|
||||||
- '{{path.stdout}}:{{path.stdout}}'
|
- '{{path.stdout}}:{{path.stdout}}'
|
||||||
- '/mnt:/mnt'
|
- '/mnt:/mnt'
|
||||||
- '/etc/localtime:/etc/localtime:ro'
|
- '/opt/appdata/{{pgrole}}:/config'
|
||||||
|
|
||||||
- name: 'Setting PG ENV'
|
- name: 'Setting PG ENV'
|
||||||
set_fact:
|
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
|
h264-max-level = 4.1
|
||||||
use-qsv-decoder-with-encoder = True
|
use-qsv-decoder-with-encoder = True
|
||||||
use-hevc-qsv-decoder = False
|
use-hevc-qsv-decoder = False
|
||||||
ios-audio = True
|
ios-audio = libfdk_aac
|
||||||
ios-first-track-only = False
|
ios-first-track-only = False
|
||||||
ios-audio-filter = dynaudnorm
|
ios-audio-filter = dynaudnorm
|
||||||
max-audio-channels =
|
max-audio-channels =
|
||||||
@@ -48,7 +48,7 @@ audio-language = eng
|
|||||||
audio-default-language = eng
|
audio-default-language = eng
|
||||||
audio-channel-bitrate = 256
|
audio-channel-bitrate = 256
|
||||||
audio-filter =
|
audio-filter =
|
||||||
subtitle-codec = mov_text
|
subtitle-codec = srt
|
||||||
subtitle-language = eng
|
subtitle-language = eng
|
||||||
subtitle-default-language =
|
subtitle-default-language =
|
||||||
subtitle-encoding =
|
subtitle-encoding =
|
||||||
@@ -58,7 +58,7 @@ tagfile = True
|
|||||||
tag-language = en
|
tag-language = en
|
||||||
download-artwork = Poster
|
download-artwork = Poster
|
||||||
download-subs = True
|
download-subs = True
|
||||||
embed-subs = True
|
embed-subs = False
|
||||||
sub-providers = addic7ed,podnapisi,thesubdb,opensubtitles
|
sub-providers = addic7ed,podnapisi,thesubdb,opensubtitles
|
||||||
permissions = 0777
|
permissions = 0777
|
||||||
post-process = False
|
post-process = False
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ if build "yasm"; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if build "nasm"; then
|
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
|
cd $PACKAGES/nasm-2.14.02 || exit
|
||||||
execute ./configure --prefix=${WORKSPACE} --disable-shared --enable-static
|
execute ./configure --prefix=${WORKSPACE} --disable-shared --enable-static
|
||||||
execute make -j $MJOBS
|
execute make -j $MJOBS
|
||||||
|
|||||||
@@ -34,9 +34,10 @@
|
|||||||
- name: 'Setting PG Volumes'
|
- name: 'Setting PG Volumes'
|
||||||
set_fact:
|
set_fact:
|
||||||
pg_volumes:
|
pg_volumes:
|
||||||
- '/opt/appdata/{{pgrole}}:/config'
|
|
||||||
- '{{path.stdout}}:{{path.stdout}}'
|
|
||||||
- '/etc/localtime:/etc/localtime:ro'
|
- '/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'
|
- '/opt/appdata/plex/database/Library/Application Support/Plex Media Server/Plug-in Support/Databases:/plex:ro'
|
||||||
|
|
||||||
- name: 'Setting PG ENV'
|
- name: 'Setting PG ENV'
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
# FACTS #######################################################################
|
# FACTS #######################################################################
|
||||||
- name: 'Set Known Facts'
|
- name: 'Set Known Facts'
|
||||||
set_fact:
|
set_fact:
|
||||||
pgrole: 'transmission'
|
pgrole: 'transmission-vpn'
|
||||||
pgrole2: 'transmission-rss'
|
pgrole2: 'transmission-rss'
|
||||||
intport: '9091'
|
intport: '9091'
|
||||||
extport: '9091'
|
extport: '9091'
|
||||||
@@ -48,9 +48,9 @@
|
|||||||
set_fact:
|
set_fact:
|
||||||
pg_volumes:
|
pg_volumes:
|
||||||
- '/etc/localtime:/etc/localtime:ro'
|
- '/etc/localtime:/etc/localtime:ro'
|
||||||
- '/opt/appdata/{{pgrole}}:/config'
|
|
||||||
- '{{path.stdout}}:{{path.stdout}}'
|
- '{{path.stdout}}:{{path.stdout}}'
|
||||||
- '/mnt:/mnt'
|
- '/mnt:/mnt'
|
||||||
|
- '/opt/appdata/{{pgrole}}:/config'
|
||||||
|
|
||||||
- name: 'Setting {{pgrole2}} Volumes'
|
- name: 'Setting {{pgrole2}} Volumes'
|
||||||
set_fact:
|
set_fact:
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
PUID: '1000'
|
PUID: '1000'
|
||||||
PGID: '1000'
|
PGID: '1000'
|
||||||
OPENVPN_PROVIDER: 'see available configs at https://git.io/fpCSF'
|
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_USERNAME: 'vpnuser'
|
||||||
OPENVPN_PASSWORD: 'vpnpass'
|
OPENVPN_PASSWORD: 'vpnpass'
|
||||||
OPENVPN_OPTS: '--inactive 3600 --ping 10 --ping-exit 60'
|
OPENVPN_OPTS: '--inactive 3600 --ping 10 --ping-exit 60'
|
||||||
@@ -103,6 +103,11 @@
|
|||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
devices:
|
devices:
|
||||||
- '/dev/net/tun:/dev/net/tun:rwm'
|
- '/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:
|
capabilities:
|
||||||
- NET_ADMIN
|
- NET_ADMIN
|
||||||
networks:
|
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