-
-
Notifications
You must be signed in to change notification settings - Fork 70
Description
Describe the bug
Using a docker compose stack with MediaManager, Prowlarr, Transmission.
I setup prowlar, indexing is working showing the different options when trying to select a movie or tv show.
How ever, proceeding with downloading it gives errors.
I already added the ipv4 bind in transmission to that of the docker network ip no change.
When I add transmission as a download client in Prowlarr and try that way, it works without any issues.
Expected behavior
Torrent is handed over to transmission for downloading.
Screenshots
//
Server Logs
File "/app/.venv/lib/python3.13/site-packages/transmission_rpc/client.py", line 464, in add_torrent
return next(iter(self._request(RpcMethod.TorrentAdd, kwargs, timeout=timeout).values()))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.13/site-packages/transmission_rpc/client.py", line 291, in _request
raise TransmissionError(
...<5 lines>...
)
transmission_rpc.error.TransmissionError: Query failed with result "Couldn't fetch torrent: Moved Permanently (301)".
Version
v1.12.1
Additional context
Add any other context about the problem here.
docker-compose.yaml
version: '3.8'
networks:
homeservices:
name: homeservices
external: true
backend:
internal: true
services:
transmission:
image: linuxserver/transmission:latest
container_name: transmission
hostname: transmission
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- USER=XXXX
- PASS=XXXX
volumes:
- /home/dock/transmission/config:/config
- /home/dock:/watch
- /r1data/jellyfin/media/torrents:/downloads
ports:
- 9091:9091
- 51413:51413
- 51413:51413/udp
networks:
homeservices:
ipv4_address: 172.20.1.6
labels:
- "com.centurylinklabs.watchtower.enable=true"
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- /home/dock/prowlar:/config
ports:
- 9696:9696
networks:
- homeservices
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"
flaresolverr:
# DockerHub mirror flaresolverr/flaresolverr:latest
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
environment:
- LOG_LEVEL=${LOG_LEVEL:-info}
- LOG_HTML=${LOG_HTML:-false}
- CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
- TZ=Europe/London
ports:
- 8191:8191
restart: unless-stopped
networks:
- homeservices
labels:
- "com.centurylinklabs.watchtower.enable=true"
jellyfin:
////////
mediamanager:
container_name: mediamanager_server
user: "1000:1000"
image: ghcr.io/maxdorninger/mediamanager/mediamanager:latest
ports:
- 2598:8000/tcp
environment:
- CONFIG_DIR=/app/config
volumes:
- /r1data/jellyfin/media/:/data/
- /home/dock/mediamanager/config/:/app/config/
- /r1data/jellyfin/media/images/:/data/images/
depends_on:
mediamanager_postgres:
condition: service_healthy
networks:
- homeservices
- backend
labels:
- "com.centurylinklabs.watchtower.enable=true"
mediamanager_postgres:
container_name: mediamanager_postgres
image: postgres:17
restart: unless-stopped
volumes:
- ./postgres:/var/lib/postgresql/data
environment:
POSTGRES_USER:
POSTGRES_DB: MediaManager
POSTGRES_PASSWORD:
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
interval: 10s
timeout: 5s
retries: 5
networks:
- backend
labels:
- "com.centurylinklabs.watchtower.enable=true"
config.toml
# MediaManager Example Configuration File
# This file contains all available configuration options for MediaManager
# Documentation: https://maxdorninger.github.io/MediaManager/introduction.html
#
# This is an example configuration file that gets copied to your config folder
# on first boot. You should modify the values below to match your setup.
[misc]
# it's very likely that you need to change this for MediaManager to work
frontend_url = "http://localhost:2598" # note the lack of a trailing slash
cors_urls = ["http://localhost:2598"] # note the lack of a trailing slash
image_directory = "/data/images"
tv_directory = "/data/tv"
movie_directory = "/data/movies"
torrent_directory = "/data/torrents" # this is where MediaManager will search for the downloaded torrents and usenet files
# you probaly don't need to change this
development = false
# Custom Media Libraries
# These paths should match your volume mounts in docker-compose.yaml
# Example: if you mount "./movies:/media/movies" then use path = "/media/movies/subdirectory"
[[misc.tv_libraries]]
name = "Live Action"
path = "/data/tv/live-action" # Change this to match your actual TV shows location
[[misc.movie_libraries]]
name = "Documentary"
path = "/data/movies/documentary" # Change this to match your actual movies location
[database]
host = "mediamanager_postgres"
port = 5432
user = "XXXXX"
password = "XXXXX"
dbname = "MediaManager"
[auth]
email_password_resets = false # if true, you also need to set up SMTP (notifications.smtp_config)
token_secret = "CHANGE_ME_GENERATE_RANDOM_STRING" # generate a random string with "openssl rand -hex 32", e.g. here https://www.cryptool.org/en/cto/openssl/
session_lifetime = 86400 # this is how long you will be logged in after loggin in, in seconds
# Admin users: Users who register with these email addresses will automatically become administrators
# If no users exist in the database, a default admin user will be created with the first email in this list
admin_emails = ["admin@example.com", "admin2@example.com"]
# OpenID Connect settings
[auth.openid_connect]
enabled = false
client_id = ""
client_secret = ""
configuration_endpoint = "https://openid.example.com/.well-known/openid-configuration"
name = "OpenID"
[notifications]
# SMTP settings for email notifications and email password resets
[notifications.smtp_config]
smtp_host = "smtp.example.com"
smtp_port = 587
smtp_user = "admin"
smtp_password = "admin"
from_email = "mediamanager@example.com"
use_tls = true
# Email notification settings
[notifications.email_notifications]
enabled = false
emails = ["admin@example.com", "dd@gmail.com"] # List of email addresses to send notifications to
# Gotify notification settings
[notifications.gotify]
enabled = false
api_key = ""
url = "https://gotify.example.com"
# Ntfy notification settings
[notifications.ntfy]
enabled = false
url = "https://ntfy.sh/your-topic"
# Pushover notification settings
[notifications.pushover]
enabled = false
api_key = ""
user = ""
# Transmission settings
[torrents.transmission]
enabled = true
username = "XXXX"
password = "XXXX"
https_enabled = false
host = "172.20.1.6"
port = 9091
path = "/transmission/rpc" # RPC request path target, usually "/transmission/rpc"
[indexers]
# Prowlarr settings
[indexers.prowlarr]
enabled = true
url = "http://prowlarr:9696"
api_key = "XXXXXXX"
timeout_seconds = 60
# Title-based scoring rules
[[indexers.title_scoring_rules]]
name = "prefer_h265"
keywords = ["h265", "hevc", "x265", "h.265", "x.265"]
score_modifier = 100
negate = false
[[indexers.title_scoring_rules]]
name = "prefer_2160p"
keywords = ["2160p", "4K", "UHD", "uhd", "2160p"]
score_modifier = 100
negate = false
[[indexers.title_scoring_rules]]
name = "prefer_dolby"
keywords = ["DOLBY", "dolby", "atmos", "5.1", "surround"]
score_modifier = 100
negate = false
[[indexers.title_scoring_rules]]
name = "avoid_cam"
keywords = ["cam", "ts"]
score_modifier = -10000
negate = false
# Indexer flag-based scoring rules
[[indexers.indexer_flag_scoring_rules]]
name = "prefer_freeleech"
flags = ["freeleech", "freeleech75"]
score_modifier = 100
negate = false
[[indexers.indexer_flag_scoring_rules]]
name = "reject_nuked"
flags = ["nuked"]
score_modifier = -10000
negate = false
# Scoring rulesets
[[indexers.scoring_rule_sets]]
name = "default"
libraries = ["ALL_TV", "ALL_MOVIES"]
rule_names = ["prefer_h265", "prefer_2160p", "avoid_cam", "reject_nuked", "prefer_freeleech"]
# its very unlikely that you need to change this
[metadata]
[metadata.tmdb]
tmdb_relay_url = "https://metadata-relay.dorninger.co/tmdb"
primary_languages = [""]
default_language = "en"
[metadata.tvdb]
tvdb_relay_url = "https://metadata-relay.dorninger.co/tvdb"
- I understand, that without logs and/or screenshots and a detailed description of the problem, it is very hard to fix bugs.
- I have checked the documentation for help.
- I have searched the issues for similar issues and found none.