-
Notifications
You must be signed in to change notification settings - Fork 5
/
nzbget.yml
271 lines (247 loc) · 9.39 KB
/
nzbget.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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
---
- hosts: homelab
vars:
application: nzbget
docker_network: "{{ networks.pub }}"
handlers:
- name: Restart
community.docker.docker_container:
name: "{{ application }}"
restart: true
comparisons:
'*': ignore
tasks:
- name: Create config folder
ansible.builtin.file:
path: "{{ config_directory }}"
state: directory
owner: "{{ common_user }}"
group: "{{ common_root_group }}"
mode: "0771"
- name: Create unpack pass file
ansible.builtin.copy:
content: |
404
dest: "{{ config_directory }}/unpackpassfile.txt"
owner: "{{ common_user_id }}"
group: "{{ common_root_group }}"
mode: "0644"
- name: Create container
ansible.builtin.include_role:
name: docker_container
vars:
image: ghcr.io/nzbgetcom/nzbget:v24.4
volumes:
- "{{ config_directory }}:/config"
- "{{ common_directory_download }}:{{ common_mounted_directory_download }}"
env:
PUID: "{{ common_user_id | string }}"
PGID: "{{ common_root_group | string }}"
TZ: "{{ common_timezone }}"
UMASK: "022"
traefik:
-
port: 6789
auth: page
rule: Host(`{{ application }}.{{ common_tld }}`)
-
name: "{{ application }}-bypass-auth"
port: 6789
rule: Host(`{{ application }}.{{ common_tld }}`) && Header(`{{ traefik_bypass_auth_header.key }}`, `{{ traefik_bypass_auth_header.value }}`)
homepage:
name: NZBGet
group: Favourites
weight: 200
description: "Download files from Usenet"
widget:
username: ""
password: ""
- name: Wait for config
ansible.builtin.wait_for:
path: "{{ config_directory }}/nzbget.conf"
- name: Configure
ansible.builtin.lineinfile:
dest: "{{ config_directory }}/nzbget.conf"
regexp: "^{{ item.key }}="
line: "{{ item.key }}={{ item.value }}"
loop: "{{ nzbget_config | dict2items }}"
notify: Restart
vars:
nzbget_config:
# PATHS
MainDir: "{{ common_mounted_directory_download }}"
DestDir: '${MainDir}'
InterDir: '${MainDir}/Intermediate/Incomplete'
NzbDir: '${MainDir}/Intermediate/Watch'
QueueDir: '${MainDir}/Intermediate/Queue'
TempDir: '${MainDir}/Intermediate/Temp'
WebDir: '${AppDir}/webui'
ScriptDir: '/config/scripts'
LockFile: '/config/nzbget.lock'
LogFile: '/config/nzbget.log'
ConfigTemplate: '${AppDir}/webui/nzbget.conf.template'
# NEWS-SERVERS
Server1.Active: 'yes'
Server1.Name: 'Frugal Usenet USA'
Server1.Level: '0'
Server1.Optional: 'no'
Server1.Group: '0'
Server1.Host: 'news.frugalusenet.com'
Server1.Port: '563'
Server1.Username: &frugalusenetusername !vault |
$ANSIBLE_VAULT;1.1;AES256
30326338333938306539396133353136366338366530313765633234323964663539323361376364
3932343665386634393631323030333937366330323162300a613730393833303731393631326233
64343865643236303839303362643831653964376362633538383464383530346665346630356633
3535396334613665350a633838363434616265353432396631393163626133313131353463633939
3065
Server1.Password: &frugalusenetpassword !vault |
$ANSIBLE_VAULT;1.1;AES256
30383762613266623361303036393431396133656462373937316334373661653938613662663236
6638643732353330323136663365613933353739353466620a313462666162313264323032333766
65653438343965336466363737646439333336363861346237353764333733643339623166613435
6132303866383034340a643963323361613035643865623839383264363165343265376134323437
6631
Server1.JoinGroup: 'no'
Server1.Encryption: 'yes'
Server1.Cipher: 'AES128-SHA'
Server1.Connections: '15'
Server1.Retention: '2600'
Server1.IpVersion: 'ipv4'
Server1.Notes: 'Expires 27th November 2023'
Server2.Active: 'yes'
Server2.Name: 'Frugal Usenet EU'
Server2.Level: '0'
Server2.Optional: 'no'
Server2.Group: '0'
Server2.Host: 'eunews.frugalusenet.com'
Server2.Port: '563'
Server2.Username: *frugalusenetusername
Server2.Password: *frugalusenetpassword
Server2.JoinGroup: 'no'
Server2.Encryption: 'yes'
Server2.Cipher: 'AES128-SHA'
Server2.Connections: '15'
Server2.Retention: '2600'
Server2.IpVersion: 'ipv4'
Server2.Notes: 'Expires 27th November 2023'
Server3.Active: 'yes'
Server3.Name: 'Frugal Usenet Bonus'
Server3.Level: '0'
Server3.Optional: 'no'
Server3.Group: '1'
Server3.Host: 'bonus.frugalusenet.com'
Server3.Port: '563'
Server3.Username: *frugalusenetusername
Server3.Password: *frugalusenetpassword
Server3.JoinGroup: 'no'
Server3.Encryption: 'yes'
Server3.Cipher: 'AES128-SHA'
Server3.Connections: '15'
Server3.Retention: '3000'
Server3.IpVersion: 'ipv4'
Server3.Notes: 'Expires 27th November 2023'
Server4.Active: 'yes'
Server4.Name: 'Blocknews US'
Server4.Level: '1'
Server4.Optional: 'no'
Server4.Group: '2'
Server4.Host: 'usnews.blocknews.net'
Server4.Port: '563'
Server4.Username: &blocknewsusername !vault |
$ANSIBLE_VAULT;1.1;AES256
62663232306238393433666262366163343837373638633365643734313030646337393863306630
6265386262356261333531356565346134343638633731320a613863633236386661363638353561
65623136663161613335383764653233366462366539313734303635353566363331623733643736
3261353936303336620a656235623765376136623238613765613630656262366632383939313435
3839
Server4.Password: &blocknewspassword !vault |
$ANSIBLE_VAULT;1.1;AES256
34396362353562643230303564663732353735366662326366336664636665626263336130306364
3965393063626433363335353231306666303666636564300a613131373565343364386338396537
39353366343737373830643932613737643238343438623530613936633034613034316431326666
3538623233303930350a346637656361616436323063333235383361353331656232353735396564
38643661353262383031323966363039353534363032666530336563393035393266
Server4.JoinGroup: 'no'
Server4.Encryption: 'yes'
Server4.Cipher: 'AES128-SHA'
Server4.Connections: '15'
Server4.Retention: '5186'
Server4.IpVersion: 'ipv4'
Server4.Notes: ''
Server5.Active: 'yes'
Server5.Name: 'Blocknews EU'
Server5.Level: '1'
Server5.Optional: 'no'
Server5.Group: '2'
Server5.Host: 'eunews.blocknews.net'
Server5.Port: '563'
Server5.Username: *blocknewsusername
Server5.Password: *blocknewspassword
Server5.JoinGroup: 'no'
Server5.Encryption: 'yes'
Server5.Cipher: 'AES128-SHA'
Server5.Connections: '15'
Server5.Retention: '5186'
Server5.IpVersion: 'ipv4'
Server5.Notes: ''
Server6.Active: 'yes'
Server6.Name: 'Blocknews EU2'
Server6.Level: '1'
Server6.Optional: 'no'
Server6.Group: '2'
Server6.Host: 'eunews2.blocknews.net'
Server6.Port: '563'
Server6.Username: *blocknewsusername
Server6.Password: *blocknewspassword
Server6.JoinGroup: 'no'
Server6.Encryption: 'yes'
Server6.Cipher: 'AES128-SHA'
Server6.Connections: '15'
Server6.Retention: '5186'
Server6.IpVersion: 'ipv4'
Server6.Notes: ''
# SECURITY
ControlUsername: ''
ControlPassword: ''
# CATEGORIES
Category1.Name: 'Movies'
Category1.DestDir: 'Movies'
Category1.Aliases: 'movies*'
Category2.Name: 'TV'
Category2.DestDir: 'TV/Sonarr'
Category2.Unpack: 'yes'
Category3.Name: 'Games'
Category3.DestDir: 'Games'
Category3.Aliases: 'Games'
Category4.Name: 'Books'
Category4.DestDir: 'Books'
Category4.Aliases: 'Books'
Category5.Name: 'TV-Anime'
Category5.DestDir: 'TV/Sonarr-Anime'
Category5.Unpack: 'yes'
# INCOMING NZBS
DupeCheck: 'no'
# DOWNLOAD QUEUE
FlushQueue: 'no'
ContinuePartial: 'no'
ArticleCache: '500'
WriteBuffer: '1024'
PostStrategy: 'rocket'
# LOGGING
WriteLog: 'rotate'
# CHECK AND REPAIR
CrcCheck: 'yes'
ParCheck: 'auto'
ParQuick: 'yes'
ParBuffer: '8192'
DirectRename: 'yes'
ParPauseQueue: 'no'
# UNPACK
DirectUnpack: 'yes'
UnpackPauseQueue: 'no'
UnrarCmd: '${AppDir}/unrar'
SevenZipCmd: '${AppDir}/7za'
UnpackPassFile: '/config/unpackpassfile.txt'
# EXTENSION SCRIPTS
ScriptPauseQueue: 'yes'