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