
FlexGet
Multipurpose automation tool for all your media
FlexGet - Media Automation Framework
FlexGet is a powerful, plugin-based automation tool designed to automate your media workflow. Whether you’re managing torrents, nzbs, podcasts, comics, TV shows, movies, or RSS feeds, FlexGet provides a flexible framework to handle it all with ease.
What is FlexGet?
FlexGet is a multipurpose automation tool that excels at:
- Torrent Automation - Automatically download torrents from RSS feeds
- NZB Management - Handle NZB downloads and processing
- Media Organization - Sort and rename downloaded content
- Quality Management - Download specific qualities and formats
- Client Integration - Works with Deluge, qBittorrent, Transmission, rTorrent
- Web Interface - Manage tasks and monitor activity via web UI
- Flexible Configuration - YAML-based config for unlimited customization
FlexGet runs in a Python 3.11 virtual environment to ensure isolation and compatibility with your QuickBox installation.
Installation
Install from the Dashboard
Open App Dashboard → Package Management (/dashboard?mode=packages), find FlexGet in the catalog (browse the Automation category or search), and click Install. The dashboard streams the install log live and FlexGet appears in your Application Control panel when it finishes. Reinstall, Update, and Remove are available from the same panel.
What you see is gated by your account: admins manage any user’s apps; regular users manage their own. See App Management for the full flow.
The installer sets up an isolated Python 3.11 virtual environment, installs the latest FlexGet with the Deluge, qBittorrent, Transmission, and rTorrent client plugins, configures the web UI behind your nginx reverse proxy with your QuickBox credentials, and registers a systemd service for automatic startup.
While FlexGet can work standalone, it’s most useful when paired with a torrent client like Deluge, qBittorrent, Transmission, or rTorrent.
Install from the CLI (automation)
The CLI runs the same scripts as the Dashboard and is suited to automation and scripting:
qb install flexget -u username
qb reinstall flexget -u username
qb update flexget -u username
qb remove flexget -u username
qb help flexgetFull flag reference: CLI Reference.
Default Locations
FlexGet files are organized as follows:
Supported Integrations
FlexGet integrates with your entire media automation stack:
Torrent Clients
Input Sources
Media Types
Features
Enhanced Features
FlexGet on QuickBox Pro includes several advanced features:
Isolated Python Environment
Runs in a dedicated Python 3.11 virtual environment ensuring compatibility and preventing conflicts
Pre-installed Client Plugins
Deluge, qBittorrent, Transmission, and rTorrent plugins installed and ready to use
Integrated Authentication
Web UI automatically configured with your QuickBox user credentials for seamless access
Reverse Proxy Ready
Pre-configured nginx reverse proxy for secure HTTPS access through your domain
Reliable Service
Runs as a systemd service with automatic startup and proper lifecycle management
Automatic Backups
Configuration and database files backed up during installation and updates
Configuration
Accessing the Web UI
After installation, access FlexGet’s web interface:
https://yourdomain.com/username/flexgetLogin credentials:
- Username:
your-quickbox-username - Password:
your-quickbox-password
Configuration File
FlexGet uses YAML configuration at /home/username/.config/Flexget/config.yml:
web_server:
bind: 127.0.0.1
port: 5250
web_ui: yes
base_url: /username/flexget
tasks:
example:
priority: 2
rss: http://example.com/rss/rss.xmlTask Configuration
FlexGet works by defining tasks in your configuration. Each task can:
- Accept inputs (RSS feeds, HTML pages, CSV files)
- Filter content (quality, size, series tracking)
- Output to clients (download torrents, send to client)
Visit FlexGet’s official documentation for comprehensive configuration examples and plugin references.
Torrent Client Integration
FlexGet includes pre-installed plugins for popular torrent clients:
Deluge
qBittorrent
Transmission
rTorrent
Example: Deluge Integration
tasks:
tv-shows:
rss: http://example.com/tv.rss
series:
- Show Name
deluge:
host: localhost
port: 58846
username: myuser
password: mypassword
path: /home/myuser/downloads/tv/Example: qBittorrent Integration
tasks:
movies:
rss: http://example.com/movies.rss
quality: 1080p bluray
qbittorrent:
host: localhost
port: 8080
username: myuser
password: mypassword
category: moviesService Management
SystemD Service
FlexGet runs as a user-specific systemd service:
# Start FlexGet
sudo systemctl start flexget@username
# Stop FlexGet
sudo systemctl stop flexget@username
# Restart FlexGet
sudo systemctl restart flexget@username
# Check status
sudo systemctl status flexget@username
# View logs
sudo journalctl -u flexget@username -fConfiguration Reload
After editing your config.yml, reload FlexGet:
sudo systemctl reload flexget@usernameOr use the FlexGet daemon command:
/opt/username/Flexget/.venv/bin/flexget -c /home/username/.config/Flexget/config.yml daemon reloadTroubleshooting
Check Service Status
sudo systemctl status flexget@usernameView Logs
# Real-time logs
sudo journalctl -u flexget@username -f
# Last 100 lines
sudo journalctl -u flexget@username -n 100Test Configuration
/opt/username/Flexget/.venv/bin/flexget -c /home/username/.config/Flexget/config.yml checkManual Execution
Run a task manually to test:
/opt/username/Flexget/.venv/bin/flexget -c /home/username/.config/Flexget/config.yml execute --task task-nameCommon Issues
Web UI not accessible:
- Check port in
/home/username/.config/Flexget/flexget.port - Verify nginx config:
/etc/nginx/software/username.flexget.conf - Restart nginx:
sudo systemctl restart nginx
Tasks not running:
- Check config syntax:
flexget check - View daemon logs:
journalctl -u flexget@username - Verify service is running:
systemctl status flexget@username
Password not working:
- Password is synced with your QuickBox user password
- Change via:
/opt/username/Flexget/.venv/bin/flexget web passwd
If updating from an older installation using Python 3.9, the update process will automatically recreate the virtual environment with Python 3.11. This ensures compatibility with the latest FlexGet versions.
Best Practices
Do
- Test configuration with flexget check before applying changes
- Use quality filters to avoid downloading unwanted formats
- Set up series tracking to prevent duplicate downloads
- Use labels/categories in torrent clients for organization
- Keep backups of your config.yml - it's your automation recipe
- Start with simple tasks and gradually add complexity
Don't
- Don't edit config.yml while FlexGet is running without reloading
- Don't use overly broad accept rules that grab everything
- Don't forget to configure authentication for torrent client plugins
- Don't ignore the flexget check command - it catches syntax errors
- Don't run manual executions while the daemon is active
Backup & Restore
QuickBox backs up your FlexGet configuration, port file, SQLite databases, and nginx config automatically during installation and updates. Backups live under /home/username/.QuickBox/software/flexget/backup/ (and the install defaults under .../default/). Use the Application Control panel in the dashboard to back up, restore, or reset to defaults — or run a manual backup from the CLI:
qb manage software -o backup -o app -s flexget -u usernameResources
FlexGet’s power comes from its plugin ecosystem. Explore the plugin documentation to discover advanced features like trakt.tv integration, content discovery, and custom notifications.
Related Applications
FlexGet works seamlessly with these applications:
Compatible Applications
Install these applications alongside FlexGet for complete media automation
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.