Skip to Content
FlexGet

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
Python-Based Framework
Note

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 and Remove are in the same Package Management panel. To update, use the amber Update badge on the FlexGet row in the App Dashboard.

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.

Torrent Client Recommended
Important

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:

bash
qb install flexget -u username
qb reinstall flexget -u username
qb update flexget -u username
qb remove flexget -u username
qb help flexget

Full flag reference: CLI Reference.

Default Locations

FlexGet files are organized as follows:

Path
Description
/opt/username/Flexget
.venv/
Python 3.11 virtual environment
bin/
Executable scripts
Path
Description
/home/username/.config/Flexget
config.yml
Main configuration file
flexget.port
Web UI port assignment
db-config.sqlite
Configuration database
db-config-jobs.sqlite
Job history database

Supported Integrations

FlexGet integrates with your entire media automation stack:

Input Sources

4
RSS FeedsHTML PagesCSV FilesTrakt.tv Lists

Media Types

5
TV ShowsMoviesPodcastsComicsMusic

Features

4
Quality FilteringSeries TrackingIMDB IntegrationWeb UI

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/flexget 

Login credentials:

  • Username: your-quickbox-username
  • Password: your-quickbox-password

Configuration File

FlexGet uses YAML configuration at /home/username/.config/Flexget/config.yml:

yaml
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.xml

Task Configuration

FlexGet works by defining tasks in your configuration. Each task can:

  1. Accept inputs (RSS feeds, HTML pages, CSV files)
  2. Filter content (quality, size, series tracking)
  3. Output to clients (download torrents, send to client)
Configuration Documentation
Tip

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

4
deluge-client pluginRPC ConnectionLabel SupportPath Configuration

qBittorrent

4
qbittorrent-api pluginWeb API IntegrationCategory SupportAutomatic Torrent Management

Transmission

4
transmission-rpc pluginRPC ConnectionBandwidth SchedulingDownload Directory

rTorrent

4
rtorrent-python pluginXMLRPC ConnectionCustom CommandsWatch Directory

Example: Deluge Integration

yaml
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

yaml
tasks:
  movies:
    rss: http://example.com/movies.rss
    quality: 1080p bluray
    qbittorrent:
      host: localhost
      port: 8080
      username: myuser
      password: mypassword
      category: movies

Service Management

SystemD Service

FlexGet runs as a user-specific systemd service:

bash
# 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 -f

Configuration Reload

After editing your config.yml, reload FlexGet:

bash
sudo systemctl reload flexget@username

Or use the FlexGet daemon command:

bash
/opt/username/Flexget/.venv/bin/flexget -c /home/username/.config/Flexget/config.yml daemon reload

Troubleshooting

Check Service Status

bash
sudo systemctl status flexget@username

View Logs

bash
# Real-time logs
sudo journalctl -u flexget@username -f
 
# Last 100 lines
sudo journalctl -u flexget@username -n 100

Test Configuration

bash
/opt/username/Flexget/.venv/bin/flexget -c /home/username/.config/Flexget/config.yml check

Manual Execution

Run a task manually to test:

bash
/opt/username/Flexget/.venv/bin/flexget -c /home/username/.config/Flexget/config.yml execute --task task-name

Common 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
Python 3.9 to 3.11 Migration
Warning

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:

bash
qb manage software -o backup -o app -s flexget -u username

Resources

Pro Tip
Info

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.


FlexGet works seamlessly with these applications:

Compatible Applications

Install these applications alongside FlexGet for complete media automation

Download Clients

3

Media Servers

3

Media Management

3

Join the Community

Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.

  • Dedicated Support
  • Feature Previews
  • Community Configs
  • Active Discussions
Join Discord Server
Last updated on