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