LumenOne Documentation
Installation
Set up and launch LumenOne with this comprehensive installation guide.
Picking a Server OS
LumenOne runs on a wide range of operating systems. We recommend using a stable Linux distribution for the best performance and security.
| Operating System | Version | Notes |
|---|---|---|
| Debian | 10 & 11 | Tested and recommended. No major complications. |
| Ubuntu | 20.04 LTS, 22.04 LTS | Full support, works without a hitch. |
| Windows | 10, Server 2019 | Beware of compatibility with certain dependencies. |
| CentOS | 7, 8 | Works, but adjustments are sometimes necessary. |
| Fedora | 34+ | Full support, but often requires recent package updates. |
Dependency Installation
Update your system and install the required packages.
apt update -y && apt upgrade -y apt install nodejs -y && apt install nginx -y && apt install git -y && apt install npm -y
Download Files
Clone the LumenOne repository into your web directory.
cd /var/www/ git clone https://github.com/lumenlabss/LumenOne.git
Configuration
Configure LumenOne by editing the .env file.
Navigate to the folder:
cd LumenOne
Rename the file:
.env.exemple to .env
Open the config file:
nano .env
Example configuration:
# ============================================
# SERVER CONFIGURATION
# ============================================
# Server listening address (0.0.0.0 for all interfaces)
SERVER_HOST=0.0.0.0
# Server port
PORT=3000
# Environment mode (development or production)
NODE_ENV=development
# ============================================
# SESSION SECURITY
# ============================================
# Session secret key (MUST be changed in production!)
# This will be auto-generated if you don't set it
SESSION_SECRET=change-me-to-a-random-uuid
# Session configuration
SESSION_RESAVE=false
SESSION_SAVE_UNINITIALIZED=false
# Enable secure cookies (set to true in production with HTTPS)
SESSION_COOKIE_SECURE=false
# ============================================
# RATE LIMITING
# ============================================
# Global rate limit (all requests)
RATE_LIMIT_GLOBAL_WINDOW=15 # minutes
RATE_LIMIT_GLOBAL_MAX=100 # max requests per window
# Authentication rate limit (login/register)
RATE_LIMIT_AUTH_WINDOW=15 # minutes
RATE_LIMIT_AUTH_MAX=5 # max attempts per window
# ============================================
# APPLICATION
# ============================================
# Application name (displayed in UI)
APP_NAME=LumenOne
Tip: To configure the web server (Nginx), please refer to the WebServer documentation.
Execution
Install Node.js dependencies and start the application.
npm install
Run LumenOne using node or a process manager like PM2:
node lumenone.js # or pm2 start lumenone.js