AIOStreamsAIOStreams
Configuration

Environment Variables

Complete reference for AIOStreams environment variables and runtime settings.

AIOStreams has two kinds of configuration:

  • Bootstrap variables — read from the environment only, before the database is available. They configure the things needed to start the process (server, database, encryption, operator auth, logging). These must be set as environment variables and cannot be changed in the dashboard.
  • Runtime settings — everything else. These are stored in the database and are best configured in the dashboard (Settings page) where they can be edited live, validated, and changed without redeploying. Every runtime setting still has a matching environment variable: if that variable is set, it becomes a locked override — the value is forced and the field is shown as read-only in the UI. Leave it unset to manage the setting from the dashboard.

Recommended approach: set only the bootstrap variables in your .env, then configure everything else from the dashboard. The .env.sample intentionally only contains bootstrap variables for this reason. Use environment overrides for runtime settings only when you need to lock a value


Bootstrap Variables (environment-only)

These are validated at startup and cannot be set from the dashboard.

Essential

VariableDefaultDescription
BASE_URL—Required. Public URL of your instance, including protocol (e.g. https://aiostreams.example.com).
SECRET_KEY—Required. 64-character hex string used to encrypt stored configurations. Generate with openssl rand -hex 32. Cannot be changed after first run. The legacy alias SESSION_SECRET is still accepted for one minor release.
PORT3000Port the server listens on.
DATABASE_URIsqlite://./data/db.sqliteDatabase connection URI. Supports SQLite and PostgreSQL (postgres://user:pass@host:port/db).
DATABASE_POOL_SIZE10Maximum PostgreSQL connections this instance opens. Request traffic, the background tasks and the watch-state import all draw from this pool, so an instance serving many clients wants more than the default. Ignored for SQLite.
DISK_CACHE_DIR<data folder>/cacheDirectory for the disk-backed caches (usenet segments, grabbed NZBs, torrent metadata). Set this to move the caches off the data folder, e.g. onto faster or non-persistent storage.
REDIS_URI—Redis URI for shared caching. Recommended for multi-instance deployments; single-container setups can leave this unset.
REDIS_TIMEOUT5000Redis client connect timeout in milliseconds.
SETTINGS_REFRESH_INTERVAL30How often (seconds) each instance polls the DB settings version and reloads runtime config if another instance changed a setting via the dashboard. Keeps multi-instance deployments consistent. Set 0 to disable on single-instance setups.
INTERNAL_URLhttp://localhost:${PORT}Internal URL used for communication with built-in addons. The default is fine for almost all setups.

SECRET_KEY is required and must be a 64-character hexadecimal string. AIOStreams will refuse to start without it, and changing it after first run makes existing encrypted configurations undecryptable.

Operator Authentication

VariableDefaultDescription
AIOSTREAMS_AUTH—Comma-separated username:password pairs defining all valid credentials. e.g. user1:pass1,user2:pass2.
AIOSTREAMS_AUTH_PERMISSIONS—Per-user permissions as comma-separated username=perm1|perm2 entries. Valid permissions: admin (dashboard + everything), createConfig (creating new configurations), proxy (built-in proxy), service (built-in usenet engine), sabnzbd (SABnzbd-compatible API), webdav (the WebDAV share), or none for login-only. Users not listed default to admin. An entry written before createConfig existed no longer allows creating configurations; add it explicitly. e.g. alice=admin,bob=proxy|service|createConfig.

Logging

These configure the logger.

VariableDefaultDescription
LOG_BUFFER_MAX_BYTES67108864Max bytes of recent log lines kept in memory for the dashboard Logs page.
LOG_BUFFER_MAX_ENTRIES200000Hard cap on recent log lines kept in memory for the dashboard Logs page.

Runtime / Build

VariableDefaultDescription
NODE_ENVproductionproduction, development, or test.
SYSTEM_LIFECYCLE_ENABLEDfalseAllow the dashboard System page to restart/stop the AIOStreams process.

Runtime Settings

Everything below is stored in the database and editable from the dashboard Settings page. The sections, groups, and labels mirror the dashboard exactly. Set the listed environment variable only if you want to lock that value (it will appear read-only in the UI). Defaults shown are the built-in defaults used when neither the environment variable nor a stored value is present.

Core

General

Environment VariableUI SettingTypeDefaultDescription
AIOSTREAMS_AUTH_REQUIREDAuth RequiredbooleanfalseWhen true, /stremio/configure requires a valid login session (any user in AIOSTREAMS_AUTH) and the config-write gate (CONFIG_ACCESS_KEY) is enforced. When false, the config page is public.
CONFIG_ACCESS_KEYConfig Access Keystring(unset)Single key embedded in a config and checked on create/update/serve. If unset while authRequired is true, one is generated and persisted automatically. Rotating it invalidates every existing config until re-saved. (secret)
SESSION_TTL_SECONDSSession TTL Secondsduration86400Lifetime of a login session before the user must log in again. Defaults to 24 hours (1d).
CONFIG_SESSIONS_ENABLEDConfig Sessions EnabledbooleantrueLets someone stay signed in to their configuration after closing the tab, using a cookie the browser cannot read rather than a stored password. Turn it off to require the UUID and password every time.
CONFIG_SESSION_TTL_SECONDSConfig Session TTL Secondsduration2592000How long a remembered sign-in survives without being used. Every use pushes it forward again. Defaults to 30 days (30d).
CONFIG_SESSION_MAX_TTL_SECONDSConfig Session Max TTL Secondsduration7776000Hard cap on a remembered sign-in, counted from when it was created and never extended by use. Defaults to 90 days (90d).
ALIASED_CONFIGURATIONSAliased Configurationsmap(unset)Map of aliases to {uuid, password} accessible at /stremio/u/<alias>/manifest.json. Env-supplied form: comma-separated alias:uuid:password entries. (secret)
ENABLE_SEARCH_APIEnable Search APIbooleantrueWhen true, the /api/v1/search endpoint is mounted and reachable. (restart required)
ENABLE_NAB_APIEnable NAB APIbooleantrueWhen true, the per-user /api/v1/newznab/api and /api/v1/torznab/api endpoints are mounted and reachable. These expose a user’s stream results to newznab/torznab clients (Prowlarr, Sonarr, Radarr) as an indexer, supporting ID and season/episode lookups only. (restart required)
PROVIDE_STREAM_DATAProvide Stream DataboolOrList—Whether stream metadata is included in Stremio stream responses. null (default) auto-detects from User-Agent (AIOStreams/* always gets it). true/false overrides for everyone. An IP list enables it only for matching request IPs.
EXPOSE_USER_COUNTExpose User CountbooleanfalseInclude the total user count on the public status endpoint.
STREMIO_ADDONS_CONFIG_ISSUERStremio Addons Config Issuerstringhttps://stremio-addons.netIssuer URL declared in the manifest for the Stremio Addons Config integration.
STREMIO_ADDONS_CONFIG_SIGNATUREStremio Addons Config Signaturestring(unset)Signed JWT for the Stremio Addons Config integration. Both issuer and signature must be set for the manifest field to be emitted. (secret)
TRUSTED_IPSTrusted Ipslist["loopback","linklocal","uniquelocal"]Comma-separated list of trusted IPs, CIDR ranges, or the named ranges loopback, linklocal and uniquelocal (the default trusts any proxy on the same host or a private network). Forwarded headers (X-Forwarded-For, X-Forwarded-Proto, X-Forwarded-Host) are only honoured from these addresses, which decides the requesting IP used for rate limiting and whether session cookies are marked Secure. User IP is always trusted via headers regardless of this setting.
MAX_JSON_BODY_SIZEMax Json Body Sizesize262144Largest JSON request body the API accepts, which bounds saved configurations and uploaded templates. Raise it if large templates are refused with a 413. (restart required)

Branding

Environment VariableUI SettingTypeDefaultDescription
ADDON_NAMEAddon NamestringAIOStreamsDisplay name shown in the manifest and UI.
ADDON_IDAddon IDstringcom.aiostreams.viren070Reverse-DNS identifier published in the manifest. (restart required)
CUSTOM_HTMLCustom Htmlstring—Optional HTML injected into the configuration page.
APP_CUSTOM_CSSApp Custom Cssstring—CSS the AIOStreams apps apply for everyone signed in to this server. Each person's own custom CSS applies on top of it, and anyone can turn it off in the app's theme settings.
ALTERNATE_DESIGNAlternate DesignbooleanfalseSwitches the frontend to the alternate design (different logo and theme).

SSO / OIDC

Environment VariableUI SettingTypeDefaultDescription
AIOSTREAMS_OIDC_ENABLEDEnabledbooleanfalseAllow operators to sign in with an OpenID Connect provider. This governs dashboard and config-page access only; it does not affect Stremio addon URLs.
AIOSTREAMS_OIDC_ISSUERIssuerstring—OIDC issuer URL. Discovery is performed against {issuer}/.well-known/openid-configuration. Copy it exactly as your provider states it, including any trailing slash. Register <BASE_URL>/api/v1/auth/oidc/callback as an allowed redirect URI with your provider.
AIOSTREAMS_OIDC_CLIENT_IDClient IDstring—OAuth client ID issued by your provider.
AIOSTREAMS_OIDC_CLIENT_SECRETClient Secretstring(unset)OAuth client secret issued by your provider. (secret)
AIOSTREAMS_OIDC_SCOPESScopeslist["openid","profile","email"]Scopes requested at login. Add the scope that carries group membership (often groups) if your provider requires one; Google and Entra ID reject an unknown groups scope.
AIOSTREAMS_OIDC_USERNAME_CLAIMUsername Claimstringpreferred_usernameClaim used as the AIOStreams username. Use sub if your provider lets users rename themselves, since a renamed user otherwise splits their audit history.
AIOSTREAMS_OIDC_LINK_BY_USERNAMELink By UsernamebooleanfalseTreat an SSO identity whose username matches an AIOSTREAMS_AUTH user as that user, rather than refusing the login. Such a session takes its permissions from AIOSTREAMS_AUTH_PERMISSIONS and the group mapping is not consulted, so the person is configured once rather than per login method. Only enable this if you control who can authenticate at your provider and who can change their own username there.
AIOSTREAMS_OIDC_USERNAME_PREFIXUsername Prefixstring—Prepended to every SSO username. Set to something like sso: to make collisions with local AIOSTREAMS_AUTH users impossible.
AIOSTREAMS_OIDC_GROUPS_CLAIMGroups ClaimstringgroupsClaim carrying group membership. If absent from the ID token, the userinfo endpoint is consulted automatically.
AIOSTREAMS_OIDC_GROUP_PERMISSIONSGroup Permissionsmap—Maps groups to permissions. Comma-separated group=perm|perm entries (valid: admin, proxy, service, sabnzbd, webdav, createConfig, none). Group names containing "," or "=" (such as LDAP DNs) must use the JSON object form instead, e.g. {"cn=admins,ou=groups,dc=example,dc=com":"admin"}.
AIOSTREAMS_OIDC_DEFAULT_PERMISSIONSDefault Permissionsstring—Permissions for an SSO user whose groups match nothing above. Empty means such a user is refused, which is the safe default. Set to admin only if every user your provider admits should administer this instance.
AIOSTREAMS_OIDC_ALLOW_LOCAL_LOGINAllow Local LoginbooleantrueKeep the AIOSTREAMS_AUTH username/password form available alongside SSO. Turning this off means a provider outage locks everyone out; recover with AIOSTREAMS_OIDC_ENABLED=false and a restart.
AIOSTREAMS_OIDC_BUTTON_LABELButton LabelstringSign in with SSOText on the SSO button on the login page.
AIOSTREAMS_OIDC_AUTO_REDIRECTAuto RedirectbooleanfalseSkip the login page and go straight to the provider. Visit /login?local=1 to reach the password form anyway.
AIOSTREAMS_OIDC_ALLOW_INSECURE_REQUESTSAllow Insecure RequestsbooleanfalsePermit a plain-http issuer URL. This exposes the client secret and tokens on the wire; use only on a trusted network.

Templates

Environment VariableUI SettingTypeDefaultDescription
FEATURED_TEMPLATE_IDSFeatured Idslist—Up to 2 template IDs featured on the about page. The first is also the one offered during first-time setup. Defaults to the first 2 available templates when unset.
TEMPLATE_URLSUrlslist—Remote template URLs to fetch and cache locally. Templates are downloaded once and refreshed on the schedule below.
TEMPLATE_REFRESH_INTERVALRefresh Intervalduration86400How often remote templates are refreshed (accepts e.g. "12h", "1d"). Set to 0 to disable automatic refresh.

Metadata

TMDB

Environment VariableUI SettingTypeDefaultDescription
TMDB_ACCESS_TOKENTMDB › Access Tokenstring(unset)TMDB Read Access Token used for strict title matching. (secret)
TMDB_API_KEYTMDB › API Keystring(unset)TMDB API key used for strict title matching. (secret)

TVDB

Environment VariableUI SettingTypeDefaultDescription
TVDB_API_KEYTVDB › API Keystring(unset)TVDB API key used for fetching metadata. (secret)

Trakt

Environment VariableUI SettingTypeDefaultDescription
TRAKT_CLIENT_IDTrakt › Client IDstring—Trakt client ID used for fetching aliases.
FETCH_TRAKT_ALIASESTrakt › Fetch AliasesbooleanfalseEnable fetching aliases from Trakt. Requires a client ID.

ID Mappings

Environment VariableUI SettingTypeDefaultDescription
ID_MAPPINGS_ENABLEDID Mappings › EnabledbooleantrueFetch a keyless cross-provider (imdb/tvdb/tmdb) ID mapping dataset used to fill missing ids without extra API calls and to enable the keyless metadata fallback. (restart required)
ID_MAPPINGS_TV_URLID Mappings › Tv URLstringhttps://raw.githubusercontent.com/0xConstant1/Wikidata-Fetcher/main/data/tv_mappings.csvURL of the TV ID mapping CSV. (restart required)
ID_MAPPINGS_MOVIE_URLID Mappings › Movie URLstringhttps://raw.githubusercontent.com/0xConstant1/Wikidata-Fetcher/main/data/movie_mappings.csvURL of the movie ID mapping CSV. (restart required)
ID_MAPPINGS_REFRESH_INTERVALID Mappings › Refresh Intervalduration86400Refresh interval for the ID mapping dataset. (restart required)

Title Conflicts

Environment VariableUI SettingTypeDefaultDescription
TITLE_CONFLICTS_ENABLEDTitle Conflicts › EnabledbooleantrueDetect same-name series (reboots and country variants, e.g. The Office UK vs US) via TMDB/TVDB search so queries and matching filters can disambiguate results.

Scene Mappings

Environment VariableUI SettingTypeDefaultDescription
SCENE_MAPPINGS_ENABLEDScene Mappings › EnabledbooleantrueFetch scene title mappings (e.g. "Stephen Colbert" for The Late Show) used for search queries and title matching. (restart required)
SCENE_MAPPINGS_URLScene Mappings › URLstringhttps://services.sonarr.tv/v1/scenemappingURL of the scene mapping list. (restart required)
SCENE_MAPPINGS_REFRESH_INTERVALScene Mappings › Refresh Intervalduration86400Refresh interval for the scene mapping list. (restart required)

Anime DB

Environment VariableUI SettingTypeDefaultDescription
ANIME_DB_LEVEL_OF_DETAILAnime DB › Level Of Detailenumrequired"none" disables the anime DB; "required" loads only required mappings; "full" loads everything. (restart required)
ANIME_DB_FRIBB_MAPPINGS_REFRESH_INTERVALAnime DB › Refresh › Fribb Mappingsduration86400Refresh interval for the Fribb anime mappings (seconds; accepts e.g. "1d"). (restart required)
ANIME_DB_MANAMI_DB_REFRESH_INTERVALAnime DB › Refresh › Manami DBduration604800Refresh interval for the anime offline database (cedya77 continuation of the Manami project). (restart required)
ANIME_DB_KITSU_IMDB_MAPPING_REFRESH_INTERVALAnime DB › Refresh › Kitsu Imdb Mappingduration86400Refresh interval for the Kitsu↔IMDB mapping. (restart required)
ANIME_DB_EXTENDED_ANITRAKT_MOVIES_REFRESH_INTERVALAnime DB › Refresh › Extended Anitrakt Moviesduration86400Refresh interval for the Extended Anitrakt movies dataset. (restart required)
ANIME_DB_EXTENDED_ANITRAKT_TV_REFRESH_INTERVALAnime DB › Refresh › Extended Anitrakt Tvduration86400Refresh interval for the Extended Anitrakt TV dataset. (restart required)
ANIME_DB_ANIME_LIST_REFRESH_INTERVALAnime DB › Refresh › Anime Listduration604800Refresh interval for the Anime List XML dataset. (restart required)
ANIME_DB_ANIMEAPI_REFRESH_INTERVALAnime DB › Refresh › Anime APIduration86400Refresh interval for the nattadasu/animeApi dataset (anidb/anilist/mal/kitsu/imdb/tmdb/tvdb/trakt mappings). (restart required)

Logging

Environment VariableUI SettingTypeDefaultDescription
LOG_LEVELLog LevelenuminfoHow much detail to log.
LOG_FORMATLog FormatenumjsonHow log lines are printed to the console. json is recommended for production.
LOG_SENSITIVE_INFOLog Sensitive InfobooleanfalseWhen true, sensitive values may appear in logs. Use only for debugging.

Network

HTTP

Environment VariableUI SettingTypeDefaultDescription
DEFAULT_USER_AGENTDefault User AgentstringAIOStreams/{version}Default User-Agent header for outbound HTTP requests. Supports {version} and {random} placeholders. (restart required)
AIOSTREAMS_USER_AGENTAiostreams User AgentstringAIOStreams/{version}User-Agent identifying AIOStreams to upstream services. Supports {version} and {random} placeholders. (restart required)
REQUEST_HEADER_OVERRIDESHostname User Agent Overridesmap—Per-key request header overrides. A key is a hostname (host, *.host, *) or a [context] label for a request purpose - [nzb_grabs], [torrent_grabs], [newznab], [torznab]. A value is a literal User-Agent (which may use the {version} / {random} placeholders, like DEFAULT_USER_AGENT) or a {preset} reference to a built-in header set ({sabnzbd}, {nzbget}, {sonarr}, {radarr}, {prowlarr}, {nzbhydra2}, {chrome}). Env shape: key1:value1,key2:value2,.... When several keys match a request the most specific one wins - exact host, then wildcard host (*.host), then [context], then global * - and the chosen value overrides the default user agent. Example: [nzb_grabs]:{sabnzbd},indexer.com:{prowlarr}
ADDON_PROXYAddon Proxylist—Outbound HTTP proxy URL(s) for this instance's own requests, such as to addons, indexers and metadata providers. Without Addon proxy config, every request uses the first one.
ADDON_PROXY_CONFIGAddon Proxy Configmap—Per-key proxy enablement / index. A key is a hostname (host, *.host, *) or a [context] label ([nzb_grabs], [torrent_grabs], [newznab], [torznab]). Env shape: key1:bool|index,... - true/false enable/disable, an index selects an addonProxy entry. When several keys match the most specific one wins - exact host, then wildcard host (*.host), then [context], then global *. Example: [newznab]:true.
REQUEST_URL_MAPPINGSRequest URL Mappingsmap—Origin-level URL rewrites applied to outbound requests. JSON object of {origin: replacement} URLs.
ALLOW_PRIVATE_URLSAllow Private UrlsbooleantrueLet this server connect to private, loopback and link-local addresses, such as http://addon:3000 on a Docker network, for any URL a user enters or an addon returns. Turn it off on a public instance, or anyone who can create a configuration can make this server send requests into your internal network. Addresses you set yourself in any setting or environment variable are always allowed.

Proxy

Encryption

Environment VariableUI SettingTypeDefaultDescription
ENCRYPT_MEDIAFLOW_URLSEncryption › MediaflowbooleantrueEncrypt MediaFlow proxy URLs surfaced to clients.
ENCRYPT_STREMTHRU_URLSEncryption › StremthrubooleantrueEncrypt StremThru proxy URLs surfaced to clients.

Default

Environment VariableUI SettingTypeDefaultDescription
DEFAULT_PROXY_ENABLEDDefault › Enabledjson—When set, used as the default proxy enabled state for new users.
DEFAULT_PROXY_IDDefault › IDstring—Default proxy service identifier.
DEFAULT_PROXY_URLDefault › URLstring—Default proxy URL.
DEFAULT_PROXY_PUBLIC_URLDefault › Public URLstring—Public-facing default proxy URL surfaced to clients (when different from the internal one).
DEFAULT_PROXY_CREDENTIALSDefault › Credentialsstring(unset)Credentials for the default proxy. (secret)
DEFAULT_PROXY_PUBLIC_IPDefault › Public IPstring—Public IP of the default proxy.
DEFAULT_PROXY_PROXIED_SERVICESDefault › Proxied Serviceslist—List of serviceIds to proxy by default. JSON array of strings.

Force

Environment VariableUI SettingTypeDefaultDescription
FORCE_PROXY_ENABLEDForce › Enabledjson—Override user choice of whether the proxy is enabled.
FORCE_PROXY_IDForce › IDstring—Override user choice of proxy service identifier.
FORCE_PROXY_URLForce › URLstring—Override user choice of proxy URL.
FORCE_PROXY_PUBLIC_URLForce › Public URLstring—Override user choice of proxy public URL.
FORCE_PROXY_CREDENTIALSForce › Credentialsstring(unset)Override user choice of proxy credentials. (secret)
FORCE_PROXY_PUBLIC_IPForce › Public IPstring—Override user choice of proxy public IP.
FORCE_PROXY_DISABLE_PROXIED_ADDONSForce › Disable Proxied AddonsbooleanfalseWhen forcing a proxy, also disable any addons that already proxy themselves.
FORCE_PROXY_PROXIED_SERVICESForce › Proxied Serviceslist—List of serviceIds to force-proxy. JSON array of strings.

IP

Environment VariableUI SettingTypeDefaultDescription
PROXY_IP_CACHE_TTLIP › Cache TTLnumber900Cache TTL for resolved proxy IPs (seconds).

Rate Limits

Environment VariableUI SettingTypeDefaultDescription
RATE_LIMIT_STOREStoreenummemoryBackend used to track rate-limit counters. (restart required)
DISABLE_RATE_LIMITSDisabledbooleanfalseWhen true, all rate limiters are disabled. (restart required)

Static

Environment VariableUI SettingTypeDefaultDescription
STATIC_RATE_LIMIT_WINDOWStatic › Windownumber5Sliding-window length (seconds) for the static file rate limiter. (restart required)
STATIC_RATE_LIMIT_MAX_REQUESTSStatic › Max Requestsnumber200Maximum requests per IP within the window for the static file rate limiter. (restart required)

User API

Environment VariableUI SettingTypeDefaultDescription
USER_API_RATE_LIMIT_WINDOWUser API › Windownumber5Sliding-window length (seconds) for the user API rate limiter. (restart required)
USER_API_RATE_LIMIT_MAX_REQUESTSUser API › Max Requestsnumber5Maximum requests per IP within the window for the user API rate limiter. (restart required)

User Create

Environment VariableUI SettingTypeDefaultDescription
USER_CREATE_RATE_LIMIT_WINDOWUser Create › Windownumber3600Sliding-window length (seconds) for the config creation rate limiter. (restart required)
USER_CREATE_RATE_LIMIT_MAX_REQUESTSUser Create › Max Requestsnumber10Maximum requests per IP within the window for the config creation rate limiter. (restart required)

Stream API

Environment VariableUI SettingTypeDefaultDescription
STREAM_API_RATE_LIMIT_WINDOWStream API › Windownumber10Sliding-window length (seconds) for the stream API rate limiter. (restart required)
STREAM_API_RATE_LIMIT_MAX_REQUESTSStream API › Max Requestsnumber5Maximum requests per IP within the window for the stream API rate limiter. (restart required)

Format API

Environment VariableUI SettingTypeDefaultDescription
FORMAT_API_RATE_LIMIT_WINDOWFormat API › Windownumber5Sliding-window length (seconds) for the format API rate limiter. (restart required)
FORMAT_API_RATE_LIMIT_MAX_REQUESTSFormat API › Max Requestsnumber30Maximum requests per IP within the window for the format API rate limiter. (restart required)

Catalog API

Environment VariableUI SettingTypeDefaultDescription
CATALOG_API_RATE_LIMIT_WINDOWCatalog API › Windownumber5Sliding-window length (seconds) for the catalog API rate limiter. (restart required)
CATALOG_API_RATE_LIMIT_MAX_REQUESTSCatalog API › Max Requestsnumber5Maximum requests per IP within the window for the catalog API rate limiter. (restart required)

Anime API

Environment VariableUI SettingTypeDefaultDescription
ANIME_API_RATE_LIMIT_WINDOWAnime API › Windownumber60Sliding-window length (seconds) for the anime API rate limiter. (restart required)
ANIME_API_RATE_LIMIT_MAX_REQUESTSAnime API › Max Requestsnumber120Maximum requests per IP within the window for the anime API rate limiter. (restart required)

App Reports

Environment VariableUI SettingTypeDefaultDescription
APP_REPORTS_RATE_LIMIT_WINDOWApp Reports › Windownumber3600Sliding-window length (seconds) for the app reports rate limiter. (restart required)
APP_REPORTS_RATE_LIMIT_MAX_REQUESTSApp Reports › Max Requestsnumber10Maximum requests per IP within the window for the app reports rate limiter. (restart required)

Stremio Stream

Environment VariableUI SettingTypeDefaultDescription
STREMIO_STREAM_RATE_LIMIT_WINDOWStremio Stream › Windownumber15Sliding-window length (seconds) for the Stremio stream rate limiter. (restart required)
STREMIO_STREAM_RATE_LIMIT_MAX_REQUESTSStremio Stream › Max Requestsnumber10Maximum requests per IP within the window for the Stremio stream rate limiter. (restart required)

Stremio Catalog

Environment VariableUI SettingTypeDefaultDescription
STREMIO_CATALOG_RATE_LIMIT_WINDOWStremio Catalog › Windownumber5Sliding-window length (seconds) for the Stremio catalog rate limiter. (restart required)
STREMIO_CATALOG_RATE_LIMIT_MAX_REQUESTSStremio Catalog › Max Requestsnumber30Maximum requests per IP within the window for the Stremio catalog rate limiter. (restart required)

Stremio Manifest

Environment VariableUI SettingTypeDefaultDescription
STREMIO_MANIFEST_RATE_LIMIT_WINDOWStremio Manifest › Windownumber5Sliding-window length (seconds) for the Stremio manifest rate limiter. (restart required)
STREMIO_MANIFEST_RATE_LIMIT_MAX_REQUESTSStremio Manifest › Max Requestsnumber5Maximum requests per IP within the window for the Stremio manifest rate limiter. (restart required)

Stremio Subtitle

Environment VariableUI SettingTypeDefaultDescription
STREMIO_SUBTITLE_RATE_LIMIT_WINDOWStremio Subtitle › Windownumber5Sliding-window length (seconds) for the Stremio subtitle rate limiter. (restart required)
STREMIO_SUBTITLE_RATE_LIMIT_MAX_REQUESTSStremio Subtitle › Max Requestsnumber10Maximum requests per IP within the window for the Stremio subtitle rate limiter. (restart required)

Stremio Meta

Environment VariableUI SettingTypeDefaultDescription
STREMIO_META_RATE_LIMIT_WINDOWStremio Meta › Windownumber5Sliding-window length (seconds) for the Stremio meta rate limiter. (restart required)
STREMIO_META_RATE_LIMIT_MAX_REQUESTSStremio Meta › Max Requestsnumber15Maximum requests per IP within the window for the Stremio meta rate limiter. (restart required)

Linked Accounts API

Environment VariableUI SettingTypeDefaultDescription
LINKED_ACCOUNTS_API_RATE_LIMIT_WINDOWLinked Accounts API › Windownumber60Sliding-window length (seconds) for the linked accounts API rate limiter. (restart required)
LINKED_ACCOUNTS_API_RATE_LIMIT_MAX_REQUESTSLinked Accounts API › Max Requestsnumber20Maximum requests per IP within the window for the linked accounts API rate limiter. (restart required)

Community API

Environment VariableUI SettingTypeDefaultDescription
COMMUNITY_API_RATE_LIMIT_WINDOWCommunity API › Windownumber60Sliding-window length (seconds) for the community API rate limiter. (restart required)
COMMUNITY_API_RATE_LIMIT_MAX_REQUESTSCommunity API › Max Requestsnumber60Maximum requests per IP within the window for the community API rate limiter. (restart required)

Sync API

Environment VariableUI SettingTypeDefaultDescription
SYNC_API_RATE_LIMIT_WINDOWSync API › Windownumber60Sliding-window length (seconds) for the sync resolve API rate limiter. (restart required)
SYNC_API_RATE_LIMIT_MAX_REQUESTSSync API › Max Requestsnumber20Maximum requests per IP within the window for the sync resolve API rate limiter. (restart required)

Media Info API

Environment VariableUI SettingTypeDefaultDescription
MEDIA_INFO_API_RATE_LIMIT_WINDOWMedia Info API › Windownumber60Sliding-window length (seconds) for the media info lookup API rate limiter. (restart required)
MEDIA_INFO_API_RATE_LIMIT_MAX_REQUESTSMedia Info API › Max Requestsnumber120Maximum requests per IP within the window for the media info lookup API rate limiter. (restart required)

Login

Environment VariableUI SettingTypeDefaultDescription
LOGIN_RATE_LIMIT_WINDOWLogin › Windownumber300Sliding-window length (seconds) for the login rate limiter. (restart required)
LOGIN_RATE_LIMIT_MAX_REQUESTSLogin › Max Requestsnumber5Maximum requests per IP within the window for the login rate limiter. (restart required)

OIDC

Environment VariableUI SettingTypeDefaultDescription
OIDC_RATE_LIMIT_WINDOWOIDC › Windownumber300Sliding-window length (seconds) for the SSO login rate limiter. (restart required)
OIDC_RATE_LIMIT_MAX_REQUESTSOIDC › Max Requestsnumber20Maximum requests per IP within the window for the SSO login rate limiter. (restart required)

Jellyfin Login

Environment VariableUI SettingTypeDefaultDescription
JELLYFIN_LOGIN_RATE_LIMIT_WINDOWJellyfin Login › Windownumber300Sliding-window length (seconds) for the Jellyfin login rate limiter. (restart required)
JELLYFIN_LOGIN_RATE_LIMIT_MAX_REQUESTSJellyfin Login › Max Requestsnumber10Maximum requests per IP within the window for the Jellyfin login rate limiter. (restart required)

Jellyfin API

Environment VariableUI SettingTypeDefaultDescription
JELLYFIN_API_RATE_LIMIT_WINDOWJellyfin API › Windownumber30Sliding-window length (seconds) for the Jellyfin API rate limiter. (restart required)
JELLYFIN_API_RATE_LIMIT_MAX_REQUESTSJellyfin API › Max Requestsnumber250Maximum requests per IP within the window for the Jellyfin API rate limiter. (restart required)

Jellyfin Image

Environment VariableUI SettingTypeDefaultDescription
JELLYFIN_IMAGE_RATE_LIMIT_WINDOWJellyfin Image › Windownumber30Sliding-window length (seconds) for the Jellyfin image rate limiter. (restart required)
JELLYFIN_IMAGE_RATE_LIMIT_MAX_REQUESTSJellyfin Image › Max Requestsnumber1200Maximum requests per IP within the window for the Jellyfin image rate limiter. (restart required)

Content

Services

Environment VariableUI SettingTypeDefaultDescription
DEFAULT_SERVICE_CREDENTIALSDefault Credentialsmap(unset)Default credentials pre-filled into user configurations when not provided. Format: one serviceId.credentialId=value entry per line (use \n if your environment cannot store multiline values). Service IDs: realdebrid, alldebrid, premiumize, debridlink, torbox, torrin, offcloud, putio, easynews, easydebrid, debrider, pikpak, seedr, nzbdav, altmount, stremio_nntp, stremthru_newz, aiostreams. Credential IDs vary by service (e.g. apiKey, username, password, clientId, encodedToken). Example: realdebrid.apiKey=xxx / easynews.username=user / easynews.password=pass. (secret)
FORCED_SERVICE_CREDENTIALSForced Credentialsmap(unset)Credentials that override whatever the user has configured and are hidden from the configuration UI. Same serviceId.credentialId=value per-line format and service/credential IDs as DEFAULT*SERVICE_CREDENTIALS. *(secret)_

Presets

Environment VariableUI SettingTypeDefaultDescription
DEFAULT_TIMEOUTDefault Timeoutnumber7000Fallback timeout for preset stream fetching when a preset does not set its own (milliseconds).

Comet

Environment VariableUI SettingTypeDefaultDescription
COMET_URLComet › URLlist["https://comet.feels.legal"]Upstream URL(s) for the Comet addon.
DEFAULT_COMET_TIMEOUTComet › Default Timeoutnumber—Default timeout for the Comet addon (milliseconds). Falls back to the global default when unset.
DEFAULT_COMET_USER_AGENTComet › Default User Agentstring—Default User-Agent for the Comet addon. Supports {version}/{random} placeholders.
COMET_PUBLIC_API_TOKENComet › Public API Tokenlist—Public API token(s) used by Comet. JSON array or single string.

Meteor

Environment VariableUI SettingTypeDefaultDescription
METEOR_URLMeteor › URLlist["https://meteorfortheweebs.midnightignite.me"]Upstream URL(s) for the Meteor addon.
DEFAULT_METEOR_TIMEOUTMeteor › Default Timeoutnumber—Default timeout for the Meteor addon (milliseconds). Falls back to the global default when unset.
DEFAULT_METEOR_USER_AGENTMeteor › Default User Agentstring—Default User-Agent for the Meteor addon. Supports {version}/{random} placeholders.

Mediafusion

Environment VariableUI SettingTypeDefaultDescription
MEDIAFUSION_URLMediafusion › URLlist["https://mediafusion.elfhosted.com"]Upstream URL(s) for the MediaFusion addon.
DEFAULT_MEDIAFUSION_TIMEOUTMediafusion › Default Timeoutnumber—Default timeout for the MediaFusion addon (milliseconds). Falls back to the global default when unset.
DEFAULT_MEDIAFUSION_USER_AGENTMediafusion › Default User Agentstring—Default User-Agent for the MediaFusion addon. Supports {version}/{random} placeholders.
MEDIAFUSION_API_PASSWORDMediafusion › API Passwordstring(unset)API password sent to MediaFusion. (secret)
MEDIAFUSION_DEFAULT_USE_CACHED_RESULTS_ONLYMediafusion › Default Use Cached Results OnlybooleantrueDefault value of MediaFusion's "cached results only" toggle.
MEDIAFUSION_FORCED_USE_CACHED_RESULTS_ONLYMediafusion › Forced Use Cached Results Onlyjson—When set, overrides users' "cached results only" toggle.

Jackettio

Environment VariableUI SettingTypeDefaultDescription
JACKETTIO_URLJackettio › URLlist["https://jackettio.elfhosted.com"]Upstream URL(s) for the Jackettio addon.
DEFAULT_JACKETTIO_TIMEOUTJackettio › Default Timeoutnumber—Default timeout for the Jackettio addon (milliseconds). Falls back to the global default when unset.
DEFAULT_JACKETTIO_USER_AGENTJackettio › Default User Agentstring—Default User-Agent for the Jackettio addon. Supports {version}/{random} placeholders.
DEFAULT_JACKETTIO_INDEXERSJackettio › Default Indexerslist["eztv","thepiratebay","therarbg","yts"]Default indexer list applied when creating Jackettio configs. JSON array of strings.
DEFAULT_JACKETTIO_STREMTHRU_URLJackettio › Default Stremthru URLstringhttps://stremthru.13377001.xyzDefault StremThru URL passed to new Jackettio configs.

Torrentio

Environment VariableUI SettingTypeDefaultDescription
TORRENTIO_URLTorrentio › URLlist["https://torrentio.strem.fun"]Upstream URL(s) for the Torrentio addon.
DEFAULT_TORRENTIO_TIMEOUTTorrentio › Default Timeoutnumber—Default timeout for the Torrentio addon (milliseconds). Falls back to the global default when unset.
DEFAULT_TORRENTIO_USER_AGENTTorrentio › Default User Agentstring—Default User-Agent for the Torrentio addon. Supports {version}/{random} placeholders.

Orion

Environment VariableUI SettingTypeDefaultDescription
ORION_STREMIO_ADDON_URLOrion › URLlist["https://5a0d1888fa64-orion.baby-beamup.club"]Upstream URL(s) for the Orion addon.
DEFAULT_ORION_TIMEOUTOrion › Default Timeoutnumber—Default timeout for the Orion addon (milliseconds). Falls back to the global default when unset.
DEFAULT_ORION_USER_AGENTOrion › Default User Agentstring—Default User-Agent for the Orion addon. Supports {version}/{random} placeholders.

Peerflix

Environment VariableUI SettingTypeDefaultDescription
PEERFLIX_URLPeerflix › URLlist["https://addon.peerflix.mov"]Upstream URL(s) for the Peerflix addon.
DEFAULT_PEERFLIX_TIMEOUTPeerflix › Default Timeoutnumber—Default timeout for the Peerflix addon (milliseconds). Falls back to the global default when unset.
DEFAULT_PEERFLIX_USER_AGENTPeerflix › Default User Agentstring—Default User-Agent for the Peerflix addon. Supports {version}/{random} placeholders.

Torbox

Environment VariableUI SettingTypeDefaultDescription
TORBOX_STREMIO_URLTorbox › URLlist["https://stremio.torbox.app"]Upstream URL(s) for the Torbox addon.
DEFAULT_TORBOX_TIMEOUTTorbox › Default Timeoutnumber—Default timeout for the Torbox addon (milliseconds). Falls back to the global default when unset.
DEFAULT_TORBOX_USER_AGENTTorbox › Default User Agentstring—Default User-Agent for the Torbox addon. Supports {version}/{random} placeholders.

Easynews

Environment VariableUI SettingTypeDefaultDescription
EASYNEWS_URLEasynews › URLlist["https://ea627ddf0ee7-easynews.baby-beamup.club"]Upstream URL(s) for the Easynews addon.
DEFAULT_EASYNEWS_TIMEOUTEasynews › Default Timeoutnumber—Default timeout for the Easynews addon (milliseconds). Falls back to the global default when unset.
DEFAULT_EASYNEWS_USER_AGENTEasynews › Default User Agentstring—Default User-Agent for the Easynews addon. Supports {version}/{random} placeholders.

Easynews Plus

Environment VariableUI SettingTypeDefaultDescription
EASYNEWS_PLUS_URLEasynews Plus › URLlist["https://b89262c192b0-stremio-easynews-addon.baby-beamup.club"]Upstream URL(s) for the Easynews+ addon.
DEFAULT_EASYNEWS_PLUS_TIMEOUTEasynews Plus › Default Timeoutnumber—Default timeout for the Easynews+ addon (milliseconds). Falls back to the global default when unset.
DEFAULT_EASYNEWS_PLUS_USER_AGENTEasynews Plus › Default User Agentstring—Default User-Agent for the Easynews+ addon. Supports {version}/{random} placeholders.

Easynews Plus Plus

Environment VariableUI SettingTypeDefaultDescription
EASYNEWS_PLUS_PLUS_URLEasynews Plus Plus › URLlist["https://easynews-cloudflare-worker.jqrw92fchz.workers.dev"]Upstream URL(s) for the Easynews++ addon.
DEFAULT_EASYNEWS_PLUS_PLUS_TIMEOUTEasynews Plus Plus › Default Timeoutnumber—Default timeout for the Easynews++ addon (milliseconds). Falls back to the global default when unset.
DEFAULT_EASYNEWS_PLUS_PLUS_USER_AGENTEasynews Plus Plus › Default User Agentstring—Default User-Agent for the Easynews++ addon. Supports {version}/{random} placeholders.
EASYNEWS_PLUS_PLUS_PUBLIC_URLEasynews Plus Plus › Public URLstring—Public-facing URL surfaced to clients (when different from the internal one).

Debridio

Environment VariableUI SettingTypeDefaultDescription
DEBRIDIO_URLDebridio › URLlist["https://addon.debridio.com"]Upstream URL(s) for the Debridio addon.
DEFAULT_DEBRIDIO_TIMEOUTDebridio › Default Timeoutnumber—Default timeout for the Debridio addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DEBRIDIO_USER_AGENTDebridio › Default User Agentstring—Default User-Agent for the Debridio addon. Supports {version}/{random} placeholders.

Debridio TVDB

Environment VariableUI SettingTypeDefaultDescription
DEBRIDIO_TVDB_URLDebridio TVDB › URLlist["https://tvdb-addon.debridio.com"]Upstream URL(s) for the Debridio TVDB addon.
DEFAULT_DEBRIDIO_TVDB_TIMEOUTDebridio TVDB › Default Timeoutnumber—Default timeout for the Debridio TVDB addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DEBRIDIO_TVDB_USER_AGENTDebridio TVDB › Default User Agentstring—Default User-Agent for the Debridio TVDB addon. Supports {version}/{random} placeholders.

Debridio TMDB

Environment VariableUI SettingTypeDefaultDescription
DEBRIDIO_TMDB_URLDebridio TMDB › URLlist["https://tmdb-addon.debridio.com"]Upstream URL(s) for the Debridio TMDB addon.
DEFAULT_DEBRIDIO_TMDB_TIMEOUTDebridio TMDB › Default Timeoutnumber—Default timeout for the Debridio TMDB addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DEBRIDIO_TMDB_USER_AGENTDebridio TMDB › Default User Agentstring—Default User-Agent for the Debridio TMDB addon. Supports {version}/{random} placeholders.

Debridio Tv

Environment VariableUI SettingTypeDefaultDescription
DEBRIDIO_TV_URLDebridio Tv › URLlist["https://tv.lb.debridio.com"]Upstream URL(s) for the Debridio TV addon.
DEFAULT_DEBRIDIO_TV_TIMEOUTDebridio Tv › Default Timeoutnumber—Default timeout for the Debridio TV addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DEBRIDIO_TV_USER_AGENTDebridio Tv › Default User Agentstring—Default User-Agent for the Debridio TV addon. Supports {version}/{random} placeholders.

Debridio Watchtower

Environment VariableUI SettingTypeDefaultDescription
DEBRIDIO_WATCHTOWER_URLDebridio Watchtower › URLlist["https://wt-addon.debridio.com"]Upstream URL(s) for the Debridio Watchtower addon.
DEFAULT_DEBRIDIO_WATCHTOWER_TIMEOUTDebridio Watchtower › Default Timeoutnumber—Default timeout for the Debridio Watchtower addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DEBRIDIO_WATCHTOWER_USER_AGENTDebridio Watchtower › Default User Agentstring—Default User-Agent for the Debridio Watchtower addon. Supports {version}/{random} placeholders.

Debridio Ic4a

Environment VariableUI SettingTypeDefaultDescription
DEBRIDIO_IC4A_URLDebridio Ic4a › URLlist["https://ic4a.lb.debridio.com"]Upstream URL(s) for the Debridio IC4A addon.
DEFAULT_DEBRIDIO_IC4A_TIMEOUTDebridio Ic4a › Default Timeoutnumber—Default timeout for the Debridio IC4A addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DEBRIDIO_IC4A_USER_AGENTDebridio Ic4a › Default User Agentstring—Default User-Agent for the Debridio IC4A addon. Supports {version}/{random} placeholders.

Stremthru Store

Environment VariableUI SettingTypeDefaultDescription
STREMTHRU_STORE_URLStremthru Store › URLlist["https://stremthru.13377001.xyz/stremio/store"]Upstream URL(s) for the StremThru Store addon.
DEFAULT_STREMTHRU_STORE_TIMEOUTStremthru Store › Default Timeoutnumber—Default timeout for the StremThru Store addon (milliseconds). Falls back to the global default when unset.
DEFAULT_STREMTHRU_STORE_USER_AGENTStremthru Store › Default User Agentstring—Default User-Agent for the StremThru Store addon. Supports {version}/{random} placeholders.

Stremthru Torz

Environment VariableUI SettingTypeDefaultDescription
STREMTHRU_TORZ_URLStremthru Torz › URLlist["https://stremthru.13377001.xyz/stremio/torz"]Upstream URL(s) for the StremThru Torz addon.
DEFAULT_STREMTHRU_TORZ_TIMEOUTStremthru Torz › Default Timeoutnumber—Default timeout for the StremThru Torz addon (milliseconds). Falls back to the global default when unset.
DEFAULT_STREMTHRU_TORZ_USER_AGENTStremthru Torz › Default User Agentstring—Default User-Agent for the StremThru Torz addon. Supports {version}/{random} placeholders.

Streamfusion

Environment VariableUI SettingTypeDefaultDescription
DEFAULT_STREAMFUSION_URLStreamfusion › URLlist["https://stream-fusion.stremiofr.com"]Upstream URL(s) for the StreamFusion addon.
DEFAULT_STREAMFUSION_TIMEOUTStreamfusion › Default Timeoutnumber—Default timeout for the StreamFusion addon (milliseconds). Falls back to the global default when unset.
DEFAULT_STREAMFUSION_USER_AGENTStreamfusion › Default User Agentstring—Default User-Agent for the StreamFusion addon. Supports {version}/{random} placeholders.

Sootio

Environment VariableUI SettingTypeDefaultDescription
SOOTIO_URLSootio › URLlist["https://sooti.click"]Upstream URL(s) for the Sootio addon.
DEFAULT_SOOTIO_TIMEOUTSootio › Default Timeoutnumber—Default timeout for the Sootio addon (milliseconds). Falls back to the global default when unset.
DEFAULT_SOOTIO_USER_AGENTSootio › Default User Agentstring—Default User-Agent for the Sootio addon. Supports {version}/{random} placeholders.

Dmm Cast

Environment VariableUI SettingTypeDefaultDescription
DEFAULT_DMM_CAST_TIMEOUTDmm Cast › Default Timeoutnumber—Default timeout for the DMM Cast addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DMM_CAST_USER_AGENTDmm Cast › Default User Agentstring—Default User-Agent for the DMM Cast addon. Supports {version}/{random} placeholders.

Opensubtitles

Environment VariableUI SettingTypeDefaultDescription
OPENSUBTITLES_URLOpensubtitles › URLlist["https://opensubtitles-v3.strem.io"]Upstream URL(s) for the OpenSubtitles addon.
DEFAULT_OPENSUBTITLES_TIMEOUTOpensubtitles › Default Timeoutnumber—Default timeout for the OpenSubtitles addon (milliseconds). Falls back to the global default when unset.
DEFAULT_OPENSUBTITLES_USER_AGENTOpensubtitles › Default User Agentstring—Default User-Agent for the OpenSubtitles addon. Supports {version}/{random} placeholders.

Opensubtitles V3 Plus

Environment VariableUI SettingTypeDefaultDescription
OPENSUBTITLES_V3_PLUS_URLOpensubtitles V3 Plus › URLlist["https://opensubtitles.stremio.homes"]Upstream URL(s) for the OpenSubtitles V3+ addon.
DEFAULT_OPENSUBTITLES_V3_PLUS_TIMEOUTOpensubtitles V3 Plus › Default Timeoutnumber—Default timeout for the OpenSubtitles V3+ addon (milliseconds). Falls back to the global default when unset.
DEFAULT_OPENSUBTITLES_V3_PLUS_USER_AGENTOpensubtitles V3 Plus › Default User Agentstring—Default User-Agent for the OpenSubtitles V3+ addon. Supports {version}/{random} placeholders.

Marvel Universe

Environment VariableUI SettingTypeDefaultDescription
MARVEL_UNIVERSE_URLMarvel Universe › URLlist["https://addon-marvel.gonp.deno.net"]Upstream URL(s) for the Marvel Universe addon.
DEFAULT_MARVEL_CATALOG_TIMEOUTMarvel Universe › Default Timeoutnumber—Default timeout for the Marvel Universe addon (milliseconds). Falls back to the global default when unset.
DEFAULT_MARVEL_CATALOG_USER_AGENTMarvel Universe › Default User Agentstring—Default User-Agent for the Marvel Universe addon. Supports {version}/{random} placeholders.

Dc Universe

Environment VariableUI SettingTypeDefaultDescription
DC_UNIVERSE_URLDc Universe › URLlist["https://addon-dc-cq85.onrender.com"]Upstream URL(s) for the DC Universe addon.
DEFAULT_DC_UNIVERSE_TIMEOUTDc Universe › Default Timeoutnumber—Default timeout for the DC Universe addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DC_UNIVERSE_USER_AGENTDc Universe › Default User Agentstring—Default User-Agent for the DC Universe addon. Supports {version}/{random} placeholders.

Star Wars Universe

Environment VariableUI SettingTypeDefaultDescription
DEFAULT_STAR_WARS_UNIVERSE_URLStar Wars Universe › URLlist["https://addon-star-wars-u9e3.onrender.com"]Upstream URL(s) for the Star Wars Universe addon.
DEFAULT_STAR_WARS_UNIVERSE_TIMEOUTStar Wars Universe › Default Timeoutnumber—Default timeout for the Star Wars Universe addon (milliseconds). Falls back to the global default when unset.
DEFAULT_STAR_WARS_UNIVERSE_USER_AGENTStar Wars Universe › Default User Agentstring—Default User-Agent for the Star Wars Universe addon. Supports {version}/{random} placeholders.

Anime Kitsu

Environment VariableUI SettingTypeDefaultDescription
ANIME_KITSU_URLAnime Kitsu › URLlist["https://anime-kitsu.strem.fun"]Upstream URL(s) for the Anime Kitsu addon.
DEFAULT_ANIME_KITSU_TIMEOUTAnime Kitsu › Default Timeoutnumber—Default timeout for the Anime Kitsu addon (milliseconds). Falls back to the global default when unset.
DEFAULT_ANIME_KITSU_USER_AGENTAnime Kitsu › Default User Agentstring—Default User-Agent for the Anime Kitsu addon. Supports {version}/{random} placeholders.

Nuvio Streams

Environment VariableUI SettingTypeDefaultDescription
NUVIOSTREAMS_URLNuvio Streams › URLlist["https://nuviostreams.hayd.uk"]Upstream URL(s) for the NuvioStreams addon.
DEFAULT_NUVIOSTREAMS_TIMEOUTNuvio Streams › Default Timeoutnumber—Default timeout for the NuvioStreams addon (milliseconds). Falls back to the global default when unset.
DEFAULT_NUVIOSTREAMS_USER_AGENTNuvio Streams › Default User Agentstring—Default User-Agent for the NuvioStreams addon. Supports {version}/{random} placeholders.

Torrent Catalogs

Environment VariableUI SettingTypeDefaultDescription
TORRENT_CATALOGS_URLTorrent Catalogs › URLlist["https://torrent-catalogs.strem.fun"]Upstream URL(s) for the Torrent Catalogs addon.
DEFAULT_TORRENT_CATALOGS_TIMEOUTTorrent Catalogs › Default Timeoutnumber—Default timeout for the Torrent Catalogs addon (milliseconds). Falls back to the global default when unset.
DEFAULT_TORRENT_CATALOGS_USER_AGENTTorrent Catalogs › Default User Agentstring—Default User-Agent for the Torrent Catalogs addon. Supports {version}/{random} placeholders.

TMDB Collections

Environment VariableUI SettingTypeDefaultDescription
TMDB_COLLECTIONS_URLTMDB Collections › URLlist["https://61ab9c85a149-tmdb-collections.baby-beamup.club"]Upstream URL(s) for the TMDB Collections addon.
DEFAULT_TMDB_COLLECTIONS_TIMEOUTTMDB Collections › Default Timeoutnumber—Default timeout for the TMDB Collections addon (milliseconds). Falls back to the global default when unset.
DEFAULT_TMDB_COLLECTIONS_USER_AGENTTMDB Collections › Default User Agentstring—Default User-Agent for the TMDB Collections addon. Supports {version}/{random} placeholders.

RPDB Catalogs

Environment VariableUI SettingTypeDefaultDescription
RPDB_CATALOGS_URLRPDB Catalogs › URLlist["https://1fe84bc728af-rpdb.baby-beamup.club"]Upstream URL(s) for the RPDB Catalogs addon.
DEFAULT_RPDB_CATALOGS_TIMEOUTRPDB Catalogs › Default Timeoutnumber—Default timeout for the RPDB Catalogs addon (milliseconds). Falls back to the global default when unset.
DEFAULT_RPDB_CATALOGS_USER_AGENTRPDB Catalogs › Default User Agentstring—Default User-Agent for the RPDB Catalogs addon. Supports {version}/{random} placeholders.

Streaming Catalogs

Environment VariableUI SettingTypeDefaultDescription
STREAMING_CATALOGS_URLStreaming Catalogs › URLlist["https://7a82163c306e-stremio-netflix-catalog-addon.baby-beamup.club"]Upstream URL(s) for the Streaming Catalogs addon.
DEFAULT_STREAMING_CATALOGS_TIMEOUTStreaming Catalogs › Default Timeoutnumber—Default timeout for the Streaming Catalogs addon (milliseconds). Falls back to the global default when unset.
DEFAULT_STREAMING_CATALOGS_USER_AGENTStreaming Catalogs › Default User Agentstring—Default User-Agent for the Streaming Catalogs addon. Supports {version}/{random} placeholders.

Anime Catalogs

Environment VariableUI SettingTypeDefaultDescription
ANIME_CATALOGS_URLAnime Catalogs › URLlist["https://1fe84bc728af-stremio-anime-catalogs.baby-beamup.club"]Upstream URL(s) for the Anime Catalogs addon.
DEFAULT_ANIME_CATALOGS_TIMEOUTAnime Catalogs › Default Timeoutnumber—Default timeout for the Anime Catalogs addon (milliseconds). Falls back to the global default when unset.
DEFAULT_ANIME_CATALOGS_USER_AGENTAnime Catalogs › Default User Agentstring—Default User-Agent for the Anime Catalogs addon. Supports {version}/{random} placeholders.

Doctor Who Universe

Environment VariableUI SettingTypeDefaultDescription
DOCTOR_WHO_UNIVERSE_URLDoctor Who Universe › URLlist["https://new-who.onrender.com"]Upstream URL(s) for the Doctor Who Universe addon.
DEFAULT_DOCTOR_WHO_UNIVERSE_TIMEOUTDoctor Who Universe › Default Timeoutnumber—Default timeout for the Doctor Who Universe addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DOCTOR_WHO_UNIVERSE_USER_AGENTDoctor Who Universe › Default User Agentstring—Default User-Agent for the Doctor Who Universe addon. Supports {version}/{random} placeholders.

Webstreamr

Environment VariableUI SettingTypeDefaultDescription
WEBSTREAMR_URLWebstreamr › URLlist["https://87d6a6ef6b58-webstreamrmbg.baby-beamup.club"]Upstream URL(s) for the WebStreamr addon.
DEFAULT_WEBSTREAMR_TIMEOUTWebstreamr › Default Timeoutnumber—Default timeout for the WebStreamr addon (milliseconds). Falls back to the global default when unset.
DEFAULT_WEBSTREAMR_USER_AGENTWebstreamr › Default User Agentstring—Default User-Agent for the WebStreamr addon. Supports {version}/{random} placeholders.

Hdhub

Environment VariableUI SettingTypeDefaultDescription
HDHUB_URLHdhub › URLlist["https://hdhub.thevolecitor.qzz.io"]Upstream URL(s) for the HdHub addon.
DEFAULT_HDHUB_TIMEOUTHdhub › Default Timeoutnumber—Default timeout for the HdHub addon (milliseconds). Falls back to the global default when unset.
DEFAULT_HDHUB_USER_AGENTHdhub › Default User Agentstring—Default User-Agent for the HdHub addon. Supports {version}/{random} placeholders.

Baguettio

Environment VariableUI SettingTypeDefaultDescription
BAGUETTIO_URLBaguettio › URLlist["https://baguettio.org"]Upstream URL(s) for the Baguettio addon.
DEFAULT_BAGUETTIO_TIMEOUTBaguettio › Default Timeoutnumber—Default timeout for the Baguettio addon (milliseconds). Falls back to the global default when unset.
DEFAULT_BAGUETTIO_USER_AGENTBaguettio › Default User Agentstring—Default User-Agent for the Baguettio addon. Supports {version}/{random} placeholders.

TMDB Addon

Environment VariableUI SettingTypeDefaultDescription
TMDB_ADDON_URLTMDB Addon › URLlist["https://tmdb.elfhosted.com"]Upstream URL(s) for the TMDB Addon addon.
DEFAULT_TMDB_ADDON_TIMEOUTTMDB Addon › Default Timeoutnumber—Default timeout for the TMDB Addon addon (milliseconds). Falls back to the global default when unset.
DEFAULT_TMDB_ADDON_USER_AGENTTMDB Addon › Default User Agentstring—Default User-Agent for the TMDB Addon addon. Supports {version}/{random} placeholders.

Torrents DB

Environment VariableUI SettingTypeDefaultDescription
TORRENTS_DB_URLTorrents DB › URLlist["https://torrentsdb.com"]Upstream URL(s) for the Torrents DB addon.
DEFAULT_TORRENTS_DB_TIMEOUTTorrents DB › Default Timeoutnumber—Default timeout for the Torrents DB addon (milliseconds). Falls back to the global default when unset.
DEFAULT_TORRENTS_DB_USER_AGENTTorrents DB › Default User Agentstring—Default User-Agent for the Torrents DB addon. Supports {version}/{random} placeholders.

Usa Tv

Environment VariableUI SettingTypeDefaultDescription
USA_TV_URLUsa Tv › URLlist["https://848b3516657c-usatv.baby-beamup.club"]Upstream URL(s) for the USA TV addon.
DEFAULT_USA_TV_TIMEOUTUsa Tv › Default Timeoutnumber—Default timeout for the USA TV addon (milliseconds). Falls back to the global default when unset.
DEFAULT_USA_TV_USER_AGENTUsa Tv › Default User Agentstring—Default User-Agent for the USA TV addon. Supports {version}/{random} placeholders.

Usa Tv Next

Environment VariableUI SettingTypeDefaultDescription
USA_TV_NEXT_URLUsa Tv Next › URLlist["https://raw.githubusercontent.com/yowmamasita/usa-tv-next/main/manifest.json"]Upstream URL(s) for the USA TV Next addon.
DEFAULT_USA_TV_NEXT_TIMEOUTUsa Tv Next › Default Timeoutnumber—Default timeout for the USA TV Next addon (milliseconds). Falls back to the global default when unset.
DEFAULT_USA_TV_NEXT_USER_AGENTUsa Tv Next › Default User Agentstring—Default User-Agent for the USA TV Next addon. Supports {version}/{random} placeholders.

Argentina Tv

Environment VariableUI SettingTypeDefaultDescription
ARGENTINA_TV_URLArgentina Tv › URLlist["https://848b3516657c-argentinatv.baby-beamup.club"]Upstream URL(s) for the Argentina TV addon.
DEFAULT_ARGENTINA_TV_TIMEOUTArgentina Tv › Default Timeoutnumber—Default timeout for the Argentina TV addon (milliseconds). Falls back to the global default when unset.
DEFAULT_ARGENTINA_TV_USER_AGENTArgentina Tv › Default User Agentstring—Default User-Agent for the Argentina TV addon. Supports {version}/{random} placeholders.

Brazuca Torrents

Environment VariableUI SettingTypeDefaultDescription
BRAZUCA_TORRENTS_URLBrazuca Torrents › URLlist["https://94c8cb9f702d-brazuca-torrents.baby-beamup.club"]Upstream URL(s) for the Brazuca Torrents addon.
DEFAULT_BRAZUCA_TORRENTS_TIMEOUTBrazuca Torrents › Default Timeoutnumber—Default timeout for the Brazuca Torrents addon (milliseconds). Falls back to the global default when unset.
DEFAULT_BRAZUCA_TORRENTS_USER_AGENTBrazuca Torrents › Default User Agentstring—Default User-Agent for the Brazuca Torrents addon. Supports {version}/{random} placeholders.

Subdl

Environment VariableUI SettingTypeDefaultDescription
SUBDL_URLSubdl › URLlist["https://subdl.strem.top"]Upstream URL(s) for the SubDL addon.
DEFAULT_SUBDL_TIMEOUTSubdl › Default Timeoutnumber—Default timeout for the SubDL addon (milliseconds). Falls back to the global default when unset.
DEFAULT_SUBDL_USER_AGENTSubdl › Default User Agentstring—Default User-Agent for the SubDL addon. Supports {version}/{random} placeholders.

Subsource

Environment VariableUI SettingTypeDefaultDescription
SUBSOURCE_URLSubsource › URLlist["https://subsource.strem.top"]Upstream URL(s) for the SubSource addon.
DEFAULT_SUBSOURCE_TIMEOUTSubsource › Default Timeoutnumber—Default timeout for the SubSource addon (milliseconds). Falls back to the global default when unset.
DEFAULT_SUBSOURCE_USER_AGENTSubsource › Default User Agentstring—Default User-Agent for the SubSource addon. Supports {version}/{random} placeholders.
Environment VariableUI SettingTypeDefaultDescription
AI_SEARCH_URLAi Search › URLlist["https://stremio.itcon.au"]Upstream URL(s) for the AI Search addon.
DEFAULT_AI_SEARCH_TIMEOUTAi Search › Default Timeoutnumber—Default timeout for the AI Search addon (milliseconds). Falls back to the global default when unset.
DEFAULT_AI_SEARCH_USER_AGENTAi Search › Default User Agentstring—Default User-Agent for the AI Search addon. Supports {version}/{random} placeholders.

Flix Streams

Environment VariableUI SettingTypeDefaultDescription
FLIX_STREAMS_URLFlix Streams › URLlist["https://flixnest.app/flix-streams"]Upstream URL(s) for the Flix-Streams addon.
DEFAULT_FLIX_STREAMS_TIMEOUTFlix Streams › Default Timeoutnumber—Default timeout for the Flix-Streams addon (milliseconds). Falls back to the global default when unset.
DEFAULT_FLIX_STREAMS_USER_AGENTFlix Streams › Default User Agentstring—Default User-Agent for the Flix-Streams addon. Supports {version}/{random} placeholders.

Fkstream

Environment VariableUI SettingTypeDefaultDescription
FKSTREAM_URLFkstream › URLlist["https://streamio.fankai.fr"]Upstream URL(s) for the FKStream addon.
DEFAULT_FKSTREAM_TIMEOUTFkstream › Default Timeoutnumber—Default timeout for the FKStream addon (milliseconds). Falls back to the global default when unset.
DEFAULT_FKSTREAM_USER_AGENTFkstream › Default User Agentstring—Default User-Agent for the FKStream addon. Supports {version}/{random} placeholders.

Aio Subtitle

Environment VariableUI SettingTypeDefaultDescription
AIOSUBTITLE_URLAio Subtitle › URLlist["https://3b4bbf5252c4-aio-streaming.baby-beamup.club"]Upstream URL(s) for the AIOSubtitle addon.
DEFAULT_AIOSUBTITLE_TIMEOUTAio Subtitle › Default Timeoutnumber—Default timeout for the AIOSubtitle addon (milliseconds). Falls back to the global default when unset.
DEFAULT_AIOSUBTITLE_USER_AGENTAio Subtitle › Default User Agentstring—Default User-Agent for the AIOSubtitle addon. Supports {version}/{random} placeholders.

Subhero

Environment VariableUI SettingTypeDefaultDescription
SUBHERO_URLSubhero › URLlist["https://subhero.chromeknight.dev"]Upstream URL(s) for the SubHero addon.
DEFAULT_SUBHERO_TIMEOUTSubhero › Default Timeoutnumber—Default timeout for the SubHero addon (milliseconds). Falls back to the global default when unset.
DEFAULT_SUBHERO_USER_AGENTSubhero › Default User Agentstring—Default User-Agent for the SubHero addon. Supports {version}/{random} placeholders.

Yastream

Environment VariableUI SettingTypeDefaultDescription
YASTREAM_URLYastream › URLlist["https://yastream.tamthai.de"]Upstream URL(s) for the yastream addon.
DEFAULT_YASTREAM_TIMEOUTYastream › Default Timeoutnumber—Default timeout for the yastream addon (milliseconds). Falls back to the global default when unset.
DEFAULT_YASTREAM_USER_AGENTYastream › Default User Agentstring—Default User-Agent for the yastream addon. Supports {version}/{random} placeholders.

Streamasia

Environment VariableUI SettingTypeDefaultDescription
STREAMASIA_URLStreamasia › URLlist["https://stremio-dramacool-addon.xyz"]Upstream URL(s) for the StreamAsia addon.
DEFAULT_STREAMASIA_TIMEOUTStreamasia › Default Timeoutnumber—Default timeout for the StreamAsia addon (milliseconds). Falls back to the global default when unset.
DEFAULT_STREAMASIA_USER_AGENTStreamasia › Default User Agentstring—Default User-Agent for the StreamAsia addon. Supports {version}/{random} placeholders.

More Like This

Environment VariableUI SettingTypeDefaultDescription
MORE_LIKE_THIS_URLMore Like This › URLlist["https://bbab4a35b833-more-like-this.baby-beamup.club"]Upstream URL(s) for the More Like This addon.
DEFAULT_MORE_LIKE_THIS_TIMEOUTMore Like This › Default Timeoutnumber—Default timeout for the More Like This addon (milliseconds). Falls back to the global default when unset.
DEFAULT_MORE_LIKE_THIS_USER_AGENTMore Like This › Default User Agentstring—Default User-Agent for the More Like This addon. Supports {version}/{random} placeholders.

Content Deep Dive

Environment VariableUI SettingTypeDefaultDescription
CONTENT_DEEP_DIVE_URLContent Deep Dive › URLlist["https://stremio-content-deepdive-addon-dc8f7b513289.herokuapp.com"]Upstream URL(s) for the Content Deep Dive addon.
DEFAULT_CONTENT_DEEP_DIVE_TIMEOUTContent Deep Dive › Default Timeoutnumber—Default timeout for the Content Deep Dive addon (milliseconds). Falls back to the global default when unset.
DEFAULT_CONTENT_DEEP_DIVE_USER_AGENTContent Deep Dive › Default User Agentstring—Default User-Agent for the Content Deep Dive addon. Supports {version}/{random} placeholders.

Ai Companion

Environment VariableUI SettingTypeDefaultDescription
AI_COMPANION_URLAi Companion › URLlist["https://ai-companion.saladprecedestretch123.uk"]Upstream URL(s) for the AI Companion addon.
DEFAULT_AI_COMPANION_TIMEOUTAi Companion › Default Timeoutnumber—Default timeout for the AI Companion addon (milliseconds). Falls back to the global default when unset.
DEFAULT_AI_COMPANION_USER_AGENTAi Companion › Default User Agentstring—Default User-Agent for the AI Companion addon. Supports {version}/{random} placeholders.

Astream

Environment VariableUI SettingTypeDefaultDescription
ASTREAM_URLAstream › URLlist["https://astream.stremiofr.com"]Upstream URL(s) for the AStream addon.
DEFAULT_ASTREAM_TIMEOUTAstream › Default Timeoutnumber—Default timeout for the AStream addon (milliseconds). Falls back to the global default when unset.
DEFAULT_ASTREAM_USER_AGENTAstream › Default User Agentstring—Default User-Agent for the AStream addon. Supports {version}/{random} placeholders.

Built-ins

Stremthru

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_STREMTHRU_URLStremthru › URLstringhttps://stremthru.13377001.xyzBase URL of the StremThru instance used by the built-in addons.
TORBOX_USENET_VIA_STREMTHRUStremthru › Torbox Usenet Via StremthrubooleanfalseRoute Torbox usenet operations entirely through StremThru rather than the Torbox API. (restart required)

Debrid

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_DEBRID_INSTANT_AVAILABILITY_CACHE_TTLDebrid › Instant Availability Cache TTLduration1800Cache TTL for instant-availability checks.
BUILTIN_DEBRID_PLAYBACK_LINK_CACHE_TTLDebrid › Playback Link Cache TTLduration3600Cache TTL for resolved playback links.
BUILTIN_DEBRID_ERROR_CACHE_TTLDebrid › Error Cache TTLduration3600How long content-level failures (e.g. download status = failed/invalid) are cached globally to suppress retries.
BUILTIN_DEBRID_LIBRARY_CACHE_TTLDebrid › Library Cache TTLduration604800Cache TTL for library list results (listMagnets/listNzbs).
BUILTIN_DEBRID_LIBRARY_STALE_THRESHOLDDebrid › Library Stale Thresholdduration600Time after which cached library data is treated as stale (background refresh while serving cached data).
BUILTIN_DEBRID_LIBRARY_PAGE_LIMITDebrid › Library Page Limitnumber1Maximum pages fetched per listMagnets / listNzbs request.
BUILTIN_DEBRID_LIBRARY_PAGE_SIZEDebrid › Library Page Sizenumber500Maximum items per page when listing library items. StremThru caps at 500, Torbox at 1000.
BUILTIN_DEBRID_USE_TORRENT_DOWNLOAD_URLDebrid › Use Torrent Download URLbooleantruePrefer .torrent URLs over magnets for better private-tracker compatibility.
BUILTIN_DEBRID_METADATA_STOREDebrid › Metadata Storeenum—Backend used to persist debrid metadata. Defaults to the platform-default when unset. (restart required)
BUILTIN_DEBRID_FILEINFO_STOREDebrid › Fileinfo StorejsontrueBackend (or true/false) used for the debrid fileinfo store. (restart required)
BUILTIN_PLAYBACK_LINK_VALIDITYDebrid › Playback Link Validityduration86400How long a generated playback link is treated as valid (seconds).
BUILTIN_DOWNLOAD_POLL_INTERVALDebrid › Download Poll Intervalmap{"nzbdav":2000,"altmount":2000,"stremthru_newz":2000,"*":10000}Per-service download-status poll interval. Env shape: service:duration,.... Wildcard * covers unlisted services.
BUILTIN_DOWNLOAD_MAX_WAIT_TIMEDebrid › Download Max Wait Timemap{"nzbdav":90000,"altmount":90000,"stremthru_newz":90000,"*":120000}Per-service maximum wait time before timing out a download check. Env shape: service:duration,....

Scrape

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_SCRAPE_TITLE_LANGUAGESScrape › Title Languagesmap—Fine-grained alternative-title control, per indexer hostname, indexer name, or addon type. Format: <key>:<spec>[,<spec>...][,<key>:<spec>...]. Keys (checked in priority order): exact indexer hostname (e.g. my-indexer.com); auto-extracted indexer name (Jackett /api/v2.0/indexers/<name>/..., NZBHydra2 ?indexers=<name>); addon-id (newznab, torznab, easynews, knaben, prowlarr, torrent-galaxy); * wildcard fallback. Specs: default (primary/English-style title), all (all alternative titles up to BUILTIN_SCRAPE_TITLE_LIMIT), original (TMDB original-language title), scene (scene-release titles from the scene mappings), <lang> (ISO 639-1 code, e.g. de, fr). Multiple specs under one key are combined (duplicates removed); only the highest-priority matching key applies; always falls back to the primary title. Examples: *:default,original — every indexer gets default + TMDB original-language title. *:default,newznab:default,original,de — newznab indexers query English + original + German, others English only. *:default,germanindexer.com:de,default — germanindexer.com queries German + English, all others English only.
BUILTIN_SCRAPE_TITLE_LIMITScrape › Title Limitnumber3Maximum alternative titles used per scrape.
BUILTIN_SCRAPE_QUERY_CONCURRENCYScrape › Query Concurrencynumber5Maximum concurrent scrape queries.
BUILTIN_SCRAPE_LATIN_QUERIES_ONLYScrape › Latin Queries OnlybooleantrueSkip predominantly non-Latin-script titles (e.g. kanji) when building search queries, since scene releases are named in Latin script. Such titles are still used for matching results. Disable if you use native-language indexers (e.g. Cyrillic trackers).
BUILTIN_SCRAPE_DATE_BASED_ENABLEDScrape › Date Based › EnabledbooleantrueDetect date-based series (talk shows, WWE, game shows, soaps) and search/match their releases by episode air date instead of season/episode numbers.
BUILTIN_SCRAPE_DATE_BASED_EPISODE_COUNT_THRESHOLDScrape › Date Based › Episode Count Thresholdnumber40A season with at least this many episodes counts towards detecting a series as date-based.
BUILTIN_SCRAPE_DATE_BASED_MIN_SEASONSScrape › Date Based › Min Seasonsnumber4Minimum number of seasons required before the episode count threshold marks a series as date-based. Prevents long single-season dramas from being misdetected.
BUILTIN_SCRAPE_ABSOLUTE_SEARCH_LANGUAGESScrape › Absolute Search › Languageslist["ko","zh","ja","th"]Original languages (ISO 639-1) whose non-anime series also get absolute-episode search queries (e.g. Asian dramas released as "Show E40"). Requires a TMDB key for original language detection. Empty disables.

Get Torrent

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_GET_TORRENT_TIMEOUTGet Torrent › Timeoutnumber5000Timeout for fetching torrent files.
BUILTIN_GET_TORRENT_CONCURRENCYGet Torrent › Concurrencynumber5Maximum concurrent torrent fetches.
BUILTIN_GET_TORRENT_LAZILYGet Torrent › LazilybooleantrueFetch torrents lazily in the background. First search returns immediately with available results.

Torrent

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_TORRENT_METADATA_CACHE_TTLTorrent › Metadata Cache TTLduration604800Cache TTL for torrent metadata.
BUILTIN_MINIMUM_BACKGROUND_REFRESH_INTERVALTorrent › Minimum Background Refresh Intervalduration86400Minimum interval between background search-cache refreshes triggered during normal searches.

Grab

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_NZB_GRAB_CACHE_BYTESGrab › NZB Cache Bytessize64000000In-memory cache size for grabbed .nzb files. Accepts plain bytes or 64MB-style strings.
BUILTIN_NZB_GRAB_DISK_CACHE_BYTESGrab › NZB Disk Cache Bytessize1000000000On-disk cache size for grabbed .nzb files (survives restarts). Set to 0 to disable the disk tier. Accepts plain bytes or 1GB-style strings.
BUILTIN_TORRENT_GRAB_CACHE_BYTESGrab › Torrent Cache Bytessize64000000In-memory cache size for grabbed .torrent files. Accepts plain bytes or 64MB-style strings.
BUILTIN_TORRENT_GRAB_DISK_CACHE_BYTESGrab › Torrent Disk Cache Bytessize512000000On-disk cache size for grabbed .torrent files (survives restarts). Set to 0 to disable the disk tier. Accepts plain bytes or 512MB-style strings.

GDrive

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_GDRIVE_CLIENT_IDGDrive › Client IDstring—OAuth client ID for the Google Drive built-in addon.
BUILTIN_GDRIVE_CLIENT_SECRETGDrive › Client Secretstring(unset)OAuth client secret for the Google Drive built-in addon. (secret)
BUILTIN_GDRIVE_TIMEOUTGDrive › Timeoutnumber—Timeout for Google Drive requests.
BUILTIN_GDRIVE_USER_AGENTGDrive › User Agentstring—User-Agent for Google Drive requests.
BUILTIN_GDRIVE_PAGE_SIZE_LIMITGDrive › Page Size Limitnumber1000Maximum items per page from Google Drive API.
Environment VariableUI SettingTypeDefaultDescription
BUILTIN_TORBOX_SEARCH_TIMEOUTTorbox Search › Timeoutnumber—Timeout for Torbox Search requests.
BUILTIN_TORBOX_SEARCH_USER_AGENTTorbox Search › User Agentstring—User-Agent for Torbox Search requests.
BUILTIN_TORBOX_SEARCH_SEARCH_API_TIMEOUTTorbox Search › Search API Timeoutnumber30000Timeout for the Torbox /search API.
BUILTIN_TORBOX_SEARCH_SEARCH_API_CACHE_TTLTorbox Search › Search API Cache TTLduration604800Cache TTL for /search responses.
BUILTIN_TORBOX_SEARCH_METADATA_CACHE_TTLTorbox Search › Metadata Cache TTLduration1209600Cache TTL for Torbox Search metadata.
BUILTIN_TORBOX_SEARCH_CACHE_PER_USER_SEARCH_ENGINETorbox Search › Cache Per User Search EnginebooleanfalseCache search results separately per user when they bring their own search engine.

NAB

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_NAB_SEARCH_TIMEOUTNAB › Search Timeoutnumber30000Timeout for Newznab/Torznab search calls.
BUILTIN_NAB_SEARCH_CACHE_TTLNAB › Search Cache TTLduration604800Cache TTL for Newznab/Torznab search results.
BUILTIN_NAB_CAPABILITIES_CACHE_TTLNAB › Capabilities Cache TTLduration1209600Cache TTL for Newznab/Torznab capabilities responses.
BUILTIN_NAB_MAX_PAGESNAB › Max Pagesnumber5Maximum pages to fetch when paginating Newznab/Torznab results.
BUILTIN_NAB_MAX_RESULTSNAB › Max Resultsnumber1000Most results taken from a single Newznab/Torznab response. The requested limit is capped to this, and parsing stops here even when an indexer ignores limit and returns everything it has. Raising it costs CPU and cache space on indexers that return thousands of results per query.
BUILTIN_NAB_MAX_RESPONSE_BYTESNAB › Max Response Bytessize10000000Largest Newznab/Torznab response body downloaded. Past this the download is cut off and only the whole results received so far are used, rather than failing the search. Accepts plain bytes or 10MB-style strings.
ZYCLOPS_HEALTH_PROXY_ENDPOINTNAB › Zyclops Health Proxy Endpointstringhttps://zyclops.elfhosted.comBase URL of the Zyclops health proxy used by the Newznab preset.

Zilean

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_ZILEAN_URLZilean › URLstringhttps://zileanfortheweebs.midnightignite.meBase URL for the Zilean built-in addon.
BUILTIN_DEFAULT_ZILEAN_TIMEOUTZilean › Timeoutnumber—Timeout for Zilean requests.

Animetosho

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_ANIMETOSHO_URLAnimetosho › URLstringhttps://feed.animetosho.orgBase URL for the AnimeTosho built-in addon.
BUILTIN_DEFAULT_ANIMETOSHO_TIMEOUTAnimetosho › Timeoutnumber—Timeout for AnimeTosho requests.

Anime Tosho New

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_ANIME_TOSHO_NEW_URLAnime Tosho New › URLstringhttps://feed.animetosho.netBase URL for the Anime Tosho (New) built-in addon.
BUILTIN_DEFAULT_ANIME_TOSHO_NEW_TIMEOUTAnime Tosho New › Timeoutnumber—Timeout for Anime Tosho (New) requests.

Nekobt

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_NEKOBT_URLNekobt › URLstringhttps://nekobt.to/api/torznabBase URL for the NekoBT built-in addon.
BUILTIN_DEFAULT_NEKOBT_TIMEOUTNekobt › Timeoutnumber—Timeout for NekoBT requests.

Seadex

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_SEADEX_URLSeadex › URLstringhttps://releases.moeBase URL for the SeaDex built-in addon.
BUILTIN_SEADEX_DATASET_REFRESH_INTERVALSeadex › Dataset Refresh Intervalduration86400How often the SeaDex dataset is refreshed. (restart required)

Bitmagnet

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_BITMAGNET_URLBitmagnet › URLstring—Base URL for the Bitmagnet built-in addon.
BUILTIN_DEFAULT_BITMAGNET_TIMEOUTBitmagnet › Timeoutnumber—Timeout for Bitmagnet requests.

Jackett

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_JACKETT_URLJackett › URLstring—Base URL for the Jackett built-in addon.
BUILTIN_JACKETT_API_KEYJackett › API Keystring(unset)API key for the Jackett built-in addon. (secret)
BUILTIN_DEFAULT_JACKETT_TIMEOUTJackett › Timeoutnumber—Timeout for Jackett requests.

Nzbhydra

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_NZBHYDRA_URLNzbhydra › URLstring—Base URL for the NZBHydra built-in addon.
BUILTIN_NZBHYDRA_API_KEYNzbhydra › API Keystring(unset)API key for the NZBHydra built-in addon. (secret)
BUILTIN_DEFAULT_NZBHYDRA_TIMEOUTNzbhydra › Timeoutnumber—Timeout for NZBHydra requests.

Prowlarr

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_PROWLARR_URLProwlarr › URLstring—Base URL for the Prowlarr built-in addon.
BUILTIN_PROWLARR_API_KEYProwlarr › API Keystring(unset)API key for the Prowlarr built-in addon. (secret)
BUILTIN_PROWLARR_INDEXERSProwlarr › Indexerslist—Comma-separated list of Prowlarr indexers to query.
BUILTIN_DEFAULT_PROWLARR_TIMEOUTProwlarr › Default Timeoutnumber—Default timeout for Prowlarr requests.
BUILTIN_PROWLARR_SEARCH_TIMEOUTProwlarr › Search Timeoutnumber30000Timeout for Prowlarr search requests.
BUILTIN_PROWLARR_SEARCH_CACHE_TTLProwlarr › Search Cache TTLduration604800Cache TTL for Prowlarr search results.
BUILTIN_PROWLARR_INDEXERS_CACHE_TTLProwlarr › Indexers Cache TTLduration1209600Cache TTL for the Prowlarr indexers list.

Knaben

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_DEFAULT_KNABEN_TIMEOUTKnaben › Default Timeoutnumber—Default timeout for Knaben requests.
BUILTIN_KNABEN_SEARCH_TIMEOUTKnaben › Search Timeoutnumber30000Timeout for Knaben search requests.
BUILTIN_KNABEN_DOWNLOAD_TORRENTSKnaben › Download TorrentsbooleantrueWhen true, attempt to fetch .torrent files for Knaben results without an infohash.
BUILTIN_KNABEN_SEARCH_CACHE_TTLKnaben › Search Cache TTLduration604800Cache TTL for Knaben search results.

Easynews

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_EASYNEWS_SEARCH_TIMEOUTEasynews › Search Timeoutnumber30000Timeout for Easynews search requests.
BUILTIN_EASYNEWS_SEARCH_CACHE_TTLEasynews › Search Cache TTLduration3600Cache TTL for Easynews search results. Defaults to 1h since Easynews content rotates more frequently.
BUILTIN_EASYNEWS_SEARCH_MAX_PAGESEasynews › Max Pagesnumber8Maximum pages fetched when paginating Easynews search results.

Torrent Galaxy

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_TORRENT_GALAXY_URLTorrent Galaxy › URLstringhttps://torrentgalaxy.oneBase URL for the Torrent Galaxy built-in addon.
BUILTIN_DEFAULT_TORRENT_GALAXY_TIMEOUTTorrent Galaxy › Default Timeoutnumber—Default timeout for Torrent Galaxy requests.
BUILTIN_TORRENT_GALAXY_SEARCH_TIMEOUTTorrent Galaxy › Search Timeoutnumber30000Timeout for Torrent Galaxy search requests.
BUILTIN_TORRENT_GALAXY_SEARCH_CACHE_TTLTorrent Galaxy › Search Cache TTLduration604800Cache TTL for Torrent Galaxy search results.
BUILTIN_TORRENT_GALAXY_PAGE_LIMITTorrent Galaxy › Page Limitnumber5Maximum pages fetched when paginating Torrent Galaxy results.

Eztv

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_EZTV_URLEztv › URLstringhttps://eztvx.toBase URL for the EZTV built-in addon.
BUILTIN_DEFAULT_EZTV_TIMEOUTEztv › Default Timeoutnumber—Default timeout for EZTV requests.
BUILTIN_EZTV_SEARCH_TIMEOUTEztv › Search Timeoutnumber30000Timeout for EZTV search requests.
BUILTIN_EZTV_SEARCH_CACHE_TTLEztv › Search Cache TTLduration604800Cache TTL for EZTV search results.
BUILTIN_EZTV_MAX_PAGESEztv › Max Pagesnumber5Maximum pages fetched when paginating EZTV results.

Therarbg

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_THERARBG_URLTherarbg › URLstringhttps://therarbg.toBase URL for the TheRARBG built-in addon.
BUILTIN_DEFAULT_THERARBG_TIMEOUTTherarbg › Default Timeoutnumber—Default timeout for TheRARBG requests.
BUILTIN_THERARBG_SEARCH_TIMEOUTTherarbg › Search Timeoutnumber30000Timeout for TheRARBG search requests.
BUILTIN_THERARBG_SEARCH_CACHE_TTLTherarbg › Search Cache TTLduration604800Cache TTL for TheRARBG search results.
BUILTIN_THERARBG_PAGE_LIMITTherarbg › Page Limitnumber5Maximum pages fetched when paginating TheRARBG results.

The Pirate Bay

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_THE_PIRATE_BAY_URLThe Pirate Bay › URLstringhttps://apibay.orgBase URL for The Pirate Bay built-in addon.
BUILTIN_DEFAULT_THE_PIRATE_BAY_TIMEOUTThe Pirate Bay › Default Timeoutnumber—Default timeout for The Pirate Bay requests.
BUILTIN_THE_PIRATE_BAY_SEARCH_TIMEOUTThe Pirate Bay › Search Timeoutnumber30000Timeout for The Pirate Bay search requests.
BUILTIN_THE_PIRATE_BAY_SEARCH_CACHE_TTLThe Pirate Bay › Search Cache TTLduration604800Cache TTL for The Pirate Bay search results.

Tsukihime

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_TSUKIHIME_URLTsukihime › URLstringhttps://api.tsukihime.orgBase URL for the TsukiHime built-in addon.
BUILTIN_TSUKIHIME_STORAGE_URLTsukihime › Storage URLstringhttps://storage.tsukihime.orgBase URL that TsukiHime NZB files are served from.
BUILTIN_DEFAULT_TSUKIHIME_TIMEOUTTsukihime › Default Timeoutnumber—Default timeout for TsukiHime requests.
BUILTIN_TSUKIHIME_SEARCH_TIMEOUTTsukihime › Search Timeoutnumber30000Timeout for TsukiHime search requests.
BUILTIN_TSUKIHIME_SEARCH_CACHE_TTLTsukihime › Search Cache TTLduration604800Cache TTL for TsukiHime search results.
BUILTIN_TSUKIHIME_PAGE_LIMITTsukihime › Page Limitnumber5Maximum pages fetched when paginating TsukiHime results.

Posters

Environment VariableUI SettingTypeDefaultDescription
POSTER_API_KEY_VALIDITY_CACHE_TTLAPI Key Validity Cache TTLnumber604800How long an RPDB / poster-API key validity check is cached (seconds).

Resources

Environment VariableUI SettingTypeDefaultDescription
STREAM_URL_MAPPINGSStream URL Mappingsmap—Origin-level rewrites applied to stream URLs returned to clients. JSON object of {origin: replacement} URLs.
REPOST_SUFFIXESRepost Suffixeslist["RP","1","NZBGeek","[N-Z-B]","Obfuscated","Obfuscation","Scrambled","sample","Pre","postbot","xpost","Rakuv*","WhiteRev","BUYMORE","AsRequested","AlternativeToRequested","GEROV","Z0iDS3N","Chamele0n","4P","4Planet","AlteZachen","RePACKPOST","FTP","xpo"]Tags that reposters and indexers add after the release group, such as -FTP or -AsRequested. They are ignored when parsing file and folder names, so the real release group is found. End an entry with * to match anything that starts with it, e.g. Rakuv*.

Timeouts

Environment VariableUI SettingTypeDefaultDescription
MANIFEST_TIMEOUTTimeouts › Manifestnumber3000Timeout for /manifest.json fetches (milliseconds). Slower manifest operations use the increased timeout below.
MANIFEST_INCREASED_TIMEOUTTimeouts › Manifest Increasednumber10000Extended timeout used during slower manifest operations (milliseconds).
META_TIMEOUTTimeouts › Metanumber30000Timeout for /meta requests (milliseconds).
CATALOG_TIMEOUTTimeouts › Catalognumber30000Timeout for /catalog/* fetches (milliseconds).

Precache

Environment VariableUI SettingTypeDefaultDescription
PRECACHE_NEXT_EPISODE_MIN_INTERVALPrecache › Next Episode Min Intervalduration86400Minimum interval before re-attempting to precache the same next episode (accepts e.g. "30m", "1h").

Preload

Environment VariableUI SettingTypeDefaultDescription
PRELOAD_MIN_INTERVALPreload › Min Intervalduration3600Minimum interval between preload operations for the same item per user (0 disables the cooldown).
PRELOAD_STREAMS_CONCURRENCYPreload › Streams Concurrencynumber5Maximum simultaneous stream preload requests.

Background

Environment VariableUI SettingTypeDefaultDescription
BACKGROUND_RESOURCE_REQUESTS_ENABLEDBackground › EnabledbooleantrueIssue resource requests in the background to keep caches warm.
BACKGROUND_RESOURCE_REQUEST_TIMEOUTBackground › Timeoutnumber—Timeout for background resource requests (milliseconds). When unset, the maximum HTTP timeout is used.
MAX_BACKGROUND_RESOURCE_REQUESTSBackground › Max Concurrentnumber50Maximum resource requests allowed to keep running after the client has already timed out. Beyond this, an abandoned request is cancelled instead of being left to warm the cache, which bounds how many connections a client that retries without backoff can tie up.

Cache

Environment VariableUI SettingTypeDefaultDescription
DEFAULT_MAX_CACHE_SIZECache › Default Max Sizenumber100000Default maximum number of items per cache instance. (restart required)
SQL_CACHE_MAX_SIZECache › Sql Max Sizenumber100000Maximum number of items in the shared SQL cache. (restart required)
MAX_CACHE_VALUE_BYTESCache › Max Value Bytessize2000000Largest single value written to the Redis or SQL cache (0 disables the limit). On Redis this is the stored size, so values large enough to be compressed are measured after compression. Oversized entries are skipped rather than stored. A skipped entry is recomputed on each request, so raising this trades memory for CPU. Accepts plain bytes or 2MB-style strings.
MANIFEST_CACHE_TTLCache › Manifest › TTLmap{"*":21600}Per-key cache TTL for manifest responses (seconds; -1 disables). Env shape: integer or key:value,....
MANIFEST_CACHE_MAX_SIZECache › Manifest › Max Sizenumber—Maximum number of cached manifests. (restart required)
MANIFEST_FAILURE_CACHE_TTLCache › Manifest › Failure TTLnumber60How long a failed manifest fetch is remembered (seconds; 0 disables). Without this, an addon whose manifest has never succeeded is re-fetched on every request and costs a full manifest timeout each time. A successful fetch clears the entry immediately, and saving a configuration always re-checks.
SUBTITLE_CACHE_TTLCache › Subtitle › TTLmap{"*":300}Per-key cache TTL for subtitle responses (seconds; -1 disables).
SUBTITLE_CACHE_MAX_SIZECache › Subtitle › Max Sizenumber—Maximum number of cached subtitle responses. (restart required)
STREAM_CACHE_TTLCache › Stream › TTLmap{"*":-1}Per-key cache TTL for stream responses (seconds; -1 disables, the default).
STREAM_CACHE_MAX_SIZECache › Stream › Max Sizenumber—Maximum number of cached stream responses. (restart required)
PIPELINE_CACHE_TTLCache › Pipeline › TTLnumber0TTL for the full-pipeline result cache (seconds). Caches the final processed response (streams, statistics and errors) for a whole request, keyed per user. Unlike the per-addon stream cache, this returns the previous response verbatim, including any partial errors, and does not re-fetch or retry failed addons within the TTL. Set to 0 to disable.
PIPELINE_CACHE_MAX_SIZECache › Pipeline › Max Sizenumber1000Maximum number of cached pipeline results. (restart required)
CATALOG_CACHE_TTLCache › Catalog › TTLmap{"*":300}Per-key cache TTL for catalog responses (seconds; -1 disables).
CATALOG_CACHE_MAX_SIZECache › Catalog › Max Sizenumber1000Maximum number of cached catalog responses. (restart required)
META_CACHE_TTLCache › Meta › TTLmap{"*":300}Per-key cache TTL for meta responses (seconds; -1 disables).
META_CACHE_MAX_SIZECache › Meta › Max Sizenumber—Maximum number of cached meta responses. (restart required)
ADDON_CATALOG_CACHE_TTLCache › Addon Catalog › TTLmap{"*":300}Per-key cache TTL for addon-catalog responses (seconds; -1 disables).
ADDON_CATALOG_CACHE_MAX_SIZECache › Addon Catalog › Max Sizenumber—Maximum number of cached addon-catalog responses. (restart required)

Limits

User Limits

Environment VariableUI SettingTypeDefaultDescription
MAX_ADDONSMax Addonsnumber15Maximum number of addons a user configuration can install.
MAX_KEYWORD_FILTERSMax Keyword Filtersnumber30Maximum number of keyword filters per keyword filter group.
MAX_FORMATTER_TEMPLATE_LENGTHMax Formatter Template Lengthnumber15000Maximum length (characters) of a single formatter template string. Enforced during config validation.
MAX_FAILOVER_ATTEMPTSMax Failover Attemptsnumber5Maximum total failover attempts (after de-duplication) a user can configure.
MAX_PARALLEL_ATTEMPTSMax Parallel Attemptsnumber2Maximum concurrent failover attempts a user can configure. Caps load on upstream providers.
MAX_GROUPSMax Groupsnumber20Maximum number of stream groups in a user configuration.
MAX_MERGED_CATALOG_SOURCESMax Merged Catalog Sourcesnumber10Maximum source catalogs in a single merged catalog.
MAX_BACKGROUND_PINGSMax Background Pingsnumber2Maximum streams pinged in a background preload/precache operation.

Timeouts

Environment VariableUI SettingTypeDefaultDescription
MIN_TIMEOUTTimeouts › Min Timeoutnumber1000Lower bound (milliseconds) for any user-configurable HTTP timeout.
MAX_TIMEOUTTimeouts › Max Timeoutnumber50000Upper bound (milliseconds) for any user-configurable HTTP timeout.

Regex

Environment VariableUI SettingTypeDefaultDescription
REGEX_FILTER_ACCESSRegex › AccessenumtrustedWho can use regex filters: "none", "trusted" (only trusted UUIDs), or "all".
WHITELISTED_REGEX_PATTERNSRegex › Patternslist—Regex patterns whitelisted for non-trusted users.
WHITELISTED_REGEX_PATTERNS_URLSRegex › Patterns Urlslist—URLs from which to fetch additional whitelisted regex patterns periodically.
WHITELISTED_REGEX_PATTERNS_DESCRIPTIONRegex › Patterns Descriptionstring—Free-form description shown alongside the whitelisted regex patterns.

SEL

Environment VariableUI SettingTypeDefaultDescription
SEL_SYNC_ACCESSSEL › Accessenumtrusted"all" = anyone can sync from any URL; "trusted" = non-trusted users limited to whitelisted SEL URLs.
WHITELISTED_SEL_URLSSEL › Urlslist—Stream Expression Language sync URLs that non-trusted users may use.
MAX_STREAM_EXPRESSIONSSEL › Max Expressionsnumber200Maximum total stream expressions across all filter types.
MAX_STREAM_EXPRESSIONS_TOTAL_CHARACTERSSEL › Max Expression Charactersnumber50000Maximum total character count across all stream expressions.
MAX_SEL_LENGTHSEL › Max Expression Lengthnumber3000Maximum length (characters) of a single stream expression. Enforced during config validation.

Variants

Environment VariableUI SettingTypeDefaultDescription
VARIANT_ACCESSVariants › AccessenumallWho may define config variants. "all" = everyone, "trusted" = trusted users only, "none" = the feature is disabled.
MAX_VARIANTSVariants › Maxnumber10Maximum number of config variants a user may define.
MAX_VARIANT_SCRIPT_LENGTHVariants › Max Script Lengthnumber4000Maximum length (characters) of a single variant script. Enforced during config validation.
MAX_VARIANT_TOTAL_SCRIPT_CHARACTERSVariants › Max Total Script Charactersnumber20000Maximum total character count across every variant script in a configuration.
MAX_VARIANT_TOTAL_INSTRUCTIONSVariants › Max Total Instructionsnumber5000Maximum number of instructions all the variants on one request may run in total, including those reached through "use variant". Anything past it is skipped.
MAX_VARIANT_PATH_MATCHESVariants › Max Path Matchesnumber200Maximum number of places a single variant instruction may write to.
MAX_VARIANT_VALUE_DEPTHVariants › Max Value Depthnumber10Maximum nesting depth of an object or array literal in a variant script.
MAX_VARIANT_PATH_SEGMENTSVariants › Max Path Segmentsnumber12Maximum number of segments in a single variant instruction path.

Health Checks

Environment VariableUI SettingTypeDefaultDescription
HEALTH_CHECK_ACCESSHealth Checks › AccessenumallWho may define health checks, the URLs polled to decide whether a service is up. "all" = everyone, "trusted" = trusted users only, "none" = the feature is disabled.
MAX_HEALTH_CHECKSHealth Checks › Maxnumber5Maximum number of health checks a user may define.
HEALTH_CHECK_MIN_TTLHealth Checks › Min TTLduration60Shortest interval a health check result may be reused for. A user asking for less is raised to this (accepts e.g. "5m", "1h").
HEALTH_CHECK_MAX_TIMEOUTHealth Checks › Max Timeoutnumber10000Longest a health check may wait for a response. The first request needing a fresh result waits this long at worst.
HEALTH_CHECK_MAX_BYTESHealth Checks › Max Bytessize65536How much of a health check response is read before giving up on it.

Sync

Environment VariableUI SettingTypeDefaultDescription
WHITELISTED_SYNC_REFRESH_INTERVALSync › Refresh Intervalduration86400How often whitelisted regex/SEL sync URLs are refreshed (accepts e.g. "5m", "1h"). Also how long a URL only one user is allowed to use is cached for. (restart required)

Disabled

Environment VariableUI SettingTypeDefaultDescription
DISABLED_ADDONSDisabled › Addonsmap—Map of disabled addon IDs to a reason. Env-supplied form: comma-separated "addon:reason" entries.
REMOVED_ADDONSDisabled › Removed Addonsmap—Map of removed addon IDs (hidden from marketplace; errors on save) to a reason. Env-supplied form: comma-separated "addon:reason" entries.
DISABLED_SERVICESDisabled › Servicesmap—Map of disabled service IDs to a reason. Env-supplied form: comma-separated "service:reason" entries.
DISABLED_HOSTSDisabled › Hostsmap—Map of disabled hostnames to a reason. Env-supplied form: comma-separated "host:reason" entries.
DISABLED_STREAM_TYPESDisabled › Stream Typeslist—Stream types that should never be returned to clients (e.g. p2p, http, live).

Self Scraping

Environment VariableUI SettingTypeDefaultDescription
DISABLE_SELF_SCRAPINGSelf Scraping › DisabledbooleantrueWhen true, addons cannot scrape the same AIOStreams instance.

Trusted

Environment VariableUI SettingTypeDefaultDescription
TRUSTED_UUIDSTrusted › Uuidsstring—Comma-separated list of trusted user UUIDs. Trusted users may use regex filters and bypass certain access policies.

Recursion

Environment VariableUI SettingTypeDefaultDescription
RECURSION_THRESHOLD_LIMITThreshold Limitnumber60Maximum number of requests to the same URL within the threshold window before marking the chain as recursive.
RECURSION_THRESHOLD_WINDOWThreshold Windowduration10Time window for the recursion threshold (seconds; accepts e.g. "30s", "1m").

Tasks

Pruning

Environment VariableUI SettingTypeDefaultDescription
PRUNE_INTERVALPruning › Intervalduration86400How often to run the inactive-user pruning task (accepts e.g. "12h", "1d"). (restart required)
PRUNE_MAX_DAYSPruning › Max Daysnumber-1Days of inactivity before a user is pruned. Use -1 to disable pruning entirely.

Other

Analytics

Environment VariableUI SettingTypeDefaultDescription
ANALYTICS_ENABLEDEnabledbooleantrueWhen false, all request analytics collection is disabled — zero events are written.
USER_ANALYTICS_ENABLEDUser Analytics EnabledbooleanfalseWhen enabled, the configure-page "Stats" tab is available to every authenticated user. Adds one event per addon per stream request.
ANALYTICS_EVENT_RETENTION_DAYSEvent Retention Daysnumber7How many days of raw per-request analytics events to keep before the rollup task prunes them. The per-user Stats tab is limited to this window.
ANALYTICS_DAILY_RETENTION_DAYSDaily Retention Daysnumber90How many days of aggregated daily analytics to keep.

App Reports

Environment VariableUI SettingTypeDefaultDescription
APP_REPORTSAcceptenumusersWhich reports this server keeps, for its admins to read in the dashboard. off: none, and the apps offer no way to send one here. users: those its own users send from the apps. public: those too, and any another server passes on, for a developer's server.
APP_REPORTS_FORWARD_TOForward Tostringhttps://aiostreams.viren070.meWhere a report goes when its sender also sends it to the developer: the address of an AIOStreams server that keeps reports from everyone. Passwords, tokens and configuration ids are taken out first. Leave it empty to offer no such choice; the developer's own server offers none either.
APP_REPORTS_MAXMaxnumber1000How many reports are kept at most; each new one past it deletes the oldest.
APP_REPORTS_RETENTIONRetentionduration604800How long reports are kept before they are deleted.

Arr

Environment VariableUI SettingTypeDefaultDescription
ARR_MOUNT_DIRMount Dirstring—Absolute path at which Sonarr/Radarr (and your media server) see the rclone mount of /webdav, e.g. /mnt/aiostreams. It is reported back through the SABnzbd API as the completed-download folder and used as the target of the symlinks the arr imports, so it must be the same absolute path in every container that reads the mount. Leave empty to keep the SABnzbd API metadata-only (grabs work, imports do not).
ARR_IMPORT_MODEImport ModeenumsymlinkWhat the arr finds in the completed folder. symlink serves .rclonelink files that an rclone mount with --links turns into symlinks to the streamed file (Plex, Jellyfin and Emby all follow them). strm serves .strm files holding a stream URL, for Jellyfin and Emby without FUSE. content exposes the media bytes directly; the arr then copies the whole release through usenet on import.
ARR_INSTANCESInstancesjson(unset)JSON array of { "id", "name", "type": "sonarr"|"radarr", "url", "apiKey", "enabled", "categories" } objects. categories limits the instance to those download-client categories; omit for any. Every listed category is advertised through the SABnzbd API and gets a folder under completed/, so spell it exactly as the arr’s download client does. (secret)
ARR_SEARCH_AFTER_REPAIRSearch After RepairbooleanfalseAfter marking a dead release failed, ask the arr to search for a replacement. Turn this on if you have the arr’s own "Redownload Failed" setting off but still want dead releases replaced, or if you grab interactively — the arr does not automatically redownload those. With "Redownload Failed" on, the arr already searches and this would be a second, identical search.
ARR_AUTO_REPAIRAuto RepairbooleantrueAct on a dead release: remove the file record the import produced and mark the grab failed, so the arr blocklists it and looks again. Off still marks entries failed and shows them in the library, but leaves your arr untouched — useful to watch what this would do before letting it, or if you would rather handle replacements yourself. The library entry’s "Retry repair" button works either way.
ARR_MAX_REPAIRS_PER_ITEMMax Repairs Per Itemnumber3How many dead releases to replace for the same episode or movie before giving up on it. Every replacement is a fresh grab, so a title whose releases all come from one dead poster would otherwise churn indefinitely and burn indexer grabs. At the limit the release is blocklisted without another search and the item is unmonitored, so the arr stops re-grabbing it. Counting resets once something imports and stays healthy. 0 disables the limit.

Queue Cleanup

Environment VariableUI SettingTypeDefaultDescription
ARR_QUEUE_CLEANUP_ENABLEDQueue Cleanup › EnabledbooleanfalseWatch the queues of your configured Sonarr/Radarr instances for downloads of ours they could not import, and act on the reason they gave: replace a bad release, nudge an import through, or clear a stale entry. Without this, a failed import sits in the arr’s queue until someone notices. Only items AIOStreams handed over are ever touched.
ARR_QUEUE_CLEANUP_GRACE_MINUTESQueue Cleanup › Grace Minutesnumber5How long an item must stay stuck before anything is done to it, so a warning the arr clears on its own is left alone. Stale entries for downloads that are already imported skip the wait.
ARR_QUEUE_CLEANUP_RULESQueue Cleanup › Rulesjson[{"id":"no_eligible_files","enabled":true,"action":"blocklist_search"},{"id":"episodes_missing","enabled":true,"action":"blocklist_search"},{"id":"not_found_in_release","enabled":true,"action":"blocklist_search"},{"id":"not_a_valid_video","enabled":true,"action":"blocklist_search"},{"id":"no_audio","enabled":true,"action":"blocklist_search"},{"id":"found_archive","enabled":true,"action":"blocklist_search"},{"id":"multi_part_movie","enabled":true,"action":"blocklist_search"},{"id":"unable_to_parse","enabled":true,"action":"blocklist_search"},{"id":"invalid_season_or_episode","enabled":true,"action":"blocklist_search"},{"id":"sample","enabled":true,"action":"blocklist_search"},{"id":"already_imported","enabled":true,"action":"remove"},{"id":"not_an_upgrade","enabled":true,"action":"remove"},{"id":"title_mismatch","enabled":true,"action":"import"},{"id":"matched_by_id","enabled":true,"action":"import"},{"id":"episode_unexpected","enabled":true,"action":"import"},{"id":"full_season_file","enabled":false,"action":"blocklist_search"},{"id":"invalid_local_path","enabled":false,"action":"remove"},{"id":"not_enough_space","enabled":false,"action":"remove"}]JSON array of { "id", "enabled", "action" }, where action is remove, blocklist, blocklist_search or import. Omitted rules keep their shipped defaults.

Community

Environment VariableUI SettingTypeDefaultDescription
COMMUNITY_FORMATTERSFormattersenumapprovalWhether users can share formatters with everyone on this instance. off hides the feature, open publishes submissions immediately, approval holds them until an admin approves them in the dashboard. Names, descriptions and tags are free text shown to everyone, so approval is the safe default.
COMMUNITY_TEMPLATESTemplatesenumapprovalWhether users can share configuration templates with everyone on this instance. off hides the feature, open publishes submissions immediately, approval holds them until an admin reviews them in the dashboard. Templates can point addons at arbitrary hosts, so approval is the safe default.
COMMUNITY_MIN_ACCOUNT_AGEMin Account Ageduration86400How old a configuration must be before it can submit or like community items. Raises the cost of creating throwaway configurations to skew likes.
COMMUNITY_MAX_SUBMISSIONS_PER_DAYMax Submissions Per Daynumber10How many community items (new or updated) one configuration may submit within 24 hours. 0 blocks submissions entirely while keeping the browser available.
COMMUNITY_REMOTE_SOURCESRemote Sourceslist—Other AIOStreams instances whose approved community items are shown here read-only. Give the instance URL or its /community/export.json directly. Items from remote sources cannot be liked.
COMMUNITY_REMOTE_REFRESH_INTERVALRemote Refresh Intervalduration86400How often remote community sources are re-fetched. Set to 0 to disable automatic refresh.
COMMUNITY_PUBLIC_EXPORTPublic ExportbooleantrueServe this instance's approved community items at /community/export.json so other instances can list them as a remote source.

Jellyfin

Environment VariableUI SettingTypeDefaultDescription
JELLYFIN_ENABLEDEnabledbooleantruePresents every configuration as a Jellyfin-compatible server at /jellyfin, for the AIOStreams web and desktop app and for Jellyfin apps. Apps sign in with the configuration UUID or alias and its password, or approve a Quick Connect code from the configuration page.
JELLYFIN_VERSIONVersionstring12.0.0Version returned by /System/Info. Clients parse it as numbers, so keep the dotted numeric form; lower it (for example 10.11.9) only if a client misbehaves with the current release.
JELLYFIN_IMAGE_DELIVERYImage Deliveryenumredirectredirect answers artwork requests with a 302 to the image URL so no image bytes pass through this server; relay fetches and pipes every image; never-relay redirects even the clients that need a relay. Infuse does not follow image redirects, so it receives a relay under redirect and blank artwork under never-relay.
JELLYFIN_IMAGE_MAX_RELAY_BYTESImage Max Relay Bytessize3000000Images bigger than this are redirected to instead of being piped through the server. Relayed artwork is already asked for at display size, so anything above this is an image that ignored that.
JELLYFIN_IMAGE_RELAY_CONCURRENCYImage Relay Concurrencynumber32How many images this server pipes at once. A cold home screen asks for every poster at the same time, and each relay in flight holds a connection open; requests over the limit are redirected instead of queued.
JELLYFIN_MAX_CATALOG_ITEMSMax Catalog Itemsnumber250How deep a Jellyfin client may page into one catalog. Library crawlers (Infuse sync, Kodi) walk every library to this cap, and each addon page of 20 items is one upstream request, so 250 costs at most ~13 requests per library and keeps a whole configuration inside the catalog cache. 0 disables the cap.
JELLYFIN_MAX_LIBRARIESMax Librariesnumber500How many of a configuration's catalogs appear as Jellyfin libraries, in the configuration's own catalog order. Catalogs past the limit are not shown as libraries. Never more than 500, which 0 also means.
JELLYFIN_CATALOG_CONCURRENCYCatalog Concurrencynumber8How many catalog requests one configuration's media server sends to its addons at once. Most Jellyfin apps load every library's latest row together when the home screen opens; the rest wait their turn.
JELLYFIN_UPCOMING_DAYSUpcoming Daysnumber90How far ahead the Upcoming row looks for the next episode of each show you are caught up on.
JELLYFIN_MAX_VERSIONSMax Versionsnumber25Upper bound on how many streams an item offers as versions. Configurations can pick a lower number.
JELLYFIN_MAX_PERSONASMax Personasnumber20How many extra users a configuration may offer its Jellyfin clients, on top of its own primary user. Each one is a name a client can sign in as, with its own watch history and variants, and all of them share the configuration password, so they separate households rather than secure them. 0 leaves only the primary user.
JELLYFIN_PIN_SIGN_INPin Sign InbooleanfalseLets a user with a PIN of 6 or more digits sign in on a configuration's /jellyfin/<uuid>/<encryptedPassword> address with that PIN instead of the configuration password, so its owner can hand each person their own user without sharing the password. That address holds the same credential as the configuration's Stremio manifest URL, so anyone with that URL who learns or guesses a PIN can use that user. The primary user and users without a PIN still need the password. Leave this off on a public instance.
JELLYFIN_RESOLVE_ON_OPENResolve On OpenenumuserStock clients build their version picker from the item page, which means fetching streams before playback starts. always does that for everyone, never only resolves on play (the picker shows a placeholder until then), user lets each configuration choose, though an app that asks the item for its versions gets them either way.
JELLYFIN_SEARCH_SUGGESTIONSSearch SuggestionsenumcinemetaWhat suggests titles while someone types a search, in the web app and in apps that ask for Jellyfin's search hints. lumieredb asks the LumiereDB instance below, which knows every IMDb title, tolerates typos and finds titles by their original names; cinemeta matches the English names in Cinemeta's list of about 20,000 popular movies and series, which this server downloads and keeps in memory; catalogs runs the configuration's own catalog search, which knows what its addons do but costs as much as a full search.
JELLYFIN_LUMIEREDB_URLLumiere DB URLstring—A LumiereDB instance started with SUGGEST_ENABLED=true, such as http://lumiere-db:8000 on the same Docker network. lumieredb search suggestions come from Cinemeta until this is set.
JELLYFIN_STREAM_CACHE_TTLStream Cache TTLduration180How long an item's resolved streams are reused before the pipeline runs again. It keeps opening an item and then playing it to a single run, while staying short enough that debrid cached/uncached status is current. Saving a configuration resolves again as soon as the change is picked up, within 30 seconds, however long this is set to. 0 resolves on every request, which is the most current and the most expensive.

Segments

Environment VariableUI SettingTypeDefaultDescription
JELLYFIN_SEGMENTS_ENABLEDSegments › EnabledbooleantrueOffers clients intro, recap and credits markers so they can show a skip button. It sends the id, season and episode of everything played to the providers below, so turn it off if that should stay private. Timestamps are submitted against one release of an episode and yours may be cut differently, so a marker can be seconds out; whether a client skips automatically or asks first is that client's own setting, not ours.
JELLYFIN_SEGMENTS_PROVIDERSSegments › ProvidersmultiEnum["introdb","aniskip","pmdb"]Which databases to ask, best first. They are all asked at once, and for each marker type the highest one on this list that has it wins. introdb is IMDb-keyed and covers every series, plus end credits for movies; aniskip is anime only and is the one provider that matches submissions against the real episode length; animeskip is anime only, needs a client id, and costs a whole-show fetch per episode; pmdb (PublicMetaDB) covers movies as well as series, and needs an API key from the instance or from each configuration, so it is skipped for a configuration that has neither.
JELLYFIN_SEGMENTS_ANIME_SKIP_CLIENT_IDSegments › Anime Skip Client IDstring(unset)Anime Skip refuses requests without one and its public shared id is heavily rate limited, so get your own from an Anime Skip account. Leaving this empty disables that provider however it is ordered. (secret)
JELLYFIN_SEGMENTS_PMDB_API_KEYSegments › Pmdb API Keystring(unset)Used for every configuration that has not entered its own key. PublicMetaDB rate limits by IP rather than by key, so a configuration's own key buys no extra headroom; it only means that configuration's lookups are made as its own account instead of yours. Leave this empty to offer PublicMetaDB only to configurations that bring a key. (secret)
JELLYFIN_SEGMENTS_BASE_URLSSegments › Base Urlsmap—Point a provider at a mirror or your own instance, keyed by provider id. Anything left out uses the public endpoint.
JELLYFIN_SEGMENTS_TTLSegments › TTLduration604800How long a set of markers is reused (accepts e.g. "7d", "12h"). They only change when somebody submits a correction, so this can be days.
JELLYFIN_SEGMENTS_NEGATIVE_TTLSegments › Negative TTLduration86400Most episodes are in none of these databases, and IntroDB answers a show it has never heard of with an empty result rather than an error, so misses have to be remembered or every episode of an uncovered series asks again on every play.
JELLYFIN_SEGMENTS_TIMEOUTSegments › Timeoutduration5How long to wait for one provider. Providers are asked in parallel, so this bounds the whole lookup rather than each one adding up. A lookup stops waiting once the providers higher on the list have the markers asked for, but some apps wait for markers before they start playing, so a provider that has to time out can delay playback by this much.
JELLYFIN_SEGMENTS_MIN_CONFIDENCESegments › Min Confidencenumber0Drop markers a provider scores below this, where it publishes a score at all (IntroDB does). It measures how far submitters agree with each other, not how well they match your file.
JELLYFIN_SEGMENTS_MIN_SUBMISSIONSSegments › Min Submissionsnumber0Drop markers backed by fewer submissions than this. Raising it to 2 discards everything only one person has ever timed, which is most of the long tail.

Linked Accounts

Environment VariableUI SettingTypeDefaultDescription
LINKED_ACCOUNTS_ENABLEDEnabledbooleantrueLet users link a Stremio account or an AIOManager instance and push their addon to it when their configuration changes. Turning this off hides the feature and rejects every request to it; existing links are kept but never used.
LINKED_ACCOUNTS_MAX_PER_USERMax Per Usernumber10How many accounts a single configuration may link. Links already over the limit are kept, but no new ones can be added until some are removed.

Media Info

Environment VariableUI SettingTypeDefaultDescription
MEDIA_INFO_PROBEProbebooleantrueThe first time a file plays, read its tracks, codecs and languages with ffprobe and remember them, so later stream lists and media servers can show the real tracks. Probe on sets where this happens.
MEDIA_INFO_PROBE_ONProbe OnmultiEnum["stremio","jellyfin","library"]Where files are probed. stremio covers plays from Stremio and every other addon client; jellyfin covers media server clients, including the wait for tracks on play; library covers NZBs added from the dashboard; shares covers the first read through the WebDAV, NFS or FUSE shares, which Sonarr, Radarr and media server scans use and usually probe themselves, so it is off by default. Debrid files are only read where that can't add another IP to the account: TorBox, proxied streams, and usenet through the built-in engine.
MEDIA_INFO_BACKFILLBackfillmultiEnum["stremthru"]Sources whose tracks are kept here, so streams from every addon show them. stremthru keeps what StremThru reports for torrent files when a debrid service checks what it has cached; remuxdb keeps the RemuxDB versions streams matched, where configurations look RemuxDB up. Leave this empty and turn Probe off to store nothing here, for example when looking files up on another instance instead.
MEDIA_INFO_PLAY_WAITPlay Waitduration0When a media server client starts a version whose tracks are not known yet and that can be read safely, probe it first and wait up to this long before answering, so the player shows the real tracks on the first play. 0 answers at once, and the tracks show from the next play. This is the default for configurations that do not set their own.
MEDIA_INFO_MAX_CONCURRENT_PROBESMax Concurrent Probesnumber1How many files may be probed at the same time. Each probe reads the start of a file and runs ffprobe, so one is usually enough.
MEDIA_INFO_MAX_QUEUED_PROBESMax Queued Probesnumber50How many files may wait for a probe. Files past this are skipped and probed the next time they play.
MEDIA_INFO_PROBE_TIMEOUTProbe Timeoutduration90The longest one probe may take, from opening the file to storing its tracks. A probe that runs over is stopped and recorded as timed out.
FFPROBE_PATHFfprobe PathstringffprobeThe ffprobe program to run. Leave it as ffprobe to use the one on the PATH, which the Docker image includes.
MEDIA_INFO_SERVEServebooleanfalseLet other AIOStreams instances look up the media info stored here, read-only. They ask by info hash or NZB key and get back the tracks of files played here, which shows which releases this instance has played.
MEDIA_INFO_LOOKUP_URLLookup URLstring—An AIOStreams instance that shares its media info. Files with nothing stored here are looked up there, so tracks show without probing them yourself. Every stream list sends the info hashes and NZB keys of its results to that instance.

Party

Environment VariableUI SettingTypeDefaultDescription
PARTY_RELAYRelayenumoffWho else may use this server's watch party relay, besides its own users. off: only users of this server start and join parties. users: users of this server start parties, and anyone with an invite joins from any server. It needs AIOSTREAMS_AUTH_REQUIRED, since a public config page would let anyone make a configuration and start parties. public: anyone starts and joins parties, for a relay meant for everyone.
PARTY_SCOPEScopeenumconfigurationWhich users of this server see each other's parties without an invite. configuration: the users of one configuration. instance: every user of this server, for a private server shared with friends. On a public server that would show strangers what others watch.
PARTY_DEFAULT_RELAYDefault Relaystringhttps://aiostreams.viren070.meA relay the apps offer for parties with people on other servers, when this server's own relay is off: the address of an AIOStreams server whose relay is open to them. Leave it empty to offer none.
PARTY_MAX_PARTIESMax Partiesnumber1000Parties held at once, its users' and the relay's together. Each takes a few kilobytes and its members' connections.

Release Blocklist

Environment VariableUI SettingTypeDefaultDescription
RELEASE_BLOCKLIST_ENABLEDEnabledbooleantrueFilter out known-dead/fake releases and record local verdicts when a usenet download fails in a way that indicates the release itself is bad. Turning this off stops filtering, stops recording new local verdicts, and pauses syncing with remote/subscribed blocklists; existing entries are kept but ignored until re-enabled.
RELEASE_BLOCKLIST_QUORUMQuorumnumber2How many corroborate-trust sources must flag the same release before their shared verdict filters it. full-trust sources always filter on their own. If you have fewer corroborate sources than this number, their verdicts never filter anything.
RELEASE_BLOCKLIST_BACKBONE_SCOPEBackbone ScopeenumoverlapHow shared dead-release verdicts are matched against the backbones your usenet providers use. A release missing on one backbone can still be intact on another, so overlap applies a verdict observed on at least one backbone you use, covers only applies one observed on every backbone you use, and off skips the check and applies every verdict. Verdicts recorded by this instance itself always apply.
RELEASE_BLOCKLIST_BACKBONE_GROUPINGBackbone GroupingenumbackboneHow provider hosts are compared during the backbone scope check. backbone treats every provider reselling the same backbone as one group, which fits takedowns: those remove an article from the shared storage for all of them at once. domain only matches verdicts recorded on the same provider domain. Backbones enforce retention per reseller, so an old article can be expired on a short-retention brand yet intact on a full-retention one riding the same backbone; domain stops such verdicts from crossing brands, at the cost of far fewer shared verdicts applying to you. Backbone ids in the trusted backbones list keep working in either mode.
RELEASE_BLOCKLIST_TRUSTED_BACKBONESTrusted Backboneslist—Extra backbones, as root domains or backbone ids (e.g. omicron), whose verdicts you accept as if your own providers used them. Useful when your providers are on a small or unrecognized backbone, where shared verdicts would otherwise never pass the backbone scope check.
RELEASE_BLOCKLIST_PUBLIC_EXPORTPublic ExportbooleanfalseServe this instance's blocklist at /blocklist/export so other instances can subscribe to it. The list contains only release digests and backbone root domains.
RELEASE_BLOCKLIST_PUBLIC_EXPORT_SCOPEPublic Export ScopeenumlocalThe most the public export is allowed to serve. With local, subscribers only ever receive verdicts this instance recorded first-hand, even if they ask for more. all additionally allows ?scope=all requests, which also serve everything collected from your subscribed and imported lists, including ones you do not trust yourself, so enable it only if you mean to re-publish them.
RELEASE_BLOCKLIST_PUBLIC_EXPORT_PASSWORDPublic Export Passwordstring(unset)When set, the public export requires ?key=<value> in the URL. Share the full URL with instances you want to allow; a missing or wrong key gets the same 404 as a disabled export, so the endpoint stays invisible. (secret)

RemuxDB

Environment VariableUI SettingTypeDefaultDescription
REMUXDB_ENABLEDEnabledbooleantrueLet users fill in missing stream details from RemuxDB. Lookups are sent from this server, so turning this off hides the setting and stops all lookups and contributions.
REMUXDB_CONTRIBUTEContributebooleanfalseSend what the media info probe reads from played files to RemuxDB, unless it already has them, so other RemuxDB users get them too. Each submission names the torrent's info hash, or the indexer and the release id on it, along with the file name, the title it was played for and a random id for this instance. Needs RemuxDB on.
REMUXDB_BASE_URLBase URLstringhttps://remuxdb.1632022.xyzThe RemuxDB server to look files up on and contribute to.
REMUXDB_CACHE_TTLCache TTLduration21600How long to cache a successful lookup.
REMUXDB_NEGATIVE_CACHE_TTLNegative Cache TTLduration1800How long to cache a "nothing found" result.
REMUXDB_ERROR_CACHE_TTLError Cache TTLduration60How long to wait before retrying a lookup that failed (timeout or error response).
REMUXDB_MINIMUM_BACKGROUND_REFRESH_INTERVALMinimum Background Refresh Intervalduration1800Minimum interval between background refreshes of a cached lookup.

Shares

Fuse

Environment VariableUI SettingTypeDefaultDescription
SHARES_FUSE_ENABLEDFuse › EnabledbooleanfalseMount the library as an ordinary folder on this machine, in-process, with real symlinks and changes that show up immediately — the simplest setup when Sonarr, Radarr and your media server run on the same host. Linux only: it needs /dev/fuse, plus SYS_ADMIN and a shared bind in Docker, and the mount status panel says whether it is working. Leave it off to mount the library some other way — rclone against the WebDAV share, or a Linux client against the NFS share — or not at all, since a player like Infuse can read the WebDAV share directly.
SHARES_FUSE_MOUNT_PATHFuse › Mount Pathstring/mnt/aiostreamsAbsolute path inside the AIOStreams container (or on the host when not using Docker) where the library is mounted. In Docker, bind the parent from the host with rshared (/mnt:/mnt:rshared) and give the arr and media server containers the same bind with rslave, so they see the mount at the same path. Applied on save: the mount is moved when the path changes.
SHARES_FUSE_ALLOW_OTHERFuse › Allow OtherbooleantrueLet processes running as a different user than AIOStreams read the mount (the allow_other mount option). Needed whenever the arr or media server runs as another uid, which is the normal Docker setup. Outside Docker, a non-root AIOStreams needs user_allow_other in /etc/fuse.conf for this.
SHARES_FUSE_OWNERFuse › OwnerstringfuseName streams started through the mount are attributed to in the dashboard and stream limits, since a local mount carries no login.

Webdav

Environment VariableUI SettingTypeDefaultDescription
SHARES_WEBDAV_ENABLEDWebdav › EnabledbooleantrueServes the library as a read-only WebDAV share at /webdav. This is the share to point rclone at when the mount runs somewhere AIOStreams cannot reach — another host, or Windows and macOS — and players that speak WebDAV themselves (Infuse, VLC) can browse it with nothing mounted. Sign in with an AIOSTREAMS_AUTH user that holds the webdav permission.

Nfs

Environment VariableUI SettingTypeDefaultDescription
SHARES_NFS_ENABLEDNfs › EnabledbooleanfalseExports the library over NFSv4 so Linux hosts and containers can mount it natively (mount -t nfs4 <host>:/ /mnt/aiostreams) with nothing in between. Use this instead of the local mount when the arr runs on a different Linux machine. NFSv4 carries no login, so access is controlled entirely by Allowed clients. (restart required)
SHARES_NFS_PORTNfs › Portnumber2049TCP port the NFS server listens on. 2049 is what clients assume when no port= mount option is given. (restart required)
SHARES_NFS_BIND_ADDRESSNfs › Bind Addressstring0.0.0.0Interface the NFS server listens on. 0.0.0.0 listens everywhere, which is what a Docker port mapping needs; 127.0.0.1 keeps it to this host. (restart required)
SHARES_NFS_ALLOWED_CLIENTSNfs › Allowed Clientsstring127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, ::1/128, fc00::/7Comma-separated addresses or CIDR blocks that may connect. The default covers private networks, which includes Docker networks and a LAN; anything else is refused at connection time. Leave empty to allow everyone. (restart required)
SHARES_NFS_OWNERNfs › OwnerstringnfsName streams started over NFS are attributed to in the dashboard and stream limits, since the protocol carries no login. (restart required)

Rclone

Environment VariableUI SettingTypeDefaultDescription
SHARES_RCLONE_RC_URLRclone › Rc URLstring—Only for a mount you run yourself with rclone mount --rc. Put its remote control address here (e.g. http://rclone:5572) and AIOStreams will tell rclone to forget its cached directory listing whenever the library changes. Without it a finished download stays invisible to the mount until --dir-cache-time expires. Leave empty to disable.
SHARES_RCLONE_RC_USERRclone › Rc Userstring—Username for the rclone remote control, if you started it with --rc-user. Leave empty when it needs no authentication.
SHARES_RCLONE_RC_PASSRclone › Rc Passstring(unset)Password for the rclone remote control (--rc-pass). (secret)

Streams

Environment VariableUI SettingTypeDefaultDescription
STREAMS_HISTORY_RETENTION_DAYSHistory Retention Daysnumber7How long finished streams stay on the dashboard history list. Bandwidth totals are kept separately and are not affected by this.
STREAMS_CLIENT_IP_RECORDINGClient IP RecordingenumfullHow much of a viewer's IP address is kept. full shows the whole address on the dashboard and in stream history, prefix keeps only the network part (203.0.113.x, 2001:db8:1::/48), and none records nothing. Server logs always carry the full address whatever this is set to.
STREAMS_SESSION_IDLE_TIMEOUTSession Idle Timeoutduration90How long a stream may go without serving bytes before it is treated as finished and moved to history. Seeking and buffering pauses are shorter than this, so they keep the same entry; resuming after it counts as a new watch. Bandwidth totals are unaffected either way.
STREAMS_CONNECTION_LIMITSConnection Limitsmap—How many streams may run at once, counted across the built-in proxy and the usenet engine together. Use ** for one pool everyone shares, * for what each unlisted user gets individually, or a username for that user alone. 0 means unlimited.

Bandwidth

Environment VariableUI SettingTypeDefaultDescription
STREAMS_BANDWIDTH_PERIOD_MODEBandwidth › Period ModeenumrollingHow the 30-day bandwidth figure (and any limits below) are measured. rolling counts the last 30 days at all times. monthly counts from a fixed reset day each month, matching how most providers meter a data cap.
STREAMS_BANDWIDTH_RESET_DAYBandwidth › Reset Daynumber1Day of the month the bandwidth period restarts when the period is set to monthly. Capped at 28 so every month has one.
STREAMS_BANDWIDTH_LIMITSBandwidth › Limitsmap—How many bytes may be served per accounting period. Use ** for one pool everyone shares, * for what each unlisted user gets individually, or a username for that user alone. Sizes accept units (e.g. 500GB); 0 means unlimited. Reaching a limit stops the streams it covers and refuses new ones. Only bytes served through AIOStreams count, so direct, unproxied links are invisible to it.

Usenet

Environment VariableUI SettingTypeDefaultDescription
USENET_PROVIDERSProvidersjson(unset)JSON array of NNTP provider objects: { id, name?, host, port, tls, tlsSkipVerify?, username?, password?, maxConnections, priority, isBackup?, enabled? }. (secret)
USENET_PERFORMANCE_PROFILEPerformance ProfileenumbalancedHow hard the engine works. balanced (the default) is right for most setups. high downloads more aggressively — best with a fast connection and a powerful machine. conservative uses less memory and CPU — best for small servers and NAS boxes. custom lets you tune the individual values below yourself.
USENET_MAX_CONCURRENT_DOWNLOADSMax Concurrent Downloadsnumber0The most download requests the engine will run at the same time, across everything it does. 0 (the default) works this out automatically from your providers’ connection limits — leave it there unless AIOStreams is putting too much load on the machine it runs on, in which case set a lower number.
USENET_MAX_CONCURRENT_INSPECTSMax Concurrent Inspectsnumber4How many NZB imports may run at the same time. Extra imports wait in a queue, and playback-triggered imports are served before background adds. 0 removes the limit.
USENET_PREFETCH_SEGMENTSPrefetch Segmentsnumber32How many pieces of the file each stream downloads ahead of the current playback position, up to 256. Higher values ride out provider stalls better, but use more memory per stream and re-fetch the whole read-ahead on every seek.
USENET_STREAMING_PRIORITYStreaming Prioritynumber0.8How strongly active playback is favoured over background work (like imports and health checks) when both want to download at once, from 0 to 1. 0.8 (the default) keeps playback smooth while background work still makes progress; 1 means playback always goes first.
USENET_SEGMENT_DISK_CACHE_BYTESSegment Disk Cache Bytessize2000000000How much disk space to use for keeping recently downloaded data. The cache survives restarts and makes seeking and re-watching faster. Set to 0 to disable it.
USENET_SEGMENT_TIMEOUTSegment Timeoutduration30How long to wait for one piece of a download before giving up on it and retrying elsewhere. Set to 0 to never give up on a piece that is still downloading.
USENET_SEGMENT_STALL_TIMEOUTSegment Stall Timeoutduration30How long to wait with no data arriving for a piece before dropping the connection and retrying. This catches connections that have hung or gone dead.
USENET_DIAL_TIMEOUTDial Timeoutduration15How long to wait when opening a connection to a provider before giving up.
USENET_IDLE_CONNECTIONIdle Connectionduration60How long to keep unused provider connections open. Keeping them around for a little while makes the next request start faster.
USENET_STREAM_IDLE_TIMEOUTStream Idle Timeoutduration3600Close a playback stream that has sent no data for this long, so abandoned connections cannot hold provider connections and memory forever. A paused player simply reconnects when it resumes. Set to 0 to disable.
USENET_CIRCUIT_BREAKER_THRESHOLDCircuit Breaker Thresholdnumber5How many times in a row a provider can fail before the engine temporarily stops using it.
USENET_CIRCUIT_BREAKER_COOLDOWNCircuit Breaker Cooldownduration30How long a failing provider is rested before the engine tries it again.
USENET_LAZY_RAR_RESOLUTIONLazy Rar ResolutionbooleantrueMakes importing large multi-part RAR releases (like season packs) much faster by reading some archive details on demand during playback instead of all up front. Leave this on unless you are troubleshooting a release that will not play.
USENET_STRICT_ARCHIVE_MEMBERSHIPStrict Archive MembershipbooleanfalseSome releases hide their real file names (“obfuscated” posts). Turning this on makes the engine identify every part of such split archives individually, which fixes rare cases of parts being matched up wrongly — at the cost of slower imports for those releases. Leave off unless an obfuscated release imports broken.
USENET_VERIFY_MODEVerify ModeenumcensusWhether to check that a release is actually complete on your providers when it is imported. census (the default) checks every part of the download without slowing the import down — badly damaged releases are rejected straight away, and slightly damaged ones are handled by the damage policy below. none skips the check; broken releases will then only fail once you try to play them.
USENET_VERIFY_BUDGET_MSVerify Budget Msnumber0Extra time (in milliseconds) an import may spend waiting on the completeness check before finishing. 0 (the default) never delays imports — the check simply carries on in the background. Raise it to catch more damage before a stream is offered, at the cost of slower imports.
USENET_CENSUS_SHADOW_CONCURRENCYCensus Shadow Concurrencynumber12How many checks run at the same time when a completeness check carries on in the background after an import. Lower is gentler on your provider connections while you are streaming; higher reaches the final verdict sooner.
USENET_CENSUS_MAX_LIFETIMECensus Max Lifetimeduration1800The longest a completeness check may keep running before it is stopped. Raise this if checks on very large releases are being cut off before they finish.
USENET_DAMAGE_POLICYDamage PolicyenumstrictWhat to do with slightly damaged releases (a few missing pieces). strict (the default) rejects them when the damage is caught in time, so another release is picked instead; damage that only shows up during playback is glitched over, and the release is not offered again afterwards. tolerant keeps damaged releases on offer, glitching over the gaps on every play. Heavy damage is always rejected and will stop playback if it only turns up mid-play.
USENET_MATROSKA_HOLE_FILLMatroska Hole FillbooleantrueWhen part of an MKV release is missing on every provider, rewrite the gap into valid Matroska padding instead of raw zeros, so players skip the damaged seconds instead of stopping playback with an error.
USENET_MAX_NZB_SIZEMax NZB Sizesize150000000The largest NZB file the engine will accept — whether uploaded in the dashboard, grabbed from an indexer, or sent through the SABnzbd API. Raise it if large season packs are being rejected as too big.
USENET_SABNZBD_API_ENABLEDSabnzbd API EnabledbooleantrueLets apps like Sonarr, Radarr and Prowlarr send downloads to AIOStreams as if it were a SABnzbd download client. Point them at /api/v1/sabnzbd, with an AIOSTREAMS_AUTH credential in username:password form as the API key.
USENET_VERIFY_CONTENTVerify ContentbooleanfalseWhile importing, read the first few kilobytes of each video file and check it really is the container its name claims. The article audit only proves the articles exist — this catches a release that was posted or assembled wrong before it is played, so failover can move on to another release. Costs about one article per file, at import and on every recheck.
USENET_VERIFY_ARTICLE_CRCVerify Article CrcbooleantrueCheck every downloaded article against the checksum its poster wrote into it, so a corrupt copy is treated like a missing one: another provider is tried, and damage present on every provider is patched over instead of playing as garbage. Basic size checks always run, so this only controls the checksum — turn it off only for a release whose poster wrote the wrong ones.
USENET_ARR_WAIT_FOR_CENSUSArr Wait For CensusbooleanfalseReport a download added through the SABnzbd API as still downloading until its background article census has finished, so the client never imports a release the audit is about to fail. Off (the default) hands the release over as soon as the quick inspect passes; a failure the census finds later is repaired through the linked Sonarr/Radarr instance. This covers everything that adds through the API — Sonarr, Radarr, NZBHydra, an interactive grab — not only linked instances.
USENET_ARR_CENSUS_HOLD_TIMEOUTArr Census Hold Timeoutduration60The longest the census hold keeps a SABnzbd-API download reported as downloading. Past this the release is handed over while the check finishes in the background; a failure found later is repaired through the linked Sonarr/Radarr instance instead. Only applies when an instance is linked — without one there is no repair path, so the hold lasts the whole census however the download was added.

Recheck

Environment VariableUI SettingTypeDefaultDescription
USENET_RECHECK_SCOPERecheck › ScopeenumoffPeriodically re-verify library entries against your providers, so a release taken down after it was added is marked failed (and, when a linked Sonarr/Radarr grabbed it, replaced) instead of staying playable on paper. sabnzbd rechecks only entries added through the SABnzbd API, whatever added them; all also covers entries added by playback and from the dashboard.
USENET_RECHECK_SCHEDULERecheck › Schedulemap{"1d":"1h","7d":"6h","30d":"1d","*":"30d"}How often to recheck, by NZB post age. Each key is a maximum age and its value the interval for entries up to that age; * covers everything older. Use never to stop rechecking a band. New posts are the ones that get taken down, so they deserve the shortest intervals. Env form: 1d:1h, 7d:6h, 30d:1d, *:30d.
USENET_RECHECK_DEPTHRecheck › Depthenumsamplesample checks a spread of articles (see the sample size) and only audits the whole release when it finds something missing; full audits every article on every recheck.
USENET_RECHECK_SAMPLE_SEGMENTSRecheck › Sample Segmentsnumber64Articles probed per entry in sample depth. A takedown removes the whole post, so a few dozen is plenty; raise it to catch partial damage sooner.
USENET_RECHECK_CONCURRENCYRecheck › Concurrencynumber2Entries rechecked at the same time.
USENET_RECHECK_BATCH_SIZERecheck › Batch Sizenumber20Entries picked up per run of the recheck task (every 5 minutes).
USENET_RECHECK_WINDOWRecheck › Windowstring—Only recheck during these hours, as HH:MM-HH:MM in the server’s local time. A range that wraps past midnight (22:00-06:00) is fine. Leave empty to recheck at any hour.

Watch State

Environment VariableUI SettingTypeDefaultDescription
WATCH_STATE_REPORT_ENABLEDReport EnabledbooleantrueSends playback events (started, paused, stopped with a watched decision, marked played or unplayed) to configured addons that declare the watch_state resource, so a tracker addon can scrobble what was actually watched instead of guessing from a subtitle request. Only Jellyfin clients produce these events; playback in Stremio reports nothing.
WATCH_STATE_PULL_ENABLEDPull EnabledbooleantrueReads back what a tracker addon knows you have watched and how far into things you are, so Continue Watching and Next Up in a Jellyfin client reflect what you watched on other devices. Requires an addon that answers the watch_state resource; what it returns replaces what was imported from it before, and never overrides something you played here.
WATCH_STATE_MAX_SINKSMax Sinksnumber3How many addons each Jellyfin user may exchange watch state with. A fan-out cap, not a permission: every addon that declares the resource is eligible, this bounds how many requests one play can turn into. 0 disables the exchange.
WATCH_STATE_DELIVERY_INTERVALDelivery Interval Secondsduration60How often queued playback events are delivered. Events are queued before the request that produced them returns, so an addon being down or slow never delays playback; this is how long a scrobble waits in the normal case. (restart required)
WATCH_STATE_DELIVERY_MAX_ATTEMPTSDelivery Max Attemptsnumber5How many times a playback event is retried before it is given up on. Backoff runs 30 seconds, 2 minutes, 10 minutes, 1 hour, 6 hours, so the default covers an addon being down for most of a day.
WATCH_STATE_DELIVERY_RETENTION_DAYSDelivery Retention Daysnumber7Delivered and given-up playback events are deleted by the daily prune task after this long. They are kept only so a failing addon can be diagnosed.
WATCH_STATE_PULL_INTERVALPull Interval Secondsduration1800How often watch state is read from addons in the background. Each read sends back the last version the addon gave, so an addon whose state has not changed answers without touching its tracker; this is the pace of that check, not of a full re-read. (restart required)
WATCH_STATE_PULL_TTLPull TTL Secondsduration300When a Jellyfin client asks for Continue Watching or Next Up and the last read is older than this, a fresh one is started in the background. The shelf is always answered from what is already stored, so a slow addon never delays it; the new state appears on the next refresh.
WATCH_STATE_ECHO_WINDOWEcho Window Secondsduration600How long something you played here is protected from being overwritten by reading it back. We report a watch to the addon, the addon writes it to a tracker, and the tracker stamps it a moment later than we did, so a plain "newer wins" rule would treat our own scrobble as fresh activity from another device. Nothing within this window is imported over.
WATCH_STATE_RETENTION_DAYSRetention Daysnumber365Watch history, favourites and dropped shows are kept for as long as the configuration is in use, and deleted by the daily prune task once it has gone unused for this many days. Unfinished progress not updated in that time is deleted on its own.
WATCH_STATE_MIN_RESUME_PERCENTMin Resume Percentnumber5Playback stopped before this much of a title has played keeps no resume point, so it stays out of Continue Watching and has no resume button. Set 0 to keep every position.
WATCH_STATE_PLAYED_PERCENTPlayed Percentnumber90Playback that reaches this much of a title marks it played and clears its resume point. Tracker addons are told it was watched, and a title imported from one this far along counts as played.
WATCH_STATE_SESSION_IDLE_TIMEOUTSession Idle Timeoutduration300How long a playback may go without a report from the client before it is treated as over and stopped at the last position it sent. A client that crashes, loses its network or is force-quit never says it stopped, and without this the title would sit in Continue Watching for ever and never scrobble. Jellyfin itself uses 5 minutes. Paused clients keep reporting, so pausing does not trip it.
WATCH_STATE_SESSION_SWEEP_INTERVALSession Sweep Interval Secondsduration60How often playbacks are checked for having gone idle. Lower means an abandoned playback is closed sooner, at the cost of one small query per interval. (restart required)
WATCH_STATE_DELIVERY_MAX_SINKSDelivery Max Sinks Per Runnumber100How many addons one delivery pass takes on. Each is leased for the length of the pass, so several instances share the queue rather than repeating each other. Raise it if the queue grows faster than it drains.
WATCH_STATE_DELIVERY_ROWS_PER_SINKDelivery Rows Per Sinknumber20The most events sent to any one addon in a single pass. This is what stops one busy or slow addon from filling every pass and starving the rest.
WATCH_STATE_DELIVERY_CONCURRENCYDelivery Concurrencynumber16How many addons are delivered to in parallel. Events for any one addon are always sent in order, one at a time, so this only widens how many addons progress together.
WATCH_STATE_DELIVERY_BUDGETDelivery Budget Secondsduration45How long a delivery pass keeps taking on new addons before it stops and leaves the rest to the next one. Keeps a run from overlapping the next when many addons are timing out.
WATCH_STATE_DELIVERY_MAX_PENDINGDelivery Max Pending Per Sinknumber2000How many events may wait for one addon before the oldest are dropped. Position pings go first; a watched or unwatched mark is only dropped if cutting those did not free enough, because nothing else carries it.
WATCH_STATE_DELIVERY_FAILURES_BEFORE_DISABLEDelivery Failures Before Disablenumber20Consecutive passes in which an addon accepted nothing before it stops receiving events and drops to an occasional probe. Any single success resets the count.
WATCH_STATE_SINK_PROBE_MINUTESSink Probe Minutesnumber60How long an addon that was dropped waits before one attempt is made again. This is the only way an addon whose credentials were since fixed comes back on its own.
WATCH_STATE_PULL_SWEEP_INTERVALPull Sweep Interval Secondsduration60How often this instance looks for addons due to be read from. Each addon is still read only once per the interval above; this is how finely that work is spread out. (restart required)
WATCH_STATE_PULL_MAX_SINKSPull Max Sinks Per Runnumber100How many addons one read pass takes on. Multiplied by how often the pass runs, this is the ceiling on how quickly the whole set can be worked through.
WATCH_STATE_PULL_CONCURRENCYPull Concurrencynumber8How many addons are read from in parallel. Each holds a database connection while it writes what it read, so on PostgreSQL keep this below the connection pool size.
WATCH_STATE_PULL_BUDGETPull Budget Secondsduration45How long a read pass keeps taking on new addons before leaving the rest to the next one.
WATCH_STATE_PULL_ACTIVE_WITHIN_HOURSPull Active Within Hoursnumber72Background reads skip configurations that have not opened a Jellyfin client for this long, so the budget goes to people who are actually watching. They still get a read on demand the moment they come back. Set 0 to read for everyone, which is what a private instance wants.
WATCH_STATE_PULL_MAX_RESPONSE_BYTESPull Max Response Bytessize5000000An addon answering with more than this is treated as having failed. Nothing is imported and nothing is removed, because a partial answer would look like the user had un-watched everything missing from it.
WATCH_STATE_PULL_MAX_ITEMSPull Max Itemsnumber5000An answer listing more titles in progress than this is refused whole, for the same reason as the size limit.
WATCH_STATE_PULL_MAX_WATCHEDPull Max Watchednumber50000An answer listing more watched titles than this is refused whole. Large libraries are normal, so this sits well above a realistic history.
WATCH_STATE_PROGRESS_FLUSH_INTERVALProgress Flush Secondsduration10How long a playback position is held in memory before being written. Clients report every 5 to 10 seconds, so this coalesces those into one write; it is also how much position is lost if the instance is killed outright. (restart required)
WATCH_STATE_PROGRESS_BUFFER_MAXProgress Buffer Maxnumber10000How many playback positions are held at once before a write is forced. Reached only with more simultaneous viewers than the interval above can drain.
WATCH_STATE_PRUNE_BATCH_SIZEPrune Batch Sizenumber1000Old watch state is deleted in batches of this size with a pause between them, so a large clear-out never holds the database for the whole delete.
WATCH_STATE_PRUNE_BUDGETPrune Budget Secondsduration60How long one prune run spends deleting before stopping. Whatever is left is picked up by the next run.

On this page

Bootstrap Variables (environment-only)EssentialOperator AuthenticationLoggingRuntime / BuildRuntime SettingsCoreGeneralBrandingSSO / OIDCTemplatesMetadataTMDBTVDBTraktID MappingsTitle ConflictsScene MappingsAnime DBLoggingNetworkHTTPProxyEncryptionDefaultForceIPRate LimitsStaticUser APIUser CreateStream APIFormat APICatalog APIAnime APIApp ReportsStremio StreamStremio CatalogStremio ManifestStremio SubtitleStremio MetaLinked Accounts APICommunity APISync APIMedia Info APILoginOIDCJellyfin LoginJellyfin APIJellyfin ImageContentServicesPresetsCometMeteorMediafusionJackettioTorrentioOrionPeerflixTorboxEasynewsEasynews PlusEasynews Plus PlusDebridioDebridio TVDBDebridio TMDBDebridio TvDebridio WatchtowerDebridio Ic4aStremthru StoreStremthru TorzStreamfusionSootioDmm CastOpensubtitlesOpensubtitles V3 PlusMarvel UniverseDc UniverseStar Wars UniverseAnime KitsuNuvio StreamsTorrent CatalogsTMDB CollectionsRPDB CatalogsStreaming CatalogsAnime CatalogsDoctor Who UniverseWebstreamrHdhubBaguettioTMDB AddonTorrents DBUsa TvUsa Tv NextArgentina TvBrazuca TorrentsSubdlSubsourceAi SearchFlix StreamsFkstreamAio SubtitleSubheroYastreamStreamasiaMore Like ThisContent Deep DiveAi CompanionAstreamBuilt-insStremthruDebridScrapeGet TorrentTorrentGrabGDriveTorbox SearchNABZileanAnimetoshoAnime Tosho NewNekobtSeadexBitmagnetJackettNzbhydraProwlarrKnabenEasynewsTorrent GalaxyEztvTherarbgThe Pirate BayTsukihimePostersResourcesTimeoutsPrecachePreloadBackgroundCacheLimitsUser LimitsTimeoutsRegexSELVariantsHealth ChecksSyncDisabledSelf ScrapingTrustedRecursionTasksPruningOtherAnalyticsApp ReportsArrQueue CleanupCommunityJellyfinSegmentsLinked AccountsMedia InfoPartyRelease BlocklistRemuxDBSharesFuseWebdavNfsRcloneStreamsBandwidthUsenetRecheckWatch State