Skip to main content

Prerequisites

Before you start, you will need:

Install Node.js

Install Node.js v20 or higher.
Download and run the LTS installer from nodejs.org.
Verify your installation:
node -v   # should print v20.x.x or higher
npm -v

Clone the repository

git clone https://github.com/cinepro-org/core.git
cd core

Install dependencies

npm install

Configure environment variables

Copy the example environment file and fill in your values:
copy .env.example .env
Open .env in your editor and set at minimum:
# Required
TMDB_API_KEY=your_tmdb_api_key_here

# Server
PORT=3000
HOST=localhost
NODE_ENV=development

# Cache (use 'memory' for local dev)
CACHE_TYPE=memory
CACHE_TYPE=memory is fine for development. Switch to redis for production deployments.

Start the dev server

npm run dev
CinePro Core will start with hot reload at http://localhost:3000.

Production build (without Docker)

If you prefer running without Docker in a production environment:
# 1. Build the TypeScript source
npm run build

# 2. Set production env vars
NODE_ENV=production

# 3. Start the compiled server
npm start
Set NODE_ENV=production to silence debug logging. For persistence across restarts consider a process manager such as PM2 (pm2 start dist/server.js).

Available scripts

CommandDescription
npm run devDevelopment server with hot reload
npm run buildCompile TypeScript to dist/
npm startStart production server (requires build first)
npm run formatFormat code with Prettier

Explore the API

Your server is running — dive into the OMSS-compliant endpoint reference to start fetching movie and TV show sources.

Configure providers

Learn how to enable, disable, or add new streaming source providers to your CinePro Core instance.