diff --git a/Dockerfile b/Dockerfile index 310c2ce..ee688c5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,9 +17,6 @@ LABEL version=${VERSION} LABEL description="Docker image for MediaManager" ENV MISC__IMAGE_DIRECTORY=/data/images \ - MISC__TV_DIRECTORY=/data/tv \ - MISC__MOVIE_DIRECTORY=/data/movies \ - MISC__TORRENT_DIRECTORY=/data/torrents \ PUBLIC_VERSION=${VERSION} \ CONFIG_DIR="/app/config"\ BASE_PATH=${BASE_PATH}\ diff --git a/config.example.toml b/config.example.toml index 318a36c..4092060 100644 --- a/config.example.toml +++ b/config.example.toml @@ -10,6 +10,11 @@ frontend_url = "http://localhost:8000/web/" # note the trailing slash cors_urls = ["http://localhost:8000"] # 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 @@ -41,127 +46,127 @@ session_lifetime = 86400 # this is how long you will be logged in after loggin # 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" +# 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 +# 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", "admin2@example.com"] # List of email addresses to send notifications to +# Email notification settings +[notifications.email_notifications] +enabled = false +emails = ["admin@example.com", "admin2@example.com"] # List of email addresses to send notifications to - # Gotify notification settings - [notifications.gotify] - enabled = false - api_key = "" - url = "https://gotify.example.com" +# 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" +# Ntfy notification settings +[notifications.ntfy] +enabled = false +url = "https://ntfy.sh/your-topic" - # Pushover notification settings - [notifications.pushover] - enabled = false - api_key = "" - user = "" +# Pushover notification settings +[notifications.pushover] +enabled = false +api_key = "" +user = "" [torrents] - # qBittorrent settings - [torrents.qbittorrent] - enabled = false - host = "http://localhost" - port = 8080 - username = "admin" - password = "admin" +# qBittorrent settings +[torrents.qbittorrent] +enabled = false +host = "http://localhost" +port = 8080 +username = "admin" +password = "admin" - # Transmission settings - [torrents.transmission] - enabled = false - username = "admin" - password = "admin" - https_enabled = true - host = "localhost" - port = 9091 - path = "/transmission/rpc" # RPC request path target, usually "/transmission/rpc" +# Transmission settings +[torrents.transmission] +enabled = false +username = "admin" +password = "admin" +https_enabled = true +host = "localhost" +port = 9091 +path = "/transmission/rpc" # RPC request path target, usually "/transmission/rpc" - # SABnzbd settings - [torrents.sabnzbd] - enabled = false - host = "localhost" - port = 8080 - api_key = "" +# SABnzbd settings +[torrents.sabnzbd] +enabled = false +host = "localhost" +port = 8080 +api_key = "" [indexers] - # Prowlarr settings - [indexers.prowlarr] - enabled = false - url = "http://localhost:9696" - api_key = "" +# Prowlarr settings +[indexers.prowlarr] +enabled = false +url = "http://localhost:9696" +api_key = "" - # Jackett settings - [indexers.jackett] - enabled = false - url = "http://localhost:9117" - api_key = "" - indexers = ["1337x","torrentleech"] # List of indexer names to use +# Jackett settings +[indexers.jackett] +enabled = false +url = "http://localhost:9117" +api_key = "" +indexers = ["1337x", "torrentleech"] # List of indexer names to use - # Title-based scoring rules - [[indexers.title_scoring_rules]] - name = "prefer_h265" - keywords = ["h265", "hevc", "x265", "h.265","x.265"] - score_modifier = 100 - negate = false +# 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 = "avoid_cam" - keywords = ["cam", "ts"] - score_modifier = -10000 - 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 = "reject_non_freeleech" - flags = ["freeleech", "freeleech75"] - score_modifier = -10000 - negate = true +# Indexer flag-based scoring rules +[[indexers.indexer_flag_scoring_rules]] +name = "reject_non_freeleech" +flags = ["freeleech", "freeleech75"] +score_modifier = -10000 +negate = true - [[indexers.indexer_flag_scoring_rules]] - name = "reject_nuked" - flags = ["nuked"] - score_modifier = -10000 - 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", "avoid_cam", "reject_nuked"] +# Scoring rulesets +[[indexers.scoring_rule_sets]] +name = "default" +libraries = ["ALL_TV", "ALL_MOVIES"] +rule_names = ["prefer_h265", "avoid_cam", "reject_nuked"] - [[indexers.scoring_rule_sets]] - name = "strict_quality" - libraries = ["ALL_MOVIES"] - rule_names = ["prefer_h265", "avoid_cam","reject_non_freeleech"] +[[indexers.scoring_rule_sets]] +name = "strict_quality" +libraries = ["ALL_MOVIES"] +rule_names = ["prefer_h265", "avoid_cam", "reject_non_freeleech"] # its very unlikely that you need to change this [metadata] - [metadata.tmdb] - tmdb_relay_url = "https://metadata-relay.maxid.me/tmdb" +[metadata.tmdb] +tmdb_relay_url = "https://metadata-relay.maxid.me/tmdb" - [metadata.tvdb] - tvdb_relay_url = "https://metadata-relay.maxid.me/tvdb" \ No newline at end of file +[metadata.tvdb] +tvdb_relay_url = "https://metadata-relay.maxid.me/tvdb" \ No newline at end of file diff --git a/config.toml b/config.toml index 72292a3..4092060 100644 --- a/config.toml +++ b/config.toml @@ -10,17 +10,24 @@ frontend_url = "http://localhost:8000/web/" # note the trailing slash cors_urls = ["http://localhost:8000"] # 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" +path = "/data/tv/live-action" # Change this to match your actual TV shows location [[misc.movie_libraries]] name = "Documentary" -path = "/data/movies/documentary" +path = "/data/movies/documentary" # Change this to match your actual movies location [database] host = "localhost" @@ -34,129 +41,132 @@ email_password_resets = false # if true, you also need to set up SMTP (notificat 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" +# 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 +# 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", "admin2@example.com"] # List of email addresses to send notifications to +# Email notification settings +[notifications.email_notifications] +enabled = false +emails = ["admin@example.com", "admin2@example.com"] # List of email addresses to send notifications to - # Gotify notification settings - [notifications.gotify] - enabled = false - api_key = "" - url = "https://gotify.example.com" +# 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" +# Ntfy notification settings +[notifications.ntfy] +enabled = false +url = "https://ntfy.sh/your-topic" - # Pushover notification settings - [notifications.pushover] - enabled = false - api_key = "" - user = "" +# Pushover notification settings +[notifications.pushover] +enabled = false +api_key = "" +user = "" [torrents] - # qBittorrent settings - [torrents.qbittorrent] - enabled = false - host = "http://localhost" - port = 8080 - username = "admin" - password = "admin" +# qBittorrent settings +[torrents.qbittorrent] +enabled = false +host = "http://localhost" +port = 8080 +username = "admin" +password = "admin" - # Transmission settings - [torrents.transmission] - enabled = false - username = "admin" - password = "admin" - https_enabled = true - host = "localhost" - port = 9091 - path = "/transmission/rpc" # RPC request path target, usually "/transmission/rpc" +# Transmission settings +[torrents.transmission] +enabled = false +username = "admin" +password = "admin" +https_enabled = true +host = "localhost" +port = 9091 +path = "/transmission/rpc" # RPC request path target, usually "/transmission/rpc" - # SABnzbd settings - [torrents.sabnzbd] - enabled = false - host = "localhost" - port = 8080 - api_key = "" +# SABnzbd settings +[torrents.sabnzbd] +enabled = false +host = "localhost" +port = 8080 +api_key = "" [indexers] - # Prowlarr settings - [indexers.prowlarr] - enabled = false - url = "http://localhost:9696" - api_key = "" +# Prowlarr settings +[indexers.prowlarr] +enabled = false +url = "http://localhost:9696" +api_key = "" - # Jackett settings - [indexers.jackett] - enabled = false - url = "http://localhost:9117" - api_key = "" - indexers = ["1337x","torrentleech"] # List of indexer names to use +# Jackett settings +[indexers.jackett] +enabled = false +url = "http://localhost:9117" +api_key = "" +indexers = ["1337x", "torrentleech"] # List of indexer names to use - # Title-based scoring rules - [[indexers.title_scoring_rules]] - name = "prefer_h265" - keywords = ["h265", "hevc", "x265", "h.265","x.265"] - score_modifier = 100 - negate = false +# 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 = "avoid_cam" - keywords = ["cam", "ts"] - score_modifier = -10000 - 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 = "reject_non_freeleech" - flags = ["freeleech", "freeleech75"] - score_modifier = -10000 - negate = true +# Indexer flag-based scoring rules +[[indexers.indexer_flag_scoring_rules]] +name = "reject_non_freeleech" +flags = ["freeleech", "freeleech75"] +score_modifier = -10000 +negate = true - [[indexers.indexer_flag_scoring_rules]] - name = "reject_nuked" - flags = ["nuked"] - score_modifier = -10000 - 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", "avoid_cam", "reject_nuked"] +# Scoring rulesets +[[indexers.scoring_rule_sets]] +name = "default" +libraries = ["ALL_TV", "ALL_MOVIES"] +rule_names = ["prefer_h265", "avoid_cam", "reject_nuked"] - [[indexers.scoring_rule_sets]] - name = "strict_quality" - libraries = ["ALL_MOVIES"] - rule_names = ["prefer_h265", "avoid_cam","reject_non_freeleech"] +[[indexers.scoring_rule_sets]] +name = "strict_quality" +libraries = ["ALL_MOVIES"] +rule_names = ["prefer_h265", "avoid_cam", "reject_non_freeleech"] # its very unlikely that you need to change this [metadata] - [metadata.tmdb] - tmdb_relay_url = "https://metadata-relay.maxid.me/tmdb" +[metadata.tmdb] +tmdb_relay_url = "https://metadata-relay.maxid.me/tmdb" - [metadata.tvdb] - tvdb_relay_url = "https://metadata-relay.maxid.me/tvdb" +[metadata.tvdb] +tvdb_relay_url = "https://metadata-relay.maxid.me/tvdb" \ No newline at end of file