LumenOne
Best Plesk alternative open source & free
Install / Use
/learn @lumenlabss/LumenOneREADME
LumenOne v1.3.0-bêta
LumenOne is a free and open-source alternative to Plesk, designed to simplify web hosting management (websites, domains, databases, FTP, emails, etc.) through a modern, intuitive, and lightweight interface. Developed in Node.js, LumenOne aims to provide a performant and extensible solution for developers and system administrators.
:sparkles: Key Features
| Features | Description | Status | | -------------------------------------------- | -------------------------------------------- | ------------------------- | | :control_knobs: Modern UI | Simple, responsive, and modern web interface | ✅ Implemented | | :globe_with_meridians: Domain Management | Allow to manage domains & subdomains | 🛠️ In development | | :file_folder: Files Management | WebFTP/SFTP access | 🛠️ Partial (WebFTP) | | :dolphin: Database Management | Database Management (SQLite) | 📝 Planned | | :outbox_tray: FTP Account Management | Create/Manage user FTP | 📝 Planned | | 📧 Email Management | Management of mail server | 📝 Planned | | :whale: Docker Integration | Container-based isolation | 📝 Planned | | :closed_lock_with_key: SSL Certificates | Let's Encrypt SSL Certificates support | 📝 Planned | | :jigsaw: Module System | Extensions for customization | ✅ Implemented | | :arrows_counterclockwise: REST API | API for automate and integrate LumenOne | 🛠️ In development |
:rocket: Installation
Prerequisites
- Node.js (version 18 or higher)
- npm or yarn
- SQLite database (default)
- Linux or Windows (recommended: Linux)
- Nginx
Installation Steps
-
Go to :
cd var/www/ -
Clone the repository:
git clone --branch v1.3.0-bêta https://github.com/lumenlabss/LumenOne.git cd LumenOne -
Install dependencies:
npm install -
Configure the
config/config.jsonfile:{ "hostname": "0.0.0.0", "port": 3000, "name": "LumenOne", "version": "v1.3.0-bêta", "session": { "secret": "secret-key", "resave": false, "saveUninitialized": false, "cookie": { "secure": false } }, "rateLimit": { "global": { "windowMinutes": 15, "max": 100 }, "auth": { "windowMinutes": 15, "max": 5 } } } -
Create admin account:
node create-admin.js -
Start the server:
node lumenone.js -
Access the web interface:
http://localhost:3000 -
Nginx Config:
server { listen 80; server_name example.com; # Replace with your domain # Redirect all HTTP requests to your Node.js application location / { proxy_pass http://localhost:3000; # Replace with the port on which your Node.js app is listening proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
:page_facing_up: License
LumenOne is distributed under the MIT license. You are free to use, modify, and distribute it.
:handshake: Contributing
Contributions are welcome! Here's how you can contribute:
- Fork the project
- Create a branch (
git checkout -b feature/feature-name) - Commit your changes (
git commit -am 'Add a new feature') - Push your changes (
git push origin feature/feature-name) - Open a Pull Request
:speech_balloon: Community
Join the LumenLabs community to ask questions, report bugs, or propose ideas:
:tada: Acknowledgments
Thanks to all contributors and users who support the LumenOne project!
