Documentation

Complete guide to installing, configuring, and using SuperLandings for high-converting landing pages.

Installation

Prerequisites

  • Node.js 16+ and npm
  • Docker and Docker Compose
  • Git

Quick Install

# Clone the repository
git clone https://github.com/javimosch/superlandings.git
cd superlandings
# Copy environment file
cp .env.example .env
# Start with Docker
docker-compose up -d

Manual Install

# Install dependencies
npm install
# Start development server
npm run dev
# Start production server
npm start

Configuration

Environment Variables

PORT
Server port (default: 3000)
SESSION_SECRET
Secret for session encryption
ADMIN_USERNAME
Default admin username
ADMIN_PASSWORD
Default admin password
NODE_ENV
Environment (development/production)

Directory Structure

superlandings/
├── data/                 # Data storage
│   ├── sessions/        # Session files
│   ├── uploads/         # File uploads
│   └── landings/        # Landing pages
├── lib/                 # Core libraries
├── routes/              # API routes
├── views/               # EJS templates
├── docs/                # Documentation
├── docker-compose.yml   # Docker configuration
└── server.js           # Main server file

Getting Started

First Steps

  1. Access Admin Panel: Open http://localhost:3000/admin in your browser
  2. Login: Use the credentials configured in your .env file
  3. Create First Landing: Click "New Landing" and choose your template
  4. Customize: Use the built-in editor to modify content and styling
  5. Publish: Set up custom domain or use the default slug

Creating Your First Landing Page

Quick Start Example

  1. Navigate to the admin panel
  2. Click "Create New Landing"
  3. Choose "Blank HTML" or select a template
  4. Enter a name and slug (e.g., "welcome-page")
  5. Use the code editor to add your content
  6. Click "Save" then "Publish"
  7. Access at http://localhost:3000/welcome-page

Features

Multi-Tenant Architecture

Support for multiple organizations with role-based access control (RBAC).

  • Organization management
  • User roles and permissions
  • Team collaboration

Version Control & Audit

Complete audit trail with version snapshots and rollback capabilities.

  • Automatic version snapshots
  • Detailed audit logs
  • One-click rollback

Template Engine

Full EJS support for dynamic content with server-side rendering.

  • EJS template support
  • Dynamic content injection
  • Reusable components

Custom Domains

Traefik integration for automatic SSL and custom domain routing.

  • Automatic SSL certificates
  • Custom domain mapping
  • Load balancing

API Reference

Core Endpoints

All API endpoints require session authentication. Login via the admin panel to establish a session.

Endpoints

GET /api/landings
List all landing pages
POST /api/landings
Create new landing page
PUT /api/landings/:id
Update landing page
DELETE /api/landings/:id
Delete landing page
GET /api/organizations
List organizations

Deployment

Docker Deployment

Production deployment using Docker Compose:

version: '3.8'
services:
  superlandings:
    build: .
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
    volumes:
      - ./data:/app/data
    restart: unless-stopped

Traefik Setup

Configure Traefik for automatic SSL and domain routing:

labels:
  - "traefik.enable=true"
  - "traefik.http.routers.superlandings.rule=Host(`yourdomain.com`)"
  - "traefik.http.routers.superlandings.tls.certresolver=letsencrypt"

Troubleshooting

Can't access admin panel?

Check that the server is running and verify your port configuration. Default port is 3000.

Login not working?

Verify ADMIN_USERNAME and ADMIN_PASSWORD in your .env file match what you're entering.

Landing page not loading?

Check that the page is published and the slug/domain configuration is correct.

Session issues?

Clear your browser cookies and ensure SESSION_SECRET is set in your environment.