Skip to content

qBittorrent

Description / nameInput element
Container Registry
Container Configuration Root Path
Global /downloads Path
Timezone
User ID
Group ID
qBittorrent Host Port
qBittorrent /config Path

Build Status Last Commit

Fast, stable BitTorrent client with a feature-rich web UI. Supports DHT, PEX, encryption, magnet links, RSS, IP filtering, and remote management.

Port 8080
Registry ghcr.io/daemonless/qbittorrent
Daemonless daemonless/qbittorrent
Source qbittorrent/qBittorrent
Website www.qbittorrent.org

Version Tags

Tag Description Best For
latest / pkg FreeBSD Quarterly. Uses stable, tested packages. Most users. Matches Linux Docker behavior.
pkg-latest FreeBSD Latest. Rolling package updates. Newest FreeBSD packages.

Root Privileges Required

Podman on FreeBSD currently requires root. All commands must be run as root (or via doas/sudo).

Before deploying, ensure your host environment is ready. See the Quick Start Guide for host setup instructions.

Deployment

services:
  qbittorrent:
    image: ghcr.io/daemonless/qbittorrent:latest
    container_name: qbittorrent
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=UTC
      - WEBUI_PORT=8080
      - TORRENTING_PORT=6881
      - WEBUI_PASSWORD=<WEBUI_PASSWORD>
      - WEBUI_AUTH=false
    volumes:
      - "/path/to/containers/qbittorrent:/config"
      - "/path/to/downloads:/downloads"
    ports:
      - 8080:8080
      - 6881:6881
      - 6881:6881
    restart: unless-stopped
DIRECTOR_PROJECT=qbittorrent
PUID=1000
PGID=1000
TZ=UTC
WEBUI_PORT=8080
TORRENTING_PORT=6881
WEBUI_PASSWORD=<WEBUI_PASSWORD>
WEBUI_AUTH=false
options:
  - virtualnet: ':<random> default'
  - nat:
services:
  qbittorrent:
    name: qbittorrent
    options:
      - container: 'boot args:--pull'
    oci:
      user: root
      environment:
        - PUID: !ENV '${PUID}'
        - PGID: !ENV '${PGID}'
        - TZ: !ENV '${TZ}'
        - WEBUI_PORT: !ENV '${WEBUI_PORT}'
        - TORRENTING_PORT: !ENV '${TORRENTING_PORT}'
        - WEBUI_PASSWORD: !ENV '${WEBUI_PASSWORD}'
        - WEBUI_AUTH: !ENV '${WEBUI_AUTH}'
    volumes:
      - QBITTORRENT_CONFIG_PATH: /config
      - DOWNLOADS_PATH: /downloads
volumes:
  QBITTORRENT_CONFIG_PATH:
    device: '/path/to/containers/qbittorrent'
  DOWNLOADS_PATH:
    device: '/path/to/downloads'
ARG tag=latest

OPTION overwrite=force
OPTION from=ghcr.io/daemonless/qbittorrent:${tag}
podman run -d --name qbittorrent \
  -p 8080:8080 \
  -p 6881:6881 \
  -p 6881:6881 \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=UTC \
  -e WEBUI_PORT=8080 \
  -e TORRENTING_PORT=6881 \
  -e WEBUI_PASSWORD=<WEBUI_PASSWORD> \
  -e WEBUI_AUTH=false \
  -v /path/to/containers/qbittorrent:/config \
  -v /path/to/downloads:/downloads \
  ghcr.io/daemonless/qbittorrent:latest
- name: Deploy qbittorrent
  containers.podman.podman_container:
    name: qbittorrent
    image: ghcr.io/daemonless/qbittorrent:latest
    state: started
    restart_policy: always
    env:
      PUID: "1000"
      PGID: "1000"
      TZ: "UTC"
      WEBUI_PORT: "8080"
      TORRENTING_PORT: "6881"
      WEBUI_PASSWORD: "<WEBUI_PASSWORD>"
      WEBUI_AUTH: "false"
    ports:
      - "8080:8080"
      - "6881:6881"
      - "6881:6881"
    volumes:
      - "/path/to/containers/qbittorrent:/config"
      - "/path/to/downloads:/downloads"

Access at: http://localhost:8080

Interactive Configuration

Parameters

Environment Variables

Variable Default Description
PUID 1000 User ID for the application process
PGID 1000 Group ID for the application process
TZ UTC Timezone for the container
WEBUI_PORT 8080 Web UI port (must match port mapping)
TORRENTING_PORT 6881 BitTorrent listening port for peer connections (must match port mapping)
WEBUI_PASSWORD <WEBUI_PASSWORD> Set a persistent admin password. If unset, a temporary password is generated each restart and printed to the logs.
WEBUI_AUTH false Set to 'true' to enable Web UI authentication. (Note: Upstream/FreeBSD port enables auth by default, but this image defaults to disabled).

Volumes

Path Description
/config Configuration directory
/downloads Download directory

Ports

Port Protocol Description
8080 TCP Web UI
6881 TCP BitTorrent peer connections (TCP/UDP)
6881 UDP BitTorrent peer connections (TCP/UDP)

Implementation Details

  • Architectures: amd64
  • User: bsd (UID/GID set via PUID/PGID). Defaults to 1000:1000.
  • Base: Built on ghcr.io/daemonless/base (FreeBSD 15.0).

Need help? Join our Discord community.