Installation

How to deploy the KissKH Video Player Node.js server on your hosting environment

Updated May 5, 2026
OtakuThemes Team

Before You Begin

Make sure your server meets all requirements — specifically Node.js 18 or higher and outbound HTTPS access.

You should have the kisskh-video-player project folder downloaded from the member area.

Step 1: Upload the Files

Upload the entire kisskh-video-player folder to your server. The location depends on your setup:

  • VPS — any directory, e.g. /var/www/kisskh-player
  • cPanel — upload to your desired application directory (e.g. ~/kisskh-player or a subdomain folder)
  • PaaS — connect the repository or push via their CLI

The folder structure you upload should look like this:

kisskh-video-player/
├── src/
│   ├── server.js          ← application entry point
│   ├── kisskh.js          ← KissKH API client
│   ├── subs.js            ← subtitle decryptor
│   ├── admin.js           ← admin panel
│   ├── cache.js           ← in-memory + Redis cache
│   ├── kkey.js            ← auth key helper
│   ├── vendor/            ← KissKH cipher scripts (do not modify)
│   └── views/             ← HTML templates
├── package.json
└── .env.example

Step 2: Install Dependencies

In the project root, run:

npm install

This installs express and crypto-js. No build step is needed.

Step 3: Create Your .env File

Copy .env.example to .env:

cp .env.example .env

Then open .env in a text editor and configure it. See the Environment Variables page for a full explanation of every option.

At minimum, set ADMIN_PASSWORD to enable the admin panel:

PORT=3000
ADMIN_PASSWORD=your-secure-password
URL_SECRET=a-random-secret-string

Step 4: Start the Server

Production (Standard VPS)

node src/server.js

To keep it running after you disconnect, use a process manager:

# PM2 (recommended)
npm install -g pm2
pm2 start src/server.js --name kisskh-player
pm2 save
pm2 startup

Development (with auto-restart)

npm run dev

This uses nodemon to restart the server automatically when you edit files.

cPanel / Passenger

  1. In cPanel, go to Setup Node.js App
  2. Click Create Application
  3. Set Node.js version to 18 or higher
  4. Set Application root to the project folder (e.g. kisskh-player)
  5. Set Application startup file to src/server.js
  6. Add your environment variables in the Environment Variables section (same as .env — do not upload a .env file on Passenger setups, use the cPanel UI instead)
  7. Click Create then Run NPM Install
  8. Click Restart
PORT on cPanel

Do not set the PORT environment variable on Passenger-based hosting. Passenger injects the port automatically. Setting it manually can cause conflicts.

Step 5: Verify It's Running

Open your server's URL (or http://localhost:3000 for local setups) in a browser. You should see the KissKH Player welcome page.

To test a live episode, visit:

http://your-server.com/kisskh/136523
Embed Only — Direct Access Blocked

The /kisskh/{id} URL will show a blocked page when opened directly in a browser. This is intentional security behaviour — the player only works when loaded inside an <iframe> from an allowed origin. See the Embed Guide for how to embed it correctly.

Next Steps