Skip to main content

Deployment

NeoMovies API v2 is deployed on Vercel as Rust serverless functions (api/*.rs) and builds Docusaurus docs from docs/.

Prerequisites

1. Local Validation

cp .env.example .env
cargo check
cargo test --lib

2. Run API Locally

cargo run --bin server

Default local API URL: http://localhost:3000/api/v1.

Port can be set via:

  • LOCAL_SERVER_PORT (priority)
  • PORT

Example:

LOCAL_SERVER_PORT=3001 cargo run --bin server

For local docs preview, run Docusaurus separately:

npm --prefix docs ci
npm --prefix docs run start

Default local docs URL: http://localhost:3000/docs.

3. Deploy to Vercel

vercel deploy --prod

vercel.json defines:

  • buildCommand: npm --prefix docs ci && npm --prefix docs run build
  • rewrites for docs (/) and API (/api/v1/*)

Environment Variables

VariableRequiredDescription
MONGO_URIMongoDB connection string
JWT_SECRETJWT signing secret
MONGO_DB_NAMEDB name (default: neomovies)
KPAPI_KEYKinopoisk API key
KPAPI_BASE_URLKP API base URL
NEO_ID_URLNeo ID base URL
NEO_ID_API_KEYNeo ID API key
NEO_ID_SITE_IDNeo ID site ID
ALLOHA_TOKENAlloha token
LUMEX_URLLumex embed base URL
VIBIX_HOSTVibix host
VIBIX_TOKENVibix token
HDVB_TOKENHDVB token
COLLAPS_API_HOSTCollaps API host
COLLAPS_TOKENCollaps token
REDAPI_BASE_URLTorrent API base URL

Routes After Vercel Deploy

  • / — docs site (Vercel-only route)
  • /api/v1/* — REST API