Skip to content

Control panel built on the latest technologies, including Docker, Laravel 11, PHP 8.3, Filament 3.2 and Livewire 3.5

Notifications You must be signed in to change notification settings

liberu-control-panel/control-panel-laravel

Repository files navigation

Liberu Server Control Panel

Install Tests Docker

Overview

  • User Authentication: Secure login and registration with Jetstream.
  • Profiles: Customizable user profiles with avatars and bio information.
  • Real-Time Notifications: Stay updated with real-time in-app notifications.
  • Private Messaging: Direct messaging between users.
  • Search: Find users, posts, and groups easily with powerful search functionality.
  • Admin Panel: Manage users, posts, and settings with Filament.
  • Responsive Design: Optimized for both desktop and mobile devices.
  • Extensible: Modular architecture for easy feature extension and customization.

Our Projects

Control Panel Features Summary

General Features

  1. User Authentication and Authorization

    • Secure login for administrators and users.
    • Role-based access control to restrict features based on user roles.
  2. Dashboard

    • Overview of system status and resource usage (CPU, memory, disk).
    • Quick access to recent activities and system alerts.

NGINX Virtual Hosts Management

  1. Create and Manage Virtual Hosts

    • Easy-to-use interface for adding, editing, and deleting virtual hosts.
    • Support for SSL/TLS configuration including Let's Encrypt integration.
    • Configure root directory, server name, and additional server directives.
  2. Template Management

    • Use and customize templates for common configurations.
    • Option to apply custom configurations per host.

BIND DNS Records Management

  1. DNS Zone Management

    • Create, edit, and delete DNS zones.
    • Overview of existing zones and their status.
  2. DNS Record Management

    • Add, edit, and remove DNS records (A, AAAA, CNAME, MX, TXT, etc.).
    • View all records for a specific zone.
    • Propagation status and error checking.

Postfix and Dovecot Email Management

  1. Email Domain Management

    • Add and manage email domains.
    • Configure domain-specific settings.
  2. Email Account Management

    • Create, edit, and delete email accounts.
    • Set mailbox quotas and forwarding rules.
    • Password management and reset functionality.
  3. Email Aliases and Forwarders

    • Create and manage email aliases.
    • Configure email forwarders for account redirection.

MySQL Database Management

  1. Database Creation and Management

    • Create, edit, and delete databases.
    • Assign databases to specific users.
  2. User Management

    • Create, edit, and delete database users.
    • Manage user permissions and access rights.
  3. Backup and Restore

    • Scheduled and manual backups of databases.
    • Restore databases from backups with a few clicks.

Docker Compose Integration

  1. Service Deployment

    • One-click deployment of all services using Docker Compose.
    • Manage individual service status (start, stop, restart).
  2. Configuration Management

    • Edit Docker Compose YAML configuration directly from the control panel.
    • Apply and save changes to configurations seamlessly.
  3. Logs and Monitoring

    • View real-time logs for each service.
    • Monitor health and performance metrics of containers.
  4. Updates and Maintenance

    • Automated updates for Docker images.
    • Maintenance mode to safely perform system updates and backups.

User Interface

  • Responsive Design
    • Accessible from desktop and mobile devices.
  • Intuitive Navigation
    • User-friendly interface with clear navigation and helpful tooltips.
  • Search and Filter
    • Quickly find specific hosts, records, email accounts, and databases with search and filter options.

This control panel would streamline the management of web hosting, DNS, email, and databases, making it ideal for web administrators and hosting providers.

Setup

  1. Ensure your environment is set up with PHP 8.3 and Composer installed.
  2. Download the project files from this GitHub repository.
  3. Open a terminal in the project folder. If you are on Windows and have Git Bash installed, you can use it for the following steps.
  4. Run the following command:
./setup.sh

and everything should be installed automatically if you are using Linux you just run the script as you normally run scripts in the terminal.

NOTE 1: The script will ask you if you want to have your .env be overwritten by .env.example, in case you have already an .env configuration available please answer with "n" (No).

NOTE 2: This script will run seeders, please make sure you are aware of this and don't run this script if you don't want this to happen.

composer install
php artisan key:generate
php artisan migrate --seed

This will install the necessary dependencies, generate an application key, and set up your database with initial data.

NOTE 3: Ensure your .env file is correctly configured with your database connection details before running migrations.

Building with Docker

Alternatively, you can build and run the project using Docker. To build the Dockerfile, follow these steps:

  1. Ensure you have Docker installed on your system.
  2. Open a terminal in the project folder.
  3. Run the following command to build the Docker image:
    docker build -t control-panel-laravel .
    
  4. Once the image is built, you can run the container with:
    docker run -p 8000:8000 control-panel-laravel
    

NOTE 3: Ensure your .env file is correctly configured with your database connection details before running migrations.

Using Laravel Sail

This project also includes support for Laravel Sail, which provides a Docker-based development environment. To use Laravel Sail, follow these steps:

  1. Ensure you have Docker installed on your system.
  2. Open a terminal in the project folder.
  3. Run the following command to start the Laravel Sail environment:
    ./vendor/bin/sail up
    
  4. Once the containers are running, you can access the application at http://localhost.
  5. To stop the Sail environment, press Ctrl+C in the terminal.

For more information on using Laravel Sail, refer to the official documentation.

Description

Licensed under MIT, use for any personal or commercial project.

Demostration website

Contributions

We warmly welcome new contributions from the community! We believe in the power of collaboration and appreciate any involvement you'd like to have in improving our project. Whether you prefer submitting pull requests with code enhancements or raising issues to help us identify areas of improvement, we value your participation.

If you have code changes or feature enhancements to propose, pull requests are a fantastic way to share your ideas with us. We encourage you to fork the project, make the necessary modifications, and submit a pull request for our review. Our team will diligently review your changes and work together with you to ensure the highest quality outcome.

However, we understand that not everyone is comfortable with submitting code directly. If you come across any issues or have suggestions for improvement, we greatly appreciate your input. By raising an issue, you provide valuable insights that help us identify and address potential problems or opportunities for growth.

Whether through pull requests or issues, your contributions play a vital role in making our project even better. We believe in fostering an inclusive and collaborative environment where everyone's ideas are valued and respected.

We look forward to your involvement, and together, we can create a vibrant and thriving project. Thank you for considering contributing to our community!

License

This project is licensed under the MIT license, granting you the freedom to utilize it for both personal and commercial projects. The MIT license ensures that you have the flexibility to adapt, modify, and distribute the project as per your needs. Feel free to incorporate it into your own ventures, whether they are personal endeavors or part of a larger commercial undertaking. The permissive nature of the MIT license empowers you to leverage this project without any unnecessary restrictions. Enjoy the benefits of this open and accessible license as you embark on your creative and entrepreneurial pursuits.

Contributors