2026-09-12 17:27:36 +01:00
|
|
|
# ==============================================================================
|
|
|
|
|
# AIOStreams - .env
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
# AIOStreams has TWO kinds of configuration:
|
|
|
|
|
#
|
|
|
|
|
# 1. BOOTSTRAP variables (this file) - 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 here and cannot be changed from the dashboard.
|
|
|
|
|
#
|
|
|
|
|
# 2. RUNTIME settings - everything else (branding, presets, built-ins, proxy,
|
|
|
|
|
# caching, rate limits, limits, metadata, …). These are stored in the
|
|
|
|
|
# database and are best configured from the dashboard Settings page, where
|
|
|
|
|
# they can be edited live and validated. Every runtime setting still has a
|
|
|
|
|
# matching environment variable; setting it here locks that value (the
|
|
|
|
|
# field becomes read-only in the UI). Only do that if you specifically want
|
|
|
|
|
# an immutable, env-pinned value.
|
|
|
|
|
#
|
|
|
|
|
# Full reference for every variable (bootstrap AND runtime):
|
|
|
|
|
# https://docs.aiostreams.viren070.me/configuration/environment-variables
|
|
|
|
|
#
|
|
|
|
|
# Upgrading from an older version? Read:
|
|
|
|
|
# https://docs.aiostreams.viren070.me/migrations/v2.30
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
# ESSENTIAL (REQUIRED)
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
|
|
|
|
|
# The base URL of your addon, including protocol and hostname (and port if not
|
|
|
|
|
# behind a reverse proxy). REQUIRED. Used for generating installation URLs,
|
|
|
|
|
# self-scraping detection, genre links, and built-in addon stream URLs.
|
|
|
|
|
# Example: https://aiostreams.yourdomain.com
|
|
|
|
|
BASE_URL=https://atream.charcarservices.uk
|
|
|
|
|
|
|
|
|
|
# CRITICAL: secret used to encrypt stored addon configurations.
|
|
|
|
|
# MUST be a 64-character hex string. Cannot be changed after first run
|
|
|
|
|
# (doing so makes existing encrypted configs undecryptable).
|
|
|
|
|
# Generate one:
|
|
|
|
|
# Linux/macOS: openssl rand -hex 32
|
|
|
|
|
# Windows (PowerShell): -join ((0..31) | ForEach-Object { '{0:x2}' -f (Get-Random -Minimum 0 -Maximum 255) })
|
|
|
|
|
# (The legacy alias SESSION_SECRET is still accepted for one minor release.)
|
|
|
|
|
SECRET_KEY=af1423c51cb939f24c903f09c6f4f476bf2ed929b36105b3ad466af7e95515c3
|
|
|
|
|
|
|
|
|
|
# REQUIRED: database URI for storing addon configuration.
|
|
|
|
|
# Supports SQLite (simplest) or PostgreSQL.
|
|
|
|
|
# SQLite: DATABASE_URI=sqlite://./data/db.sqlite
|
|
|
|
|
# PostgreSQL: DATABASE_URI=postgres://user:password@host:port/database_name
|
|
|
|
|
DATABASE_URI=sqlite://./data/db.sqlite
|
|
|
|
|
|
|
|
|
|
# Directory for the disk-backed caches (usenet segments, grabbed NZBs, torrent
|
|
|
|
|
# metadata). Defaults to `cache` under the data folder; set this to move the
|
|
|
|
|
# caches elsewhere (e.g. faster or non-persistent storage).
|
|
|
|
|
# DISK_CACHE_DIR=/mnt/scratch/aiostreams-cache
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
# SERVER
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
|
|
|
|
|
# The port the addon listens on.
|
|
|
|
|
# PORT=3000
|
|
|
|
|
|
|
|
|
|
# Optionally override the internal URL used when communicating with built-in
|
|
|
|
|
# addons. The default is fine for almost all setups.
|
|
|
|
|
# INTERNAL_URL=http://localhost:3000
|
|
|
|
|
|
|
|
|
|
# Node environment: production (default), development, or test.
|
|
|
|
|
# NODE_ENV=production
|
|
|
|
|
|
|
|
|
|
# Allow the dashboard System page to stop the AIOStreams process.
|
|
|
|
|
# SYSTEM_LIFECYCLE_ENABLED=false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
# REDIS (optional — scaled deployments)
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
# Only recommended when running multiple instances (e.g. Docker Swarm).
|
|
|
|
|
# For standard single-container setups, leave this blank — AIOStreams uses a
|
|
|
|
|
# faster internal memory cache that is more than sufficient.
|
|
|
|
|
# REDIS_URI=redis://your_redis_hostname:6379
|
|
|
|
|
# Redis client connect timeout in milliseconds.
|
|
|
|
|
# REDIS_TIMEOUT=5000
|
|
|
|
|
|
|
|
|
|
# How 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.
|
|
|
|
|
# SETTINGS_REFRESH_INTERVAL=30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
# OPERATOR AUTHENTICATION
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
# Credentials for this AIOStreams instance. Comma-separated username:password pairs.
|
|
|
|
|
# e.g. user1:pass1,user2:pass2
|
|
|
|
|
# AIOSTREAMS_AUTH=
|
|
|
|
|
|
|
|
|
|
# Per-user permissions. Comma-separated `username=perm1|perm2` entries.
|
|
|
|
|
# Valid permissions: admin, proxy, service, sabnzbd.
|
|
|
|
|
# - admin: access the dashboard + admin-only endpoints. A superset that
|
|
|
|
|
# implies every other permission.
|
|
|
|
|
# - proxy: use the built-in proxy.
|
|
|
|
|
# - service: use the native usenet/debrid service.
|
|
|
|
|
# - sabnzbd: use the SABnzbd-compatible API.
|
|
|
|
|
# - none: no permissions — the user may still log in to a protected config
|
|
|
|
|
# page but cannot use any permission-gated feature.
|
|
|
|
|
# Any user NOT listed here defaults to admin (all permissions). Logging in to
|
|
|
|
|
# the configure page never requires a permission; the dashboard requires admin.
|
|
|
|
|
# e.g. alice=admin,bob=proxy|sabnzbd,carol=service,dave=none
|
|
|
|
|
# AIOSTREAMS_AUTH_PERMISSIONS=
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
# PRE-DB LOGGING
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
# These configure the logger.
|
|
|
|
|
|
|
|
|
|
# error | warn | info | http | verbose | debug | silly
|
|
|
|
|
# LOG_LEVEL=info
|
|
|
|
|
|
|
|
|
|
# text | json (json is recommended for production)
|
|
|
|
|
# LOG_FORMAT=json
|
|
|
|
|
|
|
|
|
|
# In-memory buffer of recent log lines for the dashboard Logs page.
|
|
|
|
|
# LOG_BUFFER_MAX_BYTES=67108864
|
|
|
|
|
# LOG_BUFFER_MAX_ENTRIES=200000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
# EVERYTHING ELSE
|
|
|
|
|
# ==============================================================================
|
|
|
|
|
# All other settings — addon name/ID, presets, built-in addons, debrid/service
|
|
|
|
|
# credentials, stream proxy, caching, rate limits, user limits, metadata, etc.
|
|
|
|
|
# - are runtime settings. Configure them from the dashboard Settings page.
|
|
|
|
|
#
|
|
|
|
|
# If you must pin one via the environment, find its variable name, format, and
|
|
|
|
|
# default in the reference:
|
|
|
|
|
# https://docs.aiostreams.viren070.me/configuration/environment-variables
|
|
|
|
|
# ==============================================================================
|