-
Notifications
You must be signed in to change notification settings - Fork 1
/
config.example.yml
212 lines (204 loc) · 6.56 KB
/
config.example.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
# Logs
logs:
# Log level available log levels: debug, info, warn, error, fatal, panic
level: debug
# Disable timestamp logging. useful when output is redirected to logging
# system that already adds timestamps.
disable_timestamp: true
# Log to file, if no file is specified the logs will be printed to stdout
file: /var/log/polochon.log
# Watcher is used to organize the downloaded files directly when added to
# the directory. This is where the files are moved if not organized by the
# download manager. Only fsnotify is supported.
watcher:
fsnotifier: fsnotify
dir: /home/user/downloads/todo
# The downloader will download missing files from your library periodically
# at a fixed interval. It talks to a torrent server.
downloader:
enabled: false
# Should the downloader start when the program starts
launch_at_startup: true
# When to schedule the downloader, it accepts the CRON job format
# https://en.wikipedia.org/wiki/Cron and "@every _golang duration_"
schedule: "@every 6h"
# Which client would you like to use to download torrents. Transmission and
# aria2 are supported.
client: transmission
# The downloader manager manages the torrents and organise the files.
download_manager:
enabled: true
# Dir holds the downloaded files to be organized
dir: /home/user/downloads
# The timer defines the polling time of the torrent client
timer: 10s
# You can remove a torrent from the client list only when a specific
# ratio is reached. Setting this value to 0 will remove the torrent as
# soon as the torrent is downloaded.
ratio: 0
# The HTTP server exposes an API to polochon
http_server:
enable: true
port: 8080
host: localhost
# This allows polochon to serve your library over HTTP
serve_files: true
# Basic auth config, if you want it
basic_auth: false
basic_auth_user: toto
basic_auth_password: tata
# Specify which HTTP path to exclude from the logs
log_exclude_paths:
- /metrics
- /torrents
# Wishlists are the way to add new videos to your library automatically.
wishlist:
# Supported wishlisters:
# imdb: using a public URL
# canape: using a canapeapp.com to add things to the wishlist
# Both of theses modules should be configured in the module section.
wishlisters:
- imdb
- canape
# Order of qualities for the show you would like to download.
show_default_qualities:
- 720p
- 480p
- 1080p
# Same things for the movies.
movie_default_qualities:
- 1080p
- 720p
# Video files configuration
video:
# A guesser is used to guess the name and type of the video file.
# It is also used to guess the metadata of a video.
guessers:
- guessit
- mkvinfo
# Notification methods when a file is added to the library.
# Available notifiers:
# pushover: notifiy using the pushover API, requires configuration
# webhook: notifiy using a custom HTTP hook, requires configuration
notifiers:
- pushover
- webhook
# Do not consider the files containing theses strings as valid video files.
exclude_file_containing:
- sample
# Extensions considered to be video files.
allowed_file_extensions:
- .avi
- .mkv
- .mp4
# While cleaning diretories some files are considered garbage based on their extensions.
allowed_file_extensions_to_delete:
- .srt
- .nfo
- .txt
- .jpg
- .jpeg
# Prefered subtitle languages to download.
subtitle_languages:
- fr_FR
- en_US
# Show configuration
show:
# The calendar is used to check if and which episodes are available to
# download based on their release date. This is used in conjonction of the
# wishlist to know what to download.
calendar: tvdb
# Directory to store the tv shows.
dir: /home/user/tvshows
# Torrenters are the source for the episode torrents.
torrenters:
- eztv
- thepiratebay
# The detailer is where the informations for an episode are fetched.
detailers:
- tvdb
# Where to download the subtitles.
subtitlers:
- mkvinfo
- addicted
movie:
# Where the movies are stored.
dir: /home/user/movies
torrenters:
- yts
- thepiratebay
detailers:
- tmdb
subtitlers:
- mkvinfo
- yifysubs
- opensubtitles
- bsplayer
modules_params:
# Required for the transmission client, if the downloader is enabled.
- name: transmission
url: http://mytransmission.com/transmission/rpc
check_ssl: false
basic_auth: true
user: myUser
password: myPassword
# Required for the aria2 client, if the downloader is enabled.
- name: aria2
url: http://myaria2.com:6800/jsonrpc
secret: Riu5aedieghuSei2uucheeth0ahr8e
# Required if pushover is used to notify new movies
- name: pushover
key: sdf7as8f8ds7f9sf
recipient: 9327a472s3947234792
# Opensubtitles is used to download the subtitles for movies and episodes.
# The username and password are mandatory.
- name: opensubtitles
user: [email protected]
lang: en_US
password: my@w3$0m3p@$$w0rD
# Imdb is used to get the wishlist from a *public* list for a user id, you
# can specify multiple user ids to tracks multiple lists.
- name: imdb
user_ids:
- ur78342023
# canape is used to gather the wishlist of users, the url and token are
# mandatory. You can add multiple user configuration.
- name: canape
wishlists:
- url: https://canapeapp.com/polochons/11111-2222222-333333333-444444
token: 11111111-1320-41d6-8b23-27e3e7976272
# tvdb is used as a show detailer and calendar. It requires API credentials.
- name: tvdb
api_key: my_api_key
user_id: my_user_id
username: my_username
# tmdb is used as a movie detailer and requires an API key.
- name: tmdb
apikey: my@w3$0m3@pIk3y
# thepiratebay is a source of torrent for both movies and episodes. It will
# only download files from trusted users, you can specify those users for
# each video type.
- name: thepiratebay
# timeout for the search (optional, default 30s)
timeout: 30s
# guessit endpoint (optional)
guessit_endpoint: "https://api.myguessit.mydomain"
urls:
- https://thepiratebay.org
- https://mypirate.cc
- https://piratebay.life
show_users:
- EtHD
movie_users:
- YIFY
# Webhook configuration to send a request to an external service once a
# video is added to the library.
- name: webhook
hooks:
- url: http://urlhook/new_movie
method: POST
# Guessit is a wrapper for the guessit python program answering over http.
# A container is available for self hosting the service:
# https://github.com/odwrtw/docker-guessit
- name: guessit
endpoint: "http://guessit.quimbo.fr/guess"