-
Notifications
You must be signed in to change notification settings - Fork 11
/
pgui.yml
109 lines (96 loc) · 3.45 KB
/
pgui.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#!/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: 'pgui'
intport: '80'
extport: "8555"
image: 'richarvey/nginx-php-fpm'
# CORE (MANDATORY) ############################################################
- name: 'Including cron job'
include_tasks: '/opt/coreapps/apps/_core.yml'
- name: check if user cname file exists
stat:
path: /var/plexguide/pgui.cname
register: ucname_check
- name: Register user cname
shell: 'cat /var/plexguide/pgui.cname'
register: ucname
ignore_errors: True
when: ucname_check.stat.exists == true
- name: Register CName
set_fact:
cname: ""
- name: Set cname
set_fact:
cname: ",{{ucname.stdout}}.{{domain.stdout}}"
when: ucname_check.stat.exists == true and ucname.stdout != ""
- name: Install File
template:
src: /opt/pgui/templates/index.php
dest: /opt/appdata/pgui/index.php
force: yes
owner: '1000'
group: '1000'
- name: localspace Service
template:
src: /opt/plexguide/menu/pgui/localspace.service
dest: /etc/systemd/system/localspace.service
force: yes
owner: '1000'
group: '1000'
# 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}}{{cname}}'
traefik.frontend.headers.SSLHost: '{{domain.stdout}}'
traefik.frontend.headers.SSLRedirect: 'true'
traefik.frontend.headers.STSIncludeSubdomains: 'true'
traefik.frontend.headers.STSPreload: 'true'
traefik.frontend.headers.STSSeconds: '315360000'
traefik.frontend.headers.browserXSSFilter: 'true'
traefik.frontend.headers.contentTypeNosniff: 'true'
traefik.frontend.headers.customResponseHeaders: 'X-Robots-Tag:noindex,nofollow,nosnippet,noarchive,notranslate,noimageindex'
traefik.frontend.headers.forceSTSHeader: 'true'
- name: 'Setting PG Volumes'
set_fact:
pg_volumes:
- '/opt/appdata/pgui/index.php:/var/www/html/index.php'
- '/var/plexguide:/plexguide'
- '/opt/appdata/plexguide:/log'
- 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}}'