-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.jsonc
More file actions
75 lines (71 loc) · 3.45 KB
/
config.jsonc
File metadata and controls
75 lines (71 loc) · 3.45 KB
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
{
// Every "apiKey" below, and every value under a "headers" object, can be
// written in THREE ways:
// 1. a plain string: "apiKey": "my-secret"
// 2. a reference to an env variable: "apiKey": { "env": "MY_SECRET" }
// 3. a reference to a secret file: "apiKey": { "file": "/run/secrets/my-secret" }
// Env/file forms keep secrets out of this file (recommended for deployments).
// File paths must be absolute. All forms resolve to the same string.
// Identity of THIS jack instance. Required for the Torznab indexer and
// for peers to reach you. `baseUrl` must be reachable from your *arr apps.
"jack": {
"baseUrl": "http://jack:5225",
// Shared secret that protects your /torznab and /peer endpoints.
// Generate one with: openssl rand -hex 32
// You hand this SAME value to your peers so they can reach you, and your
// Radarr/Sonarr use it to query your Torznab indexer (see README).
// Here it is read from the JACK_API_KEY environment variable.
// You can also use a secret file, for example:
// "apiKey": { "file": "/run/secrets/jack_api_key" }
"apiKey": { "env": "JACK_API_KEY" }
},
// Downloads: jack registers itself in your *arr as a qBittorrent download
// client, so grabs are handed to jack directly (no watch folder). Finished
// files are written here for your *arr to import. Path is *inside the container*.
"downloads": {
"completedPath": "/data/torrents/completed",
// Optional download hardening knobs — values below are the defaults, so you
// can delete any line to keep the default. (Note the comma after
// "completedPath" above is required once any field follows it.)
"maxConcurrentDownloads": 3,
"maxDownloadAttempts": 5,
"retryBaseDelayMs": 1000,
"retryMaxDelayMs": 60000
},
// Your Radarr/Sonarr servers. apiKey is the *arr API key: exactly 32 hex
// chars (Settings -> General). Each server can be a:
// - "source": its library is shared with your peers (read via /peer).
// - "destination": jack registers itself there as a Torznab indexer +
// qBittorrent download client, and triggers imports.
// - both: share your library AND search your friends', symmetric.
// "autoregister" controls the indexer/client registration (destinations only):
// { "enable": true, "priority": 1 }
// The qBittorrent client is always registered at *arr's lowest priority so real
// torrents from your other indexers never get routed to jack (Jack grabs still
// reach it via the indexer binding, which *arr resolves before priority).
"servers": [
// {
// "name": "Main Radarr",
// "type": "radarr",
// "url": "http://radarr:7878",
// "apiKey": { "env": "RADARR_API_KEY" },
// "headers": { "X-Forwarded-User": "jack" },
// "source": true,
// "destination": true,
// "autoregister": { "enable": true, "priority": 1 }
// },
// { "name": "Main Sonarr", "type": "sonarr", "url": "http://sonarr:8989", "apiKey": "0123456789abcdef0123456789abcdef" }
],
// Other jack instances you search (peer-to-peer). Sources only.
"peers": [
// {
// "name": "friend",
// "url": "https://their-jack.example.com",
// "apiKey": "their-shared-secret",
// "headers": {
// "CF-Access-Client-Secret": { "env": "FRIEND_CF_SECRET" },
// "CF-Access-Client-Id": { "file": "/run/secrets/friend_cf_client_id" }
// }
// }
]
}