Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

Best Plesk alternative open source & free

License

Notifications You must be signed in to change notification settings

lumenlabss/LumenOne

Repository files navigation

image

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.


✨ Key Features

Features Description Status
🎛️ Modern UI Simple, responsive, and modern web interface Implemented
🌐 Domain Management Allow to manage domains & subdomains 🛠️ In development
📁 Files Management WebFTP/SFTP access 🛠️ Partial (WebFTP)
🐬 Database Management Database Management (SQLite) 📝 Planned
📤 FTP Account Management Create/Manage user FTP 📝 Planned
📧 Email Management Management of mail server 📝 Planned
🐳 Docker Integration Container-based isolation 📝 Planned
🔐 SSL Certificates Let's Encrypt SSL Certificates support 📝 Planned
🧩 Module System Extensions for customization Implemented
🔄 REST API API for automate and integrate LumenOne 🛠️ In development

🚀 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 --branch v1.3.0-bêta https://github.com/lumenlabss/LumenOne.git
    cd LumenOne
  3. Install dependencies:

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

    {
      "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
        }
      }
    }
  5. Create admin account:

    node create-admin.js
  6. Start the server:

    node lumenone.js
  7. Access the web interface:

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