qbit_manage/docs/Docker-Installation.md
bobokun 4e08f62aaf
4.1.7 (#602)
* 4.1.7

* chore(docs): Sync wiki to docs [skip-cd]

* Bump flake8 from 7.0.0 to 7.1.0 (#585)

Bumps [flake8](https://github.com/pycqa/flake8) from 7.0.0 to 7.1.0.
- [Commits](https://github.com/pycqa/flake8/compare/7.0.0...7.1.0)

---
updated-dependencies:
- dependency-name: flake8
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump docker/build-push-action from 5 to 6 (#588)

* chore(docs): Sync wiki to docs [skip-cd]

* fix(unregistered): Ignore 520 (#592)

* fix: max vs min seeding time check (#596)

* fix: max vs min seeding time check

Allow max_seeding_time to be unlimited (-1) even if a min_seeding_time is set

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* fix pre-commit test

* fix: check tracker status in udp & wss as well (#586)

* fix: check tracker status in udp & wss as well

* bump VERSION

---------

Co-authored-by: bobokun <12660469+bobokun@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#584)

updates:
- [github.com/hhatto/autopep8: v2.2.0 → v2.3.1](https://github.com/hhatto/autopep8/compare/v2.2.0...v2.3.1)
- [github.com/asottile/pyupgrade: v3.15.2 → v3.16.0](https://github.com/asottile/pyupgrade/compare/v3.15.2...v3.16.0)
- [github.com/PyCQA/flake8: 7.0.0 → 7.1.0](https://github.com/PyCQA/flake8/compare/7.0.0...7.1.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Fixes #595 to use BHD deleted reason list instead of API

* Fixes #591 [FR]: Logging header doesn't get logged for every run

* minor fixes in #591

* Adds deprecated message for bhd attribute in config

* Fix min_seeding_time tag removal when max_seeding_time is -1 (#598)

* Update share_limits.py to fix #590

---------

Co-authored-by: bobokun <12660469+bobokun@users.noreply.github.com>

* Adds logging to mover script

* Fixes [FR]: Remove orphaned without moving to orphaned_dir #590

* Fixes bug in printing schedule mode when run is True

* Fix bug in Use BHD list of reasons instead of API #595

* Add additional BHD deletion reason #595

* Fix bug in #595 when status contains optional message

* Update mover.py: add optional arg --status-filter to allow fine tune which torrents to pauseUpdate mover.py: add optional arg --status-filter to allow fine tune which torrents to pause (#599)

* Update mover.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update mover.py: making the default behavior to only move `completed` torrents

This will leave 1) unfinished files 2) actively seeding files in `downloading` torrents in cache. This helps to keep write-heavy operation on Cache, not on hard drive.

Change this to "all" if you want this to always move everything every time.

* minor fixes in help description

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: bobokun <12660469+bobokun@users.noreply.github.com>

* modify noHL threshold to address false positives

* Add additional BHD deletion reason #595

* Bump dependabot/fetch-metadata from 2.1.0 to 2.2.0 (#601)

Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v2.1.0...v2.2.0)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 4.1.7

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Actionbot <actions@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: bakerboy448 <55419169+bakerboy448@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Amos (lflare) <me@amosng.com>
Co-authored-by: ineednewpajamas <73252768+ineednewpajamas@users.noreply.github.com>
Co-authored-by: Tony <5747393+convexshiba@users.noreply.github.com>
2024-07-05 16:55:11 -04:00

3.2 KiB

Docker Installation

A simple Dockerfile is available in this repo if you'd like to build it yourself. The official build on github is available here:
docker run -it -v <PATH_TO_CONFIG>:/config:rw ghcr.io/stuffanthings/qbit_manage:latest

  • The -v <PATH_TO_CONFIG>:/config:rw mounts the location you choose as a persistent volume to store your files.

    • Change <PATH_TO_CONFIG> to a folder where your config.yml and other files are.
    • The docker image defaults to running the config named config.yml in your persistent volume.
    • Use quotes around the whole thing if your path has spaces i.e. -v "<PATH_TO_CONFIG>:/config:rw"
  • Fill out your location for your downloads downloads folder (Root_Dir).

    1. qbit_manage needs to be able to view all torrents the way that your qbittorrent views them.
      1. Example: If you have qbittorrent mapped to /mnt/user/data/:/data This means that you MUST have qbit_managed mapped the same way.
      2. Furthermore, the config file must map the root directory you wish to monitor. This means that in our example of /data (which is how qbittorrent views the torrents) that if in your /data directory you drill down to /torrents that you'll need to update your config file to /data/torrents
    2. This could be different depending on your specific setup.
    3. The key takeaways are
      1. Both qbit_manage needs to have the same mappings as qbittorrent
      2. The config file needs to drill down (if required) further to the desired root dir.
  • remote_dir: is not required and can be commented out with #

Please see Commands for a list of arguments and docker environment variables.

Here is an example of a docker compose

version: "3.7"
services:
  qbit_manage:
    container_name: qbit_manage
    image: ghcr.io/stuffanthings/qbit_manage:latest
    volumes:
      - /mnt/user/appdata/qbit_manage/:/config:rw
      - /mnt/user/data/torrents/:/data/torrents:rw
      - /mnt/user/appdata/qbittorrent/:/qbittorrent/:ro
    environment:
      - QBT_RUN=false
      - QBT_SCHEDULE=1440
      - QBT_CONFIG=config.yml
      - QBT_LOGFILE=activity.log
      - QBT_CROSS_SEED=false
      - QBT_RECHECK=false
      - QBT_CAT_UPDATE=false
      - QBT_TAG_UPDATE=false
      - QBT_REM_UNREGISTERED=false
      - QBT_REM_ORPHANED=false
      - QBT_TAG_TRACKER_ERROR=false
      - QBT_TAG_NOHARDLINKS=false
      - QBT_SHARE_LIMITS=false
      - QBT_SKIP_CLEANUP=false
      - QBT_DRY_RUN=false
      - QBT_LOG_LEVEL=INFO
      - QBT_DIVIDER==
      - QBT_WIDTH=100
    restart: on-failure:2

You will also need to define not just the config volume but the volume to your torrents, this is in order to use the recycling bin, remove orphans and the no hard link options

Here we have /mnt/user/data/torrents/ mapped to /data/torrents/ furthermore in the config file associated with it the root_dir is mapped to /data/torrents/ We also have /mnt/user/appdata/qbittorrent/ mapped to /qbittorrent and in the config file we associated torrents_dir to /qbittorrent/data/BT_backup to use the save_torrents functionality