-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.example.yml
More file actions
49 lines (45 loc) · 2.03 KB
/
Copy pathdocker-compose.example.yml
File metadata and controls
49 lines (45 loc) · 2.03 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
services:
torlink:
build:
context: .
image: calmasacow/torlink-plusplus:latest
container_name: torlink
restart: unless-stopped
ports:
- "9117:9117"
environment:
# Required when exposing Torlink to Radarr/Sonarr or browser/manual API users.
TORLINK_API_KEY: "replace-with-a-long-random-api-key"
# Optional: query used when Radarr/Sonarr validates Torznab without q=.
# Keep this as a real broad search term so validation returns at least one categorized result.
TORLINK_TORZNAB_EMPTY_QUERY: "avatar"
# Optional: allow same-origin browser Web UI requests without manually entering the API key.
# Off by default. Only enable on a LAN you trust.
TORLINK_WEBUI_TRUSTED: "false"
# Built-in Torlink downloader target inside the container.
# Map this path under volumes below to choose where downloaded files land on the host.
TORLINK_DOWNLOAD_DIR: "/downloads"
# Optional: only needed for Torlink's manual qBittorrent add endpoints.
# Radarr/Sonarr should keep using their own download-client settings.
# Uncomment these only when you are ready to test manual qBittorrent adds.
# TORLINK_QBIT_URL: "http://qbittorrent:8080"
# TORLINK_QBIT_USERNAME: "replace-with-qbit-user"
# TORLINK_QBIT_PASSWORD: "replace-with-qbit-password"
# TORLINK_QBIT_CATEGORY: "torlink"
# TORLINK_QBIT_SAVE_PATH: ""
volumes:
# Host download path for the built-in Torlink downloader.
# Override TORLINK_DOWNLOADS_DIR in your private compose override or .env.
- "${TORLINK_DOWNLOADS_DIR:-./downloads}:/downloads"
healthcheck:
test:
[
"CMD",
"node",
"-e",
"const http=require('node:http'); const req=http.get('http://127.0.0.1:9117/health',res=>process.exit(res.statusCode===200?0:1)); req.on('error',()=>process.exit(1)); req.setTimeout(3000,()=>{req.destroy(); process.exit(1);});",
]
interval: 30s
timeout: 5s
start_period: 10s
retries: 3