Add qBittorrent Docker configuration
- Add docker-compose.yml for qBittorrent container setup - Add config directory with qBittorrent configuration files - Include GeoDB, RSS feeds, categories, and watched folders config
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,2 @@
|
|||||||
|
{
|
||||||
|
}
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
(N) 2025-09-10T12:25:50 - qBittorrent v5.1.2 started. Process ID: 153
|
||||||
|
(N) 2025-09-10T12:25:50 - Using config directory: /config/qBittorrent
|
||||||
|
(N) 2025-09-10T12:25:50 - Trying to listen on the following list of IP addresses: "0.0.0.0:6881,[::]:6881"
|
||||||
|
(I) 2025-09-10T12:25:50 - Peer ID: "-qB5120-"
|
||||||
|
(I) 2025-09-10T12:25:50 - HTTP User-Agent: "qBittorrent/5.1.2"
|
||||||
|
(I) 2025-09-10T12:25:50 - Distributed Hash Table (DHT) support: ON
|
||||||
|
(I) 2025-09-10T12:25:50 - Local Peer Discovery support: ON
|
||||||
|
(I) 2025-09-10T12:25:50 - Peer Exchange (PeX) support: ON
|
||||||
|
(I) 2025-09-10T12:25:50 - Anonymous mode: OFF
|
||||||
|
(I) 2025-09-10T12:25:50 - Encryption support: ON
|
||||||
|
(I) 2025-09-10T12:25:50 - Successfully listening on IP. IP: "127.0.0.1". Port: "TCP/6881"
|
||||||
|
(I) 2025-09-10T12:25:50 - Successfully listening on IP. IP: "127.0.0.1". Port: "UTP/6881"
|
||||||
|
(I) 2025-09-10T12:25:50 - Successfully listening on IP. IP: "172.19.0.2". Port: "TCP/6881"
|
||||||
|
(I) 2025-09-10T12:25:50 - Successfully listening on IP. IP: "172.19.0.2". Port: "UTP/6881"
|
||||||
|
(I) 2025-09-10T12:25:50 - Successfully listening on IP. IP: "::1". Port: "TCP/6881"
|
||||||
|
(I) 2025-09-10T12:25:50 - Successfully listening on IP. IP: "::1". Port: "UTP/6881"
|
||||||
|
(W) 2025-09-10T12:25:50 - Couldn't load IP geolocation database. Reason: No such file or directory
|
||||||
|
(N) 2025-09-10T12:25:50 - Using built-in WebUI.
|
||||||
|
(W) 2025-09-10T12:25:50 - Couldn't load WebUI translation for selected locale (C).
|
||||||
|
(N) 2025-09-10T12:25:50 - WebUI: Now listening on IP: *, port: 8080
|
||||||
|
(I) 2025-09-10T12:25:50 - Detected external IP. IP: "31.46.51.110"
|
||||||
|
(I) 2025-09-10T12:25:50 - IP geolocation database loaded. Type: DBIP-Country-Lite. Build time: Mon Sep 1 03:19:30 2025.
|
||||||
|
(I) 2025-09-10T12:25:50 - Successfully updated IP geolocation database.
|
||||||
|
(W) 2025-09-10T12:27:31 - WebAPI login failure. Reason: invalid credentials, attempt count: 1, IP: ::ffff:172.19.0.1, username: admin
|
||||||
|
(W) 2025-09-10T12:27:37 - WebAPI login failure. Reason: invalid credentials, attempt count: 2, IP: ::ffff:172.19.0.1, username: admin
|
||||||
|
(W) 2025-09-10T12:28:34 - WebAPI login failure. Reason: invalid credentials, attempt count: 3, IP: ::ffff:172.19.0.1, username: admin
|
||||||
|
(N) 2025-09-10T12:29:02 - WebAPI login success. IP: ::ffff:172.19.0.1
|
||||||
|
(N) 2025-09-10T12:30:39 - WebUI translation for selected locale (en) has been successfully loaded.
|
||||||
|
(N) 2025-09-10T12:31:08 - WebAPI login success. IP: ::ffff:172.19.0.1
|
||||||
|
(N) 2025-09-10T23:41:28 - qBittorrent termination initiated
|
||||||
|
(N) 2025-09-10T23:41:28 - Saving resume data completed.
|
||||||
|
(N) 2025-09-10T23:41:28 - BitTorrent session successfully finished.
|
||||||
|
(N) 2025-09-10T23:41:28 - qBittorrent is now ready to exit
|
||||||
|
(N) 2025-09-10T23:43:04 - qBittorrent v5.1.2 started. Process ID: 148
|
||||||
|
(N) 2025-09-10T23:43:04 - Using config directory: /config/qBittorrent
|
||||||
|
(N) 2025-09-10T23:43:04 - Trying to listen on the following list of IP addresses: "0.0.0.0:6881,[::]:6881"
|
||||||
|
(I) 2025-09-10T23:43:04 - Peer ID: "-qB5120-"
|
||||||
|
(I) 2025-09-10T23:43:04 - HTTP User-Agent: "qBittorrent/5.1.2"
|
||||||
|
(I) 2025-09-10T23:43:04 - Distributed Hash Table (DHT) support: ON
|
||||||
|
(I) 2025-09-10T23:43:04 - Local Peer Discovery support: ON
|
||||||
|
(I) 2025-09-10T23:43:04 - Peer Exchange (PeX) support: ON
|
||||||
|
(I) 2025-09-10T23:43:04 - Anonymous mode: OFF
|
||||||
|
(I) 2025-09-10T23:43:04 - Encryption support: ON
|
||||||
|
(I) 2025-09-10T23:43:04 - IP geolocation database loaded. Type: DBIP-Country-Lite. Build time: Mon Sep 1 03:19:30 2025.
|
||||||
|
(N) 2025-09-10T23:43:04 - Using built-in WebUI.
|
||||||
|
(N) 2025-09-10T23:43:04 - WebUI translation for selected locale (en) has been successfully loaded.
|
||||||
|
(N) 2025-09-10T23:43:04 - WebUI: Now listening on IP: *, port: 8080
|
||||||
|
(I) 2025-09-10T23:43:04 - Successfully listening on IP. IP: "127.0.0.1". Port: "TCP/6881"
|
||||||
|
(I) 2025-09-10T23:43:04 - Successfully listening on IP. IP: "127.0.0.1". Port: "UTP/6881"
|
||||||
|
(I) 2025-09-10T23:43:04 - Successfully listening on IP. IP: "172.19.0.2". Port: "TCP/6881"
|
||||||
|
(I) 2025-09-10T23:43:04 - Successfully listening on IP. IP: "172.19.0.2". Port: "UTP/6881"
|
||||||
|
(I) 2025-09-10T23:43:04 - Successfully listening on IP. IP: "::1". Port: "TCP/6881"
|
||||||
|
(I) 2025-09-10T23:43:04 - Successfully listening on IP. IP: "::1". Port: "UTP/6881"
|
||||||
|
(I) 2025-09-10T23:43:07 - Detected external IP. IP: "31.46.51.110"
|
||||||
|
(N) 2025-09-12T09:27:37 - qBittorrent termination initiated
|
||||||
|
(N) 2025-09-12T09:27:37 - Saving resume data completed.
|
||||||
|
(N) 2025-09-12T09:27:37 - BitTorrent session successfully finished.
|
||||||
|
(N) 2025-09-12T09:27:37 - qBittorrent is now ready to exit
|
||||||
|
(N) 2025-09-12T09:29:21 - qBittorrent v5.1.2 started. Process ID: 146
|
||||||
|
(N) 2025-09-12T09:29:21 - Using config directory: /config/qBittorrent
|
||||||
|
(N) 2025-09-12T09:29:21 - Trying to listen on the following list of IP addresses: "0.0.0.0:6881,[::]:6881"
|
||||||
|
(I) 2025-09-12T09:29:21 - Peer ID: "-qB5120-"
|
||||||
|
(I) 2025-09-12T09:29:21 - HTTP User-Agent: "qBittorrent/5.1.2"
|
||||||
|
(I) 2025-09-12T09:29:21 - Distributed Hash Table (DHT) support: ON
|
||||||
|
(I) 2025-09-12T09:29:21 - Local Peer Discovery support: ON
|
||||||
|
(I) 2025-09-12T09:29:21 - Peer Exchange (PeX) support: ON
|
||||||
|
(I) 2025-09-12T09:29:21 - Anonymous mode: OFF
|
||||||
|
(I) 2025-09-12T09:29:21 - Encryption support: ON
|
||||||
|
(I) 2025-09-12T09:29:21 - Successfully listening on IP. IP: "127.0.0.1". Port: "TCP/6881"
|
||||||
|
(I) 2025-09-12T09:29:21 - Successfully listening on IP. IP: "127.0.0.1". Port: "UTP/6881"
|
||||||
|
(I) 2025-09-12T09:29:21 - Successfully listening on IP. IP: "172.19.0.2". Port: "TCP/6881"
|
||||||
|
(I) 2025-09-12T09:29:21 - Successfully listening on IP. IP: "172.19.0.2". Port: "UTP/6881"
|
||||||
|
(I) 2025-09-12T09:29:21 - Successfully listening on IP. IP: "::1". Port: "TCP/6881"
|
||||||
|
(I) 2025-09-12T09:29:21 - Successfully listening on IP. IP: "::1". Port: "UTP/6881"
|
||||||
|
(I) 2025-09-12T09:29:21 - IP geolocation database loaded. Type: DBIP-Country-Lite. Build time: Mon Sep 1 03:19:30 2025.
|
||||||
|
(N) 2025-09-12T09:29:21 - Using built-in WebUI.
|
||||||
|
(N) 2025-09-12T09:29:21 - WebUI translation for selected locale (en) has been successfully loaded.
|
||||||
|
(N) 2025-09-12T09:29:21 - WebUI: Now listening on IP: *, port: 8080
|
||||||
|
(I) 2025-09-12T09:29:23 - Detected external IP. IP: "31.46.51.110"
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
[Stats]
|
||||||
|
AllStats=@Variant(\0\0\0\x1c\0\0\0\x2\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0U\0L\0\0\0\x4\0\0\0\0\0\x12+H\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0\x44\0L\0\0\0\x4\0\0\0\0\0\xf#()
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
[Application]
|
||||||
|
FileLogger\Age=1
|
||||||
|
FileLogger\AgeType=1
|
||||||
|
FileLogger\Backup=true
|
||||||
|
FileLogger\DeleteOld=true
|
||||||
|
FileLogger\Enabled=true
|
||||||
|
FileLogger\MaxSizeBytes=66560
|
||||||
|
FileLogger\Path=/config/qBittorrent/logs
|
||||||
|
|
||||||
|
[AutoRun]
|
||||||
|
enabled=false
|
||||||
|
program=
|
||||||
|
|
||||||
|
[BitTorrent]
|
||||||
|
Session\AddTorrentStopped=false
|
||||||
|
Session\DefaultSavePath=/downloads/
|
||||||
|
Session\ExcludedFileNames=
|
||||||
|
Session\Port=6881
|
||||||
|
Session\QueueingSystemEnabled=true
|
||||||
|
Session\SSL\Port=6913
|
||||||
|
Session\ShareLimitAction=Stop
|
||||||
|
Session\TempPath=/downloads/incomplete/
|
||||||
|
|
||||||
|
[Core]
|
||||||
|
AutoDeleteAddedTorrentFile=Never
|
||||||
|
|
||||||
|
[LegalNotice]
|
||||||
|
Accepted=true
|
||||||
|
|
||||||
|
[Meta]
|
||||||
|
MigrationVersion=8
|
||||||
|
|
||||||
|
[Network]
|
||||||
|
Cookies=@Invalid()
|
||||||
|
PortForwardingEnabled=false
|
||||||
|
Proxy\HostnameLookupEnabled=false
|
||||||
|
Proxy\Profiles\BitTorrent=true
|
||||||
|
Proxy\Profiles\Misc=true
|
||||||
|
Proxy\Profiles\RSS=true
|
||||||
|
|
||||||
|
[Preferences]
|
||||||
|
Connection\PortRangeMin=6881
|
||||||
|
Connection\UPnP=false
|
||||||
|
Downloads\SavePath=/downloads/
|
||||||
|
Downloads\TempPath=/downloads/incomplete/
|
||||||
|
General\Locale=en
|
||||||
|
MailNotification\req_auth=true
|
||||||
|
WebUI\Address=*
|
||||||
|
WebUI\Password_PBKDF2="@ByteArray(ZKvbJkSupyOioYkDDVrMYA==:d65EaPafxao/dcmEXRsFaMgRcGBoCSxTcGZiY/LCa48TUErDQC03rNemvsCClKqDbi4ec7idnMkHd6Ila+4vxg==)"
|
||||||
|
WebUI\ServerDomains=*
|
||||||
|
WebUI\Username=hoborg
|
||||||
|
|
||||||
|
[RSS]
|
||||||
|
AutoDownloader\DownloadRepacks=true
|
||||||
|
AutoDownloader\SmartEpisodeFilter=s(\\d+)e(\\d+), (\\d+)x(\\d+), "(\\d{4}[.\\-]\\d{1,2}[.\\-]\\d{1,2})", "(\\d{1,2}[.\\-]\\d{1,2}[.\\-]\\d{4})"
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
{
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
{
|
||||||
|
}
|
||||||
38
config/docker/qbittorrent/docker-compose.yml
Normal file
38
config/docker/qbittorrent/docker-compose.yml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
# DEPLOYMENT LOCATION: /opt/docker/qbittorrent/docker-compose.yml
|
||||||
|
# Deploy with: sudo mkdir -p /opt/docker/qbittorrent && sudo cp config/docker/qbittorrent/docker-compose.yml /opt/docker/qbittorrent/
|
||||||
|
# Start with: cd /opt/docker/qbittorrent && sudo docker-compose up -d
|
||||||
|
|
||||||
|
services:
|
||||||
|
qbittorrent:
|
||||||
|
image: linuxserver/qbittorrent:latest
|
||||||
|
container_name: qbittorrent
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
# User and group IDs to match host user (hoborg)
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Europe/Prague
|
||||||
|
- WEBUI_PORT=8080
|
||||||
|
|
||||||
|
# Network - bind to localhost only for reverse proxy
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:8080:8080" # Web UI
|
||||||
|
- "6881:6881" # BitTorrent TCP
|
||||||
|
- "6881:6881/udp" # BitTorrent UDP
|
||||||
|
|
||||||
|
# Volume mounts
|
||||||
|
volumes:
|
||||||
|
# qBittorrent configuration
|
||||||
|
- /opt/docker/qbittorrent/config:/config
|
||||||
|
|
||||||
|
# Torrent storage on NAS
|
||||||
|
- /mnt/nas/torrent:/downloads
|
||||||
|
|
||||||
|
# Memory limits for container stability
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 1G
|
||||||
|
reservations:
|
||||||
|
memory: 256M
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Deploy Netdata configuration and nginx config for privacy-focused local monitoring
|
|
||||||
# Run with: sudo -A ./scripts/deploy-netdata-config.sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
echo "=== Deploying Netdata privacy configuration ==="
|
|
||||||
cp /home/hoborg/homelab/config/netdata/netdata.conf /etc/netdata/netdata.conf
|
|
||||||
echo "✅ Netdata configured for local-only operation (no cloud/telemetry)"
|
|
||||||
|
|
||||||
echo "=== Backing up nginx config ==="
|
|
||||||
BACKUP_FILE="/etc/nginx/sites-available/homelab.backup.$(date +%Y%m%d-%H%M%S)"
|
|
||||||
cp /etc/nginx/sites-available/homelab "$BACKUP_FILE"
|
|
||||||
echo "Backup created: $BACKUP_FILE"
|
|
||||||
|
|
||||||
echo "=== Deploying nginx configuration with Netdata support ==="
|
|
||||||
cp /home/hoborg/homelab/config/nginx/homelab.conf /etc/nginx/sites-available/homelab
|
|
||||||
|
|
||||||
echo "=== Testing nginx configuration ==="
|
|
||||||
nginx -t
|
|
||||||
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo "=== Restarting Netdata with new config ==="
|
|
||||||
systemctl restart netdata
|
|
||||||
|
|
||||||
echo "=== Reloading nginx ==="
|
|
||||||
systemctl reload nginx
|
|
||||||
|
|
||||||
echo "✅ Configuration deployed successfully!"
|
|
||||||
else
|
|
||||||
echo "❌ ERROR: Nginx configuration test failed!"
|
|
||||||
echo "Restoring backup..."
|
|
||||||
cp "$BACKUP_FILE" /etc/nginx/sites-available/homelab
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "=== Testing Netdata access ==="
|
|
||||||
echo "Direct access: http://127.0.0.1:19999/"
|
|
||||||
curl -s -o /dev/null -w "Direct Netdata: HTTP %{http_code}\\n" http://127.0.0.1:19999/ || echo "Direct test failed"
|
|
||||||
|
|
||||||
echo "Reverse proxy access: https://ak-homelab.duckdns.org/netdata/"
|
|
||||||
curl -k -s -o /dev/null -w "Proxied Netdata: HTTP %{http_code}\\n" https://ak-homelab.duckdns.org/netdata/ || echo "Proxy test failed"
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "=== Netdata Privacy Configuration Complete! ==="
|
|
||||||
echo "✅ Cloud features disabled"
|
|
||||||
echo "✅ Telemetry disabled"
|
|
||||||
echo "✅ Local-only monitoring"
|
|
||||||
echo "✅ Accessible via: https://ak-homelab.duckdns.org/netdata/"
|
|
||||||
echo "✅ Basic auth: admin / AdminPass2024!"
|
|
||||||
Reference in New Issue
Block a user