qbittorrent-filebot

qbittorrent-filebot

Docker app from pbear's Repository

Overview

This Docker image combines qBittorrent and FileBot to create a powerful, automated media management solution. Key Components qBittorrent • Cross-platform, free, and open-source BitTorrent client • Written in C++ with Boost, Qt 5 toolkit, and libtorrent-rasterbar • Optional Python-based search engine FileBot • Ultimate tool for organizing movies, TV shows, and anime • Matches and renames files using online databases • Downloads artwork, fetches subtitles, and writes metadata Features • Based on Ubuntu with the latest stable releases of both tools • Automatic integration: qBittorrent calls FileBot upon download completion • Streamlined workflow for downloading and organizing media files • All-in-one solution for efficient media management Usage This Docker image provides a seamless experience for users who want to: 1. Download media using qBittorrent’s robust BitTorrent client 2. Automatically organize and rename downloaded files with FileBot 3. Manage their media library with minimal manual intervention Note: A valid FileBot license is required to fully utilize the automated features of this Docker image.

🐳 docker-qBittorrent-filebot

Docker Pulls Docker Stars

This Docker image combines qBittorrent with the Filebot tool for automated media management. 🚀

📚 Table of Contents

📝 Description

This image is a hardened, security-focused build based on Wolfi (Chainguard). It includes the latest stable release of qBittorrent and FileBot portable.

Why this hardened version?

  • Minimal Surface: Uses a minimal footprint to reduce potential security vulnerabilities.
  • Enterprise-Grade Patching: Built on Wolfi, ensuring low CVE counts and modern library support.
  • Performance: Lightweight execution using tini for proper signal handling and zombie process prevention.

It provides an all-in-one, secure solution for downloading and organizing media files. 🎬🎵 For more information about Filebot, please visit https://www.filebot.net

🖥️ Supported Platforms

This image is built for the following architectures:

Platform Architecture
linux/amd64 x86_64 — standard servers, NAS (unRAID, Synology x86)
linux/arm64 aarch64 — Raspberry Pi 4/5, ARM NAS, Apple Silicon VMs

Docker automatically pulls the correct image for your system when using imthai/qbittorrent-filebot:latest.

🔧 Variables

You can customize the behavior of the container using the following variables:

Variable Default value Description
FILEBOT_LANG en Language for Filebot
FILEBOT_ACTION copy Action to perform (copy, move, symlink, hardlink, keeplink, test)
FILEBOT_CONFLICT auto Conflict resolution strategy
FILEBOT_ARTWORK yes Whether to fetch artwork
MUSIC_FORMAT {plex} Naming format for music files
MOVIE_FORMAT {plex} Naming format for movie files
SERIE_FORMAT {plex} Naming format for TV series files
ANIME_FORMAT animes/{n}/{e.pad(3)} - {t} Naming format for anime files
PUID 99 User ID for file permissions
PGID 100 Group ID for file permissions
FILES_CHECK_PERM no Whether to check file permissions on startup
WEBUI 8080 Port for the web interface

⚠️ Important Notes

  • Set your PUID and PGID according to your system. The default values (99/100) are for unRAID's nobody/users.
  • The {plex} format will organize files into specific folders (Movies, TV Shows, Music). Adjust if needed.
    Using {plex.id} instead of {plex} includes the numeric ID in the folder name, which is more machine-friendly.
  • FILEBOT_ACTION is set to "copy" by default. Be aware of the implications when changing this setting. See below.
  • Add your Filebot license file (psm file) to /data/filebot folder and restart the container.
  • Default qBittorrent login is "admin". A new password is generated at each startup (check logs) until you set a permanent one.
  • To customize the fb.sh script, set custom=1 inside the script to prevent overwriting on restart.
  • qBittorrent calls fb.sh on completion with four arguments: "%F" "%N" "%L" "%T" (content path, torrent name, category, current tracker URL). The [AutoRun] program line is enforced at every startup from /src/check, so edits made in the qBittorrent UI do not survive a restart. The tracker argument lets a custom fb.sh route by tracker (e.g. export FB_TRACKER="$4", then System.getenv('FB_TRACKER') in a filebot format); it is empty if the torrent never reached a tracker.
  • Setting FILES_CHECK_PERM to "yes" may significantly increase startup time.
  • If you change the default ports in the qBittorrent config, update your Docker port mappings accordingly (Not needed if you use a dedicated ip for the container, or host network mode).

Important note about FILEBOT_ACTION: If you choose to set FILEBOT_ACTION to "MOVE" or "HARDLINK", you need to adapt your configuration:

  1. Use a single general mount point. For example (if you're using unRAID), mount /mnt/user (host) to /onemount (container).

( -v '/mnt/user':'/onemount':'rw' ) 2. Adjust the download folder in qBittorrent settings. For example, set it to /onemount/downloads (corresponding to your /mnt/user/downloads under unRAID). 3. Modify the fb.sh script (located in the /data/filebot folder). Change the output to /onemount/media (which corresponds to your /mnt/user/media under unRAID).

📂 Volumes

  • /data: Configuration folder
  • /downloads: Download folder
  • /media: Media folder

🔌 Ports

  • 8080/tcp: Web UI
  • 6881/tcp: Incoming torrent connections
  • 6881/udp: Incoming torrent connections

Port 8080 is mapped by default for the WEBUI, and ports 6881 (tcp & udp) are used for incoming torrent connections. These port mappings are required when using Docker's network bridge mode.

Important notes:

  • If you change these ports in the qBittorrent config (via WEBUI for example), remember to update the corresponding port bindings in your Docker run command or compose file.
  • If you're using a dedicated IP or network host mode, you can ignore or omit these port bindings.

🚀 Usage Example

docker run -d –name='qbittorrent-filebot' 
–net='br0' –ip='10.3.12.21' –ip6='2a01:d33b:f44f:985a:10:2:12:21' 
-e TZ="Europe/Paris" 
-e 'FILEBOT_ACTION'='copy' 
-e 'FILEBOT_LANG'='en' 
-e 'MOVIE_FORMAT'='{plex}' 
-e 'SERIE_FORMAT'='{plex}' 
-e 'PUID'='99' 
-e 'PGID'='100' 
-v '/mnt/user/media/':'/media':'rw' 
-v '/mnt/user/downloads':'/downloads':'rw' 
-v '/mnt/user/appdata/qbittorrent-filebot/':'/data':'rw' 
'imthai/qbittorrent-filebot'

Note: This example uses a custom network configuration. Adjust according to your needs. 🛠️

Download Statistics

41,915
Total Downloads
3,645
This Month
2,521
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Details

Repository
imthai/qbittorrent-filebot
Last Updated2026-09-26
First Seen2022-02-10

Runtime arguments

Web UI
http://[IP]:[PORT:8080]
Network
bridge
Shell
sh
Privileged
false

Template configuration

MediaPathrw
Target
/media
Value
/mnt/user/media/
DownloadsPathrw
Target
/downloads
Value
/mnt/user/downloads/
CONFIGPathrw
Target
/data
Value
/mnt/user/appdata/qbittorrent-filebot/
FILEBOT_ACTIONVariable

Choices: move | copy | symlink | hardlink | test

Default
copy
Value
copy
FILEBOT_LANGVariable

Choices: en | fr | ...

Value
en
MOVIE_FORMATVariable
Default
{plex}
SERIE_FORMATVariable
Default
{plex}
ANIME_FORMATVariable
Default
animes/{n}/{e.pad(3)} - {t}
MUSIC_FORMATVariable
Default
{plex}
PUIDVariable
Default
99
Value
99
PGIDVariable
Default
100
Value
100
WEBUIPorttcp
Target
8080
Default
8080
Value
8080
TORRENTING_TCPPorttcp
Target
6881
Default
6881
Value
6881
TORRENTING_UDPPortudp
Target
6881
Default
6881
Value
6881