Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.cinepro.cc/llms.txt

Use this file to discover all available pages before exploring further.

Copy .env.example to .env before starting the server. CinePro Core requires a valid TMDB_API_KEY to resolve metadata and start correctly.

Required vs optional

Required

  • TMDB_API_KEY — required for metadata lookups and startup

Optional

  • PORT, HOST, PUBLIC_URL, NODE_ENV — server runtime settings
  • CACHE_TYPE, REDIS_* — only needed for Redis-backed caching
  • STREMIO_ADDON, MCP_ENABLED, CORS_ORIGIN, TMDB_CACHE_TTL — optional integrations and tuning

Server configuration

PORT
number
default:"3000"
The port CinePro Core listens on.
.env
PORT=3000
.env
PORT=8080
HOST
string
default:"localhost"
The hostname or IP address the server binds to.Use localhost during development to keep the API limited to your machine.
Use 0.0.0.0 in Docker or production if the API should be reachable from other devices.
.env
HOST=localhost
.env
HOST=0.0.0.0
PUBLIC_URL
string
The public base URL of your CinePro Core instance. Use this when your server is exposed through a public hostname, reverse proxy, or domain.
.env
PUBLIC_URL=https://api.example.com
Include the protocol and do not add a trailing slash. A wrong PUBLIC_URL can produce broken absolute URLs in responses.
NODE_ENV
string
default:"development"
Controls the runtime mode.
ValueUsage
developmentLocal development, debugging, and npm run dev
productionOptimized runtime for npm start and deployed instances
.env
NODE_ENV=development
.env
NODE_ENV=production
CORS_ORIGIN
string
Optional. Restricts which browser origins may call the CinePro API.Leave unset to keep the default behavior, or set it to a specific origin if you expose the API publicly.
.env
CORS_ORIGIN=https://example.com

Optional integrations

STREMIO_ADDON
boolean
default:"false"
Enables CinePro’s Stremio addon support.When enabled, CinePro exposes a Stremio manifest endpoint at /stremio/manifest.json so your instance can be added as a Stremio source.
.env
STREMIO_ADDON=true

Adding custom Stremio addons as sources

CinePro Core can also pull streams from existing Stremio addons and surface them as additional sources. This list is configured in src/server.ts rather than via an environment variable.As of the May 7, 2026 release, the default stremioAddons array is empty — you must explicitly add the addons you want to use:
src/server.ts
stremio: {
    enableNativeAddon: process.env.STREMIO_ADDON === 'true',
    stremioAddons: [
        {
            id: 'some-unique-id',
            url: 'https://example.com/manifest.json',
            enabled: true
        }
    ]
}
FieldTypeDescription
idstringUnique identifier for the addon within CinePro
urlstringFull URL to the addon’s manifest.json
enabledbooleanToggle the addon without removing the entry
Earlier versions of CinePro Core shipped two community addons (WebStreamerMBG and Streamify) pre-wired in this list. They have been removed so you can curate your own list from a clean slate.
MCP_ENABLED
boolean
default:"false"
Enables Model Context Protocol support for MCP-compatible clients and AI agents.
.env
MCP_ENABLED=true
Enable this only if you actually plan to connect CinePro to MCP clients. Regular API users do not need it.

TMDB configuration

TMDB_API_KEY
string
required
Your TMDB (The Movie Database) API key. CinePro Core uses TMDB for metadata such as titles, IDs, and artwork.
1

Create a TMDB account

Sign up at themoviedb.org.
2

Request an API key

Open Settings → API in TMDB and request a developer key.
3

Add the key to your .env

.env
TMDB_API_KEY=your_tmdb_api_key_here
Keep this key private and never commit your .env file to version control.
TMDB_CACHE_TTL
number
default:"86400"
Defines how long TMDB metadata responses are cached, in seconds.The default 86400 equals 24 hours.
.env
TMDB_CACHE_TTL=86400

Cache configuration

CACHE_TYPE
string
default:"memory"
Selects the cache backend used by CinePro Core.
ValueBest for
memoryLocal development and simple single-instance setups
redisProduction deployments and shared or persistent caching
.env
CACHE_TYPE=memory
.env
CACHE_TYPE=redis
If you use redis, configure the Redis connection variables below as well.

Redis configuration

These variables are only needed when CACHE_TYPE=redis.
REDIS_HOST
string
default:"localhost"
Hostname or IP address of your Redis server.
.env
REDIS_HOST=localhost
.env
REDIS_HOST=redis.example.com
REDIS_PORT
number
default:"6379"
Port of your Redis instance.
.env
REDIS_PORT=6379
REDIS_PASSWORD
string
Optional password for Redis authentication.
.env
REDIS_PASSWORD=
.env
REDIS_PASSWORD=supersecretpassword
Never commit Redis credentials to source control. Use environment injection or a secrets manager in production.

Full .env examples

Development

.env
PORT=3000
HOST=localhost
NODE_ENV=development

TMDB_API_KEY=your_tmdb_api_key_here
TMDB_CACHE_TTL=86400

CACHE_TYPE=memory

Production

.env
PORT=8080
HOST=0.0.0.0
NODE_ENV=production
PUBLIC_URL=https://api.example.com

TMDB_API_KEY=your_tmdb_api_key_here
TMDB_CACHE_TTL=86400

CACHE_TYPE=redis
REDIS_HOST=redis.example.com
REDIS_PORT=6379
REDIS_PASSWORD=supersecretpassword

STREMIO_ADDON=false
MCP_ENABLED=false

Docker Compose

.env
PORT=3000
HOST=0.0.0.0
NODE_ENV=production
PUBLIC_URL=http://localhost:3000

TMDB_API_KEY=your_tmdb_api_key_here
TMDB_CACHE_TTL=86400

CACHE_TYPE=redis
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
In Docker Compose, REDIS_HOST should usually be the Redis service name from compose.yml, not localhost.