This guide walks you through getting the ElmapiCMS Landing Page NextJS Starter running locally and deploying it to production.
Prerequisites
Node.js ≥ 18 (Recommended 18 LTS or later) and npm (ships with Node) or pnpm / Yarn.
An ElmapiCMS project with:
Project ID (unique identifier)
API Key (read-only)
GitHub/Vercel/Netlify account for deployment.
Getting the code
Get landing-page-nextjs.zip from your CodeCanyon download package, or from GitHub Releases → Assets if you bought with GitHub access (same archive). See Starter templates.
# 1. Extract the zip$ unzip landing-page-nextjs.zip$ cd landing-page-nextjs# 2. Install dependencies$ npm install # or pnpm install / yarn
If you prefer to keep your project under version control (recommended for collaboration/deployments) run:
This lets you push the code to GitHub, GitLab, or Bitbucket later – useful for continuous deployment platforms like Vercel.
Configure environment variables
Copy the .env.example file to .env.local in the project root:
cp .env.example .env.local
Then fill in the required keys:
# ElmapiCMS credentialsELMAPI_PROJECT_ID=YOUR_PROJECT_IDELMAPI_API_KEY=YOUR_READ_API_KEYELMAPI_API_URL=https://elmapicms.com/api # your ElmapiCMS API URL
ℹ️ Don't commit secrets to version control – .env.local is ignored by default.
Running locally
# Start the Next.js dev server$ npm run dev# Open http://localhost:3000 in your browser
Any changes to components or pages hot-reload instantly.
⚠️ Local SSL note: If you're also running ElmapiCMS on https://localhost with a self-signed certificate, Node will block requests unless you disable strict TLS verification.
The starter template automatically handles this for development environments with .test URLs. For other local setups, add the environment variable only for local work:
NODE_TLS_REJECT_UNAUTHORIZED=0 npm run dev
NODE_TLS_REJECT_UNAUTHORIZED=0 npm run build
NODE_TLS_REJECT_UNAUTHORIZED=0 npm start
🚨 Do not use this flag in production deployments – it bypasses SSL validation entirely.
Creating a new project
Log in to ElmapiCMS and click Create Project.
In the wizard choose "Choose from a template".
Select "Landing Page Next.js" from the template list and check the "Include demo content" option.
Click Create Project and the project is provisioned with all collections, relations, and sample data.
Grab the Project ID and API Key from Project → Settings → API and paste them into .env.local. See API Access for more information.
Start the dev server (npm run dev) – you should see the landing page with demo content immediately. Edit/delete entries as you like.
Project Structure
The Landing Page Next.js starter includes the following CMS collections:
Settings (singleton): Site-wide configuration including site name, description, URLs, logos, SEO settings, and navigation links
Hero Section (singleton): Hero section with badge text, title, description, CTA buttons, and images
Features Section (singleton): Features list with icons, titles, and descriptions
Pricing Section (singleton): Pricing information with features list