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

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.

Torrent Client Recommended

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 flexget

Full flag reference: CLI Reference.

Default Locations

FlexGet files are organized as follows:

/opt/username/Flexget
.venv/# Python 3.11 virtual environment
bin/# Executable scripts
/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

RSS FeedsHTML PagesCSV FilesTrakt.tv Lists

Media Types

TV ShowsMoviesPodcastsComicsMusic

Features

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:

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

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

deluge-client pluginRPC ConnectionLabel SupportPath Configuration

qBittorrent

qbittorrent-api pluginWeb API IntegrationCategory SupportAutomatic Torrent Management

Transmission

transmission-rpc pluginRPC ConnectionBandwidth SchedulingDownload Directory

rTorrent

rtorrent-python pluginXMLRPC ConnectionCustom CommandsWatch Directory

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: movies

Service 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 -f

Configuration Reload

After editing your config.yml, reload FlexGet:

sudo systemctl reload flexget@username

Or use the FlexGet daemon command:

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

Troubleshooting

Check Service Status

sudo systemctl status flexget@username

View Logs

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

Test Configuration

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

Manual Execution

Run a task manually to test:

/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

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 username

Resources

Pro Tip

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

Media Servers

Media Management


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