Skip to content

lumenlabss/LumenOne

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

LumenOne v1.2.0-bêta

LumenOne is under development: some features may be unstable or incomplete. Its use in a production environment is strongly discouraged at this time.

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.


✨ Key Features (some feature not available now)

  • 🎛️ Simple, responsive, and modern web interface
  • 🌐 Domain & subdomain management
  • 📁 File management (via SFTP/WebFTP)
  • 🐬 Database management (SQLite)
  • 📤 FTP account management
  • 📧 Email management (optional)
  • 🐳 Docker integration (optional for service isolation)
  • 🔐 Let's Encrypt SSL certificates
  • 🧩 Module/extension system for customization
  • 🔄 REST API for automation and integration
⚠️ LumenOne currently doesn't encrypt user passwords. This will be fixed in V.1.0.0, but for now, just don't leak your "lumenone.db".

🚀 Installation

Prerequisites

  • Node.js (version 18 or higher)
  • npm or yarn
  • SQLite database (default)
  • Linux or Windows (recommended: Linux)
  • Nginx

Installation Steps

  1. Go to :

    cd var/www/
  2. Clone the repository:

    git clone https://github.com/lumenlabss/LumenOne.git
    cd LumenOne
  3. Install dependencies:

    npm install
  4. Configure the config/config.json file:

    {
      "hostname": "localhost",
      "port": 3000,
      "name": "LumenOne",
      "version": "Pre-Alpha"
    }
  5. Start the server:

    node lumenone.js
  6. Access the web interface:

    http://localhost:3000
    
  7. 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;
     }
    }
    

📄 License

LumenOne is distributed under the MIT license. You are free to use, modify, and distribute it.


🤝 Contributing

Contributions are welcome! Here's how you can contribute:

  1. Fork the project
  2. Create a branch (git checkout -b feature/feature-name)
  3. Commit your changes (git commit -am 'Add a new feature')
  4. Push your changes (git push origin feature/feature-name)
  5. Open a Pull Request

💬 Community

Join the LumenLabs community to ask questions, report bugs, or propose ideas:


🎉 Acknowledgments

Thanks to all contributors and users who support the LumenOne project!

Star History

Star History Chart

Sponsor this project

Packages

No packages published

Contributors 5