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_URLRequired. Public URL of your instance, including protocol (e.g. https://aiostreams.example.com).
SECRET_KEYRequired. 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).
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_URIRedis 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_AUTHComma-separated username:password pairs defining all valid credentials. e.g. user1:pass1,user2:pass2.
AIOSTREAMS_AUTH_PERMISSIONSPer-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 DataboolOrListWhether 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 HtmlstringOptional HTML injected into the configuration page.
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_ISSUERIssuerstringOIDC 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 IDstringOAuth 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 PrefixstringPrepended 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 PermissionsmapMaps 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 PermissionsstringPermissions 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 IdslistUp 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_URLSUrlslistRemote 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 IDstringTrakt 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 OverridesmapPer-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 ProxylistOutbound HTTP proxy URL(s) used when fetching addon endpoints.
ADDON_PROXY_CONFIGAddon Proxy ConfigmapPer-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 MappingsmapOrigin-level URL rewrites applied to outbound requests. JSON object of {origin: replacement} URLs.

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 › EnabledjsonWhen set, used as the default proxy enabled state for new users.
DEFAULT_PROXY_IDDefault › IDstringDefault proxy service identifier.
DEFAULT_PROXY_URLDefault › URLstringDefault proxy URL.
DEFAULT_PROXY_PUBLIC_URLDefault › Public URLstringPublic-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 IPstringPublic IP of the default proxy.
DEFAULT_PROXY_PROXIED_SERVICESDefault › Proxied ServiceslistList of serviceIds to proxy by default. JSON array of strings.

Force

Environment VariableUI SettingTypeDefaultDescription
FORCE_PROXY_ENABLEDForce › EnabledjsonOverride user choice of whether the proxy is enabled.
FORCE_PROXY_IDForce › IDstringOverride user choice of proxy service identifier.
FORCE_PROXY_URLForce › URLstringOverride user choice of proxy URL.
FORCE_PROXY_PUBLIC_URLForce › Public URLstringOverride user choice of proxy public URL.
FORCE_PROXY_CREDENTIALSForce › Credentialsstring(unset)Override user choice of proxy credentials. (secret)
FORCE_PROXY_PUBLIC_IPForce › Public IPstringOverride 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 ServiceslistList 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)

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)

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)

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 TimeoutnumberDefault timeout for the Comet addon (milliseconds). Falls back to the global default when unset.
DEFAULT_COMET_USER_AGENTComet › Default User AgentstringDefault User-Agent for the Comet addon. Supports {version}/{random} placeholders.
COMET_PUBLIC_API_TOKENComet › Public API TokenlistPublic 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 TimeoutnumberDefault timeout for the Meteor addon (milliseconds). Falls back to the global default when unset.
DEFAULT_METEOR_USER_AGENTMeteor › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the MediaFusion addon (milliseconds). Falls back to the global default when unset.
DEFAULT_MEDIAFUSION_USER_AGENTMediafusion › Default User AgentstringDefault 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 OnlyjsonWhen 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 TimeoutnumberDefault timeout for the Jackettio addon (milliseconds). Falls back to the global default when unset.
DEFAULT_JACKETTIO_USER_AGENTJackettio › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Torrentio addon (milliseconds). Falls back to the global default when unset.
DEFAULT_TORRENTIO_USER_AGENTTorrentio › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Orion addon (milliseconds). Falls back to the global default when unset.
DEFAULT_ORION_USER_AGENTOrion › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Peerflix addon (milliseconds). Falls back to the global default when unset.
DEFAULT_PEERFLIX_USER_AGENTPeerflix › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Torbox addon (milliseconds). Falls back to the global default when unset.
DEFAULT_TORBOX_USER_AGENTTorbox › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Easynews addon (milliseconds). Falls back to the global default when unset.
DEFAULT_EASYNEWS_USER_AGENTEasynews › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Easynews+ addon (milliseconds). Falls back to the global default when unset.
DEFAULT_EASYNEWS_PLUS_USER_AGENTEasynews Plus › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Easynews++ addon (milliseconds). Falls back to the global default when unset.
DEFAULT_EASYNEWS_PLUS_PLUS_USER_AGENTEasynews Plus Plus › Default User AgentstringDefault User-Agent for the Easynews++ addon. Supports {version}/{random} placeholders.
EASYNEWS_PLUS_PLUS_PUBLIC_URLEasynews Plus Plus › Public URLstringPublic-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 TimeoutnumberDefault timeout for the Debridio addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DEBRIDIO_USER_AGENTDebridio › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Debridio TVDB addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DEBRIDIO_TVDB_USER_AGENTDebridio TVDB › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Debridio TMDB addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DEBRIDIO_TMDB_USER_AGENTDebridio TMDB › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Debridio TV addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DEBRIDIO_TV_USER_AGENTDebridio Tv › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Debridio Watchtower addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DEBRIDIO_WATCHTOWER_USER_AGENTDebridio Watchtower › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Debridio IC4A addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DEBRIDIO_IC4A_USER_AGENTDebridio Ic4a › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the StremThru Store addon (milliseconds). Falls back to the global default when unset.
DEFAULT_STREMTHRU_STORE_USER_AGENTStremthru Store › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the StremThru Torz addon (milliseconds). Falls back to the global default when unset.
DEFAULT_STREMTHRU_TORZ_USER_AGENTStremthru Torz › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the StreamFusion addon (milliseconds). Falls back to the global default when unset.
DEFAULT_STREAMFUSION_USER_AGENTStreamfusion › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Sootio addon (milliseconds). Falls back to the global default when unset.
DEFAULT_SOOTIO_USER_AGENTSootio › Default User AgentstringDefault User-Agent for the Sootio addon. Supports {version}/{random} placeholders.

Dmm Cast

Environment VariableUI SettingTypeDefaultDescription
DEFAULT_DMM_CAST_TIMEOUTDmm Cast › Default TimeoutnumberDefault timeout for the DMM Cast addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DMM_CAST_USER_AGENTDmm Cast › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the OpenSubtitles addon (milliseconds). Falls back to the global default when unset.
DEFAULT_OPENSUBTITLES_USER_AGENTOpensubtitles › Default User AgentstringDefault 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 TimeoutnumberDefault 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 AgentstringDefault 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 TimeoutnumberDefault timeout for the Marvel Universe addon (milliseconds). Falls back to the global default when unset.
DEFAULT_MARVEL_CATALOG_USER_AGENTMarvel Universe › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the DC Universe addon (milliseconds). Falls back to the global default when unset.
DEFAULT_DC_UNIVERSE_USER_AGENTDc Universe › Default User AgentstringDefault 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 TimeoutnumberDefault 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 AgentstringDefault 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 TimeoutnumberDefault timeout for the Anime Kitsu addon (milliseconds). Falls back to the global default when unset.
DEFAULT_ANIME_KITSU_USER_AGENTAnime Kitsu › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the NuvioStreams addon (milliseconds). Falls back to the global default when unset.
DEFAULT_NUVIOSTREAMS_USER_AGENTNuvio Streams › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Torrent Catalogs addon (milliseconds). Falls back to the global default when unset.
DEFAULT_TORRENT_CATALOGS_USER_AGENTTorrent Catalogs › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the TMDB Collections addon (milliseconds). Falls back to the global default when unset.
DEFAULT_TMDB_COLLECTIONS_USER_AGENTTMDB Collections › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the RPDB Catalogs addon (milliseconds). Falls back to the global default when unset.
DEFAULT_RPDB_CATALOGS_USER_AGENTRPDB Catalogs › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Streaming Catalogs addon (milliseconds). Falls back to the global default when unset.
DEFAULT_STREAMING_CATALOGS_USER_AGENTStreaming Catalogs › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Anime Catalogs addon (milliseconds). Falls back to the global default when unset.
DEFAULT_ANIME_CATALOGS_USER_AGENTAnime Catalogs › Default User AgentstringDefault 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 TimeoutnumberDefault 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 AgentstringDefault User-Agent for the Doctor Who Universe addon. Supports {version}/{random} placeholders.

Webstreamr

Environment VariableUI SettingTypeDefaultDescription
WEBSTREAMR_URLWebstreamr › URLlist["https://webstreamr.hayd.uk"]Upstream URL(s) for the WebStreamr addon.
DEFAULT_WEBSTREAMR_TIMEOUTWebstreamr › Default TimeoutnumberDefault timeout for the WebStreamr addon (milliseconds). Falls back to the global default when unset.
DEFAULT_WEBSTREAMR_USER_AGENTWebstreamr › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the HdHub addon (milliseconds). Falls back to the global default when unset.
DEFAULT_HDHUB_USER_AGENTHdhub › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Baguettio addon (milliseconds). Falls back to the global default when unset.
DEFAULT_BAGUETTIO_USER_AGENTBaguettio › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the TMDB Addon addon (milliseconds). Falls back to the global default when unset.
DEFAULT_TMDB_ADDON_USER_AGENTTMDB Addon › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Torrents DB addon (milliseconds). Falls back to the global default when unset.
DEFAULT_TORRENTS_DB_USER_AGENTTorrents DB › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the USA TV addon (milliseconds). Falls back to the global default when unset.
DEFAULT_USA_TV_USER_AGENTUsa Tv › Default User AgentstringDefault 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 TimeoutnumberDefault 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 AgentstringDefault 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 TimeoutnumberDefault timeout for the Argentina TV addon (milliseconds). Falls back to the global default when unset.
DEFAULT_ARGENTINA_TV_USER_AGENTArgentina Tv › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Brazuca Torrents addon (milliseconds). Falls back to the global default when unset.
DEFAULT_BRAZUCA_TORRENTS_USER_AGENTBrazuca Torrents › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the SubDL addon (milliseconds). Falls back to the global default when unset.
DEFAULT_SUBDL_USER_AGENTSubdl › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the SubSource addon (milliseconds). Falls back to the global default when unset.
DEFAULT_SUBSOURCE_USER_AGENTSubsource › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the AI Search addon (milliseconds). Falls back to the global default when unset.
DEFAULT_AI_SEARCH_USER_AGENTAi Search › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the Flix-Streams addon (milliseconds). Falls back to the global default when unset.
DEFAULT_FLIX_STREAMS_USER_AGENTFlix Streams › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the FKStream addon (milliseconds). Falls back to the global default when unset.
DEFAULT_FKSTREAM_USER_AGENTFkstream › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the AIOSubtitle addon (milliseconds). Falls back to the global default when unset.
DEFAULT_AIOSUBTITLE_USER_AGENTAio Subtitle › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the SubHero addon (milliseconds). Falls back to the global default when unset.
DEFAULT_SUBHERO_USER_AGENTSubhero › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the yastream addon (milliseconds). Falls back to the global default when unset.
DEFAULT_YASTREAM_USER_AGENTYastream › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the StreamAsia addon (milliseconds). Falls back to the global default when unset.
DEFAULT_STREAMASIA_USER_AGENTStreamasia › Default User AgentstringDefault 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 TimeoutnumberDefault 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 AgentstringDefault 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 TimeoutnumberDefault 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 AgentstringDefault 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 TimeoutnumberDefault timeout for the AI Companion addon (milliseconds). Falls back to the global default when unset.
DEFAULT_AI_COMPANION_USER_AGENTAi Companion › Default User AgentstringDefault 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 TimeoutnumberDefault timeout for the AStream addon (milliseconds). Falls back to the global default when unset.
DEFAULT_ASTREAM_USER_AGENTAstream › Default User AgentstringDefault 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 StoreenumBackend 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 LanguagesmapFine-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 IDstringOAuth 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 › TimeoutnumberTimeout for Google Drive requests.
BUILTIN_GDRIVE_USER_AGENTGDrive › User AgentstringUser-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 › TimeoutnumberTimeout for Torbox Search requests.
BUILTIN_TORBOX_SEARCH_USER_AGENTTorbox Search › User AgentstringUser-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.
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 › TimeoutnumberTimeout 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 › TimeoutnumberTimeout for AnimeTosho requests.

Anime Tosho New

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_ANIME_TOSHO_NEW_URLAnime Tosho New › URLstringhttps://feed.animetosho.xyzBase URL for the Anime Tosho (New) built-in addon.
BUILTIN_DEFAULT_ANIME_TOSHO_NEW_TIMEOUTAnime Tosho New › TimeoutnumberTimeout 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 › TimeoutnumberTimeout 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 › URLstringBase URL for the Bitmagnet built-in addon.
BUILTIN_DEFAULT_BITMAGNET_TIMEOUTBitmagnet › TimeoutnumberTimeout for Bitmagnet requests.

Jackett

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_JACKETT_URLJackett › URLstringBase 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 › TimeoutnumberTimeout for Jackett requests.

Nzbhydra

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_NZBHYDRA_URLNzbhydra › URLstringBase 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 › TimeoutnumberTimeout for NZBHydra requests.

Prowlarr

Environment VariableUI SettingTypeDefaultDescription
BUILTIN_PROWLARR_URLProwlarr › URLstringBase 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 › IndexerslistComma-separated list of Prowlarr indexers to query.
BUILTIN_DEFAULT_PROWLARR_TIMEOUTProwlarr › Default TimeoutnumberDefault 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 TimeoutnumberDefault 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 TimeoutnumberDefault 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 TimeoutnumberDefault 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 TimeoutnumberDefault 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 TimeoutnumberDefault 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.

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 MappingsmapOrigin-level rewrites applied to stream URLs returned to clients. JSON object of {origin: replacement} URLs.

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 › TimeoutnumberTimeout 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). 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 SizenumberMaximum 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 SizenumberMaximum 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 SizenumberMaximum 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 SizenumberMaximum 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 SizenumberMaximum 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 Lengthnumber5000Maximum 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 › PatternslistRegex patterns whitelisted for non-trusted users.
WHITELISTED_REGEX_PATTERNS_URLSRegex › Patterns UrlslistURLs from which to fetch additional whitelisted regex patterns periodically.
WHITELISTED_REGEX_PATTERNS_DESCRIPTIONRegex › Patterns DescriptionstringFree-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 › UrlslistStream 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_INSTRUCTIONSVariants › Max Instructionsnumber100Maximum number of instructions in a single variant script.
MAX_ACTIVE_VARIANTSVariants › Max Activenumber4Maximum number of variants that may be combined on a single request.
MAX_VARIANT_DEPTHVariants › Max Depthnumber5Maximum depth a variant may nest others through "use variant".
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.
HEALTH_CHECK_ALLOW_PRIVATE_URLSHealth Checks › Allow Private UrlsbooleanfalseLet health checks point at private addresses. Anyone who can save a configuration can then probe your internal network, so only enable this on an instance you trust the users of.

Sync

Environment VariableUI SettingTypeDefaultDescription
WHITELISTED_SYNC_REFRESH_INTERVALSync › Refresh Intervalduration86400How often whitelisted regex/SEL sync URLs are refreshed (accepts e.g. "5m", "1h"). (restart required)

Disabled

Environment VariableUI SettingTypeDefaultDescription
DISABLED_ADDONSDisabled › AddonsmapMap of disabled addon IDs to a reason. Env-supplied form: comma-separated "addon:reason" entries.
REMOVED_ADDONSDisabled › Removed AddonsmapMap of removed addon IDs (hidden from marketplace; errors on save) to a reason. Env-supplied form: comma-separated "addon:reason" entries.
DISABLED_SERVICESDisabled › ServicesmapMap of disabled service IDs to a reason. Env-supplied form: comma-separated "service:reason" entries.
DISABLED_HOSTSDisabled › HostsmapMap of disabled hostnames to a reason. Env-supplied form: comma-separated "host:reason" entries.
DISABLED_STREAM_TYPESDisabled › Stream TypeslistStream 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 › UuidsstringComma-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.

Arr

Environment VariableUI SettingTypeDefaultDescription
ARR_MOUNT_DIRMount DirstringAbsolute 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. (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 SourceslistOther 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.

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_ALLOW_PRIVATE_URLSAllow Private UrlsbooleanfalseAllow linking an AIOManager instance on a private or loopback address, such as http://aiomanager:1610 on a Docker network. This lets anyone who can create a configuration make this server send requests to your internal network, so only enable it on a trusted, non-public instance.

Release Blocklist

Environment VariableUI SettingTypeDefaultDescription
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 BackboneslistExtra 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)

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 URLstringOnly 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 UserstringUsername 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 LimitsmapHow 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 › LimitsmapHow 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 ContentbooleanfalseAfter the article audit passes, read the first few kilobytes of each video file and check it really is the container its name claims. The audit only proves the articles exist — this catches a release that was posted or assembled wrong. Costs about one article per file, at import and on every recheck.
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 › WindowstringOnly 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.

On this page

Bootstrap Variables (environment-only)EssentialOperator AuthenticationLoggingRuntime / BuildRuntime SettingsCoreGeneralBrandingSSO / OIDCTemplatesMetadataTMDBTVDBTraktID MappingsTitle ConflictsScene MappingsAnime DBLoggingNetworkHTTPProxyEncryptionDefaultForceIPRate LimitsStaticUser APIUser CreateStream APIFormat APICatalog APIAnime APIStremio StreamStremio CatalogStremio ManifestStremio SubtitleStremio MetaLinked Accounts APICommunity APILoginOIDCContentServicesPresetsCometMeteorMediafusionJackettioTorrentioOrionPeerflixTorboxEasynewsEasynews 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 BayPostersResourcesTimeoutsPrecachePreloadBackgroundCacheLimitsUser LimitsTimeoutsRegexSELVariantsHealth ChecksSyncDisabledSelf ScrapingTrustedRecursionTasksPruningOtherAnalyticsArrQueue CleanupCommunityLinked AccountsRelease BlocklistSharesFuseWebdavNfsRcloneStreamsBandwidthUsenetRecheck