Complete guide to installing, configuring, and using SuperLandings for high-converting landing pages.
git clone https://github.com/javimosch/superlandings.git
cd superlandings
cp .env.example .env
docker-compose up -d
npm install
npm run dev
npm start
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
Support for multiple organizations with role-based access control (RBAC).
Complete audit trail with version snapshots and rollback capabilities.
Full EJS support for dynamic content with server-side rendering.
Traefik integration for automatic SSL and custom domain routing.
Authentication, user management, and organization rights.
Multi-tenancy and organization-scoped access.
Full lifecycle management for HTML, EJS, and Virtual landings.
Automated DNS configuration and SSL management.
Automated snapshots, rollbacks, and content diffing.
Dynamic routing and SSH-based deployment workflow.
Complete forensic trail of all administrative actions.
Integrated code editor, live previews, and modal workflow.
AI-powered YAML generation and global Traefik settings.
Serving logic, migration system, and Docker configuration.
JSON and MongoDB engines with automatic synchronization.
RBAC, session management, and SSH deployment security.
Project architecture, environment setup, and contribution guide.
System components, data flows, and architecture diagrams.
Handling complex static sites, folder structures, and virtual mirroring.
All API endpoints require session authentication. Login via the admin panel to establish a session.
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
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"
Check that the server is running and verify your port configuration. Default port is 3000.
Verify ADMIN_USERNAME and ADMIN_PASSWORD in your .env file match what you're entering.
Check that the page is published and the slug/domain configuration is correct.
Clear your browser cookies and ensure SESSION_SECRET is set in your environment.