== qBittorrent http://172.18.0.8:8080 (password: the deploy secret, read from the container's environment)
  POST http://172.18.0.8:8080/api/v2/auth/login -> 204 ''
  session cookie name: QBT_SID_8080
  GET http://172.18.0.8:8080/api/v2/app/preferences -> 200 {add_stopped_enabled, add_to_top_of_queue, add_trackers, add_trackers_enabled, add_trackers_from_url_enabled, add_trackers_url, add_trackers_url_list, alt_dl_limit, alt_up_limit, alternative_webui_enabled, alternative_webui_path, announce_ip, announce_port, announce_to_all_tiers, announce_to_all_trac}
  before: auto_tmm_enabled=False save_path=/mnt/felhom-drives/media_a/userdata/media/torrents temp_path_enabled=True temp_path=/mnt/felhom-drives/media_a/userdata/media/torrents/.temp
  POST http://172.18.0.8:8080/api/v2/app/setPreferences -> 200 ''
  GET http://172.18.0.8:8080/api/v2/app/preferences -> 200 {add_stopped_enabled, add_to_top_of_queue, add_trackers, add_trackers_enabled, add_trackers_from_url_enabled, add_trackers_url, add_trackers_url_list, alt_dl_limit, alt_up_limit, alternative_webui_enabled, alternative_webui_path, announce_ip, announce_port, announce_to_all_tiers, announce_to_all_trac}
  after : auto_tmm_enabled=True (a category's save path applies only in automatic mode)
  GET http://172.18.0.8:8080/api/v2/torrents/categories -> 200 {}
  POST http://172.18.0.8:8080/api/v2/torrents/createCategory -> 200 ''
  POST http://172.18.0.8:8080/api/v2/torrents/createCategory -> 200 ''
  POST http://172.18.0.8:8080/api/v2/torrents/createCategory -> 200 ''
  POST http://172.18.0.8:8080/api/v2/torrents/createCategory -> 200 ''
  GET http://172.18.0.8:8080/api/v2/torrents/categories -> 200 {movies-drive-a, movies-drive-b, tv-drive-a, tv-drive-b}
  category movies-drive-a: savePath=/mnt/felhom-drives/media_a/userdata/media/torrents/movies downloadPath=/mnt/felhom-drives/media_a/userdata/media/torrents/.temp
  category movies-drive-b: savePath=/mnt/felhom-drives/media_b/userdata/media/torrents/movies downloadPath=/mnt/felhom-drives/media_b/userdata/media/torrents/.temp
  category tv-drive-a: savePath=/mnt/felhom-drives/media_a/userdata/media/torrents/tv downloadPath=/mnt/felhom-drives/media_a/userdata/media/torrents/.temp
  category tv-drive-b: savePath=/mnt/felhom-drives/media_b/userdata/media/torrents/tv downloadPath=/mnt/felhom-drives/media_b/userdata/media/torrents/.temp
== Transmission http://172.18.0.9:9091/transmission/rpc (password: the deploy secret, read from the container's environment)
  POST http://172.18.0.9:9091/transmission/rpc -> 409 '<h1>409: Conflict</h1><p>Your request had an invalid session_id header.</p><p>To fix this, follow these steps:<ol><li> 
  POST http://172.18.0.9:9091/transmission/rpc -> 200 {arguments, result}
  before: {"download-dir": "/mnt/felhom-drives/media_a/userdata/media/transmission/complete", "incomplete-dir": "/mnt/felhom-drives/media_a/userdata/media/transmission/incomplete", "incomplete-dir-enabled": true, "rename-partial-files": true}
  POST http://172.18.0.9:9091/transmission/rpc -> 409 '<h1>409: Conflict</h1><p>Your request had an invalid session_id header.</p><p>To fix this, follow these steps:<ol><li> 
  POST http://172.18.0.9:9091/transmission/rpc -> 200 {arguments, result}
  POST http://172.18.0.9:9091/transmission/rpc -> 409 '<h1>409: Conflict</h1><p>Your request had an invalid session_id header.</p><p>To fix this, follow these steps:<ol><li> 
  POST http://172.18.0.9:9091/transmission/rpc -> 200 {arguments, result}
  after : {"download-dir": "/mnt/felhom-drives/media_a/userdata/media/transmission/complete", "incomplete-dir-enabled": false, "rename-partial-files": true} (one incomplete folder for all torrents would be on drive A)
  POST http://172.18.0.9:9091/transmission/rpc -> 409 '<h1>409: Conflict</h1><p>Your request had an invalid session_id header.</p><p>To fix this, follow these steps:<ol><li> 
  POST http://172.18.0.9:9091/transmission/rpc -> 200 {arguments, result}
  probe Host: transmission:9091 -> HTTP 200 {'arguments': {'version': '4.1.3 (838877323f)'}, 'result': 'success'}
== sonarr http://172.18.0.10:8989/api/v3 (key: <ApiKey> in /config/config.xml, read from the config volume)
  GET http://172.18.0.10:8989/api/v3/tag -> 200 [list of 0]
  POST http://172.18.0.10:8989/api/v3/tag -> 201 {id, label}
  POST http://172.18.0.10:8989/api/v3/tag -> 201 {id, label}
  tags: {'drive-a': 1, 'drive-b': 2}
  GET http://172.18.0.10:8989/api/v3/rootfolder -> 200 [list of 0]
  POST http://172.18.0.10:8989/api/v3/rootfolder -> 201 {accessible, freeSpace, id, path, unmappedFolders}
  POST http://172.18.0.10:8989/api/v3/rootfolder -> 201 {accessible, freeSpace, id, path, unmappedFolders}
  GET http://172.18.0.10:8989/api/v3/rootfolder -> 200 [list of 2]
  root folder: /mnt/felhom-drives/media_a/userdata/media/tv accessible=True freeSpace=99701432320
  root folder: /mnt/felhom-drives/media_b/userdata/media/tv accessible=True freeSpace=99701567488
  GET http://172.18.0.10:8989/api/v3/downloadclient/schema -> 200 [list of 18]
  GET http://172.18.0.10:8989/api/v3/downloadclient -> 200 [list of 0]
  POST http://172.18.0.10:8989/api/v3/downloadclient -> 201 {configContract, enable, fields, id, implementation, implementationName, infoLink, name, priority, protocol, removeCompletedDownloads, removeFailedDownloads, tags}
  POST http://172.18.0.10:8989/api/v3/downloadclient -> 400 [list of 1]
  client Transmission drive-a: REFUSED by sonarr's own connection test: [{"isWarning": false, "propertyName": "TvCategory", "errorMessage": "Cannot use Category and Directory", "attemptedValue": "tv-sonarr", "severity": "error"}]
  POST http://172.18.0.10:8989/api/v3/downloadclient -> 201 {configContract, enable, fields, id, implementation, implementationName, infoLink, name, priority, protocol, removeCompletedDownloads, removeFailedDownloads, tags}
  POST http://172.18.0.10:8989/api/v3/downloadclient -> 400 [list of 1]
  client Transmission drive-b: REFUSED by sonarr's own connection test: [{"isWarning": false, "propertyName": "TvCategory", "errorMessage": "Cannot use Category and Directory", "attemptedValue": "tv-sonarr", "severity": "error"}]
  GET http://172.18.0.10:8989/api/v3/downloadclient -> 200 [list of 2]
  client qBittorrent drive-a: impl=QBittorrent enable=True tags=[1] host=qbittorrent category=tv-drive-a directory=None
  client qBittorrent drive-b: impl=QBittorrent enable=True tags=[2] host=qbittorrent category=tv-drive-b directory=None
  GET http://172.18.0.10:8989/api/v3/config/mediamanagement -> 200 {autoUnmonitorPreviouslyDownloadedEpisodes, chmodFolder, chownGroup, copyUsingHardlinks, createEmptySeriesFolders, deleteEmptyFolders, downloadPropersAndRepacks, enableMediaInfo, episodeTitleRequired, extraFileExtensions, fileDate, id, importExtraFiles, minimumFreeSpaceWhenImporting, recycleBin, recy}
  before: minimumFreeSpaceWhenImporting=100 MB, copyUsingHardlinks=True
  PUT http://172.18.0.10:8989/api/v3/config/mediamanagement/1 -> 202 {autoUnmonitorPreviouslyDownloadedEpisodes, chmodFolder, chownGroup, copyUsingHardlinks, createEmptySeriesFolders, deleteEmptyFolders, downloadPropersAndRepacks, enableMediaInfo, episodeTitleRequired, extraFileExtensions, fileDate, id, importExtraFiles, minimumFreeSpaceWhenImporting, recycleBin, recy}
  GET http://172.18.0.10:8989/api/v3/config/mediamanagement -> 200 {autoUnmonitorPreviouslyDownloadedEpisodes, chmodFolder, chownGroup, copyUsingHardlinks, createEmptySeriesFolders, deleteEmptyFolders, downloadPropersAndRepacks, enableMediaInfo, episodeTitleRequired, extraFileExtensions, fileDate, id, importExtraFiles, minimumFreeSpaceWhenImporting, recycleBin, recy}
  after : minimumFreeSpaceWhenImporting=10240 MB, copyUsingHardlinks=True (default kept)
== radarr http://172.18.0.11:7878/api/v3 (key: <ApiKey> in /config/config.xml, read from the config volume)
  GET http://172.18.0.11:7878/api/v3/tag -> 200 [list of 0]
  POST http://172.18.0.11:7878/api/v3/tag -> 201 {id, label}
  POST http://172.18.0.11:7878/api/v3/tag -> 201 {id, label}
  tags: {'drive-a': 1, 'drive-b': 2}
  GET http://172.18.0.11:7878/api/v3/rootfolder -> 200 [list of 0]
  POST http://172.18.0.11:7878/api/v3/rootfolder -> 201 {accessible, freeSpace, id, path, unmappedFolders}
  POST http://172.18.0.11:7878/api/v3/rootfolder -> 201 {accessible, freeSpace, id, path, unmappedFolders}
  GET http://172.18.0.11:7878/api/v3/rootfolder -> 200 [list of 2]
  root folder: /mnt/felhom-drives/media_a/userdata/media/movies accessible=True freeSpace=99701432320
  root folder: /mnt/felhom-drives/media_b/userdata/media/movies accessible=True freeSpace=99701567488
  GET http://172.18.0.11:7878/api/v3/downloadclient/schema -> 200 [list of 19]
  GET http://172.18.0.11:7878/api/v3/downloadclient -> 200 [list of 0]
  POST http://172.18.0.11:7878/api/v3/downloadclient -> 201 {configContract, enable, fields, id, implementation, implementationName, infoLink, name, priority, protocol, removeCompletedDownloads, removeFailedDownloads, tags}
  POST http://172.18.0.11:7878/api/v3/downloadclient -> 400 [list of 1]
  client Transmission drive-a: REFUSED by radarr's own connection test: [{"isWarning": false, "propertyName": "MovieCategory", "errorMessage": "Cannot use Category and Directory", "attemptedValue": "radarr", "severity": "error"}]
  POST http://172.18.0.11:7878/api/v3/downloadclient -> 201 {configContract, enable, fields, id, implementation, implementationName, infoLink, name, priority, protocol, removeCompletedDownloads, removeFailedDownloads, tags}
  POST http://172.18.0.11:7878/api/v3/downloadclient -> 400 [list of 1]
  client Transmission drive-b: REFUSED by radarr's own connection test: [{"isWarning": false, "propertyName": "MovieCategory", "errorMessage": "Cannot use Category and Directory", "attemptedValue": "radarr", "severity": "error"}]
  GET http://172.18.0.11:7878/api/v3/downloadclient -> 200 [list of 2]
  client qBittorrent drive-a: impl=QBittorrent enable=True tags=[1] host=qbittorrent category=movies-drive-a directory=None
  client qBittorrent drive-b: impl=QBittorrent enable=True tags=[2] host=qbittorrent category=movies-drive-b directory=None
  GET http://172.18.0.11:7878/api/v3/config/mediamanagement -> 200 {autoRenameFolders, autoUnmonitorPreviouslyDownloadedMovies, chmodFolder, chownGroup, copyUsingHardlinks, createEmptyMovieFolders, deleteEmptyFolders, downloadPropersAndRepacks, enableMediaInfo, extraFileExtensions, fileDate, id, importExtraFiles, minimumFreeSpaceWhenImporting, pathsDefaultStatic, re}
  before: minimumFreeSpaceWhenImporting=100 MB, copyUsingHardlinks=True
  PUT http://172.18.0.11:7878/api/v3/config/mediamanagement/1 -> 202 {autoRenameFolders, autoUnmonitorPreviouslyDownloadedMovies, chmodFolder, chownGroup, copyUsingHardlinks, createEmptyMovieFolders, deleteEmptyFolders, downloadPropersAndRepacks, enableMediaInfo, extraFileExtensions, fileDate, id, importExtraFiles, minimumFreeSpaceWhenImporting, pathsDefaultStatic, re}
  GET http://172.18.0.11:7878/api/v3/config/mediamanagement -> 200 {autoRenameFolders, autoUnmonitorPreviouslyDownloadedMovies, chmodFolder, chownGroup, copyUsingHardlinks, createEmptyMovieFolders, deleteEmptyFolders, downloadPropersAndRepacks, enableMediaInfo, extraFileExtensions, fileDate, id, importExtraFiles, minimumFreeSpaceWhenImporting, pathsDefaultStatic, re}
  after : minimumFreeSpaceWhenImporting=10240 MB, copyUsingHardlinks=True (default kept)
== done; Transmission reachable by its container name: True

