Virtnet.bond

Enterprise-Grade Billing & Service Automation Platform for Hosting Providers πŸš€

CI Status Contributors License Discord

Website β€’ Documentation β€’ Community β€’ Issues


--- ## πŸ“– Introduction **Virtnet.bond** is a powerful, self-hosted billing and service automation platform built specifically for hosting providers. It provides a centralized solution for managing product catalogs, automating server provisioning, processing payments, and delivering exceptional customer experiences. Built on **Laravel**, **Livewire**, and **Filament**, Virtnet.bond offers a modern, reactive single-page application experience with a comprehensive admin panel and customer portal.

Dashboard Preview


## ✨ Features ### πŸŽ›οΈ Admin Panel

Admin Panel

- **Filament-Powered Dashboard** - Modern admin interface with real-time statistics - **Product & Service Management** - Create and manage products, pricing, and configurations - **Customer Management** - View customer details, services, invoices, and activity - **Ticket System** - Handle support tickets with attachments and priority levels - **Announcements** - Publish system-wide or targeted announcements - **Knowledge Base** - Create documentation and guides for customers ### πŸ–₯️ Server Integrations

Server Integrations

| Server Type | Features | |-------------|----------| | **Proxmox** | VM/LXC management, console access, statistics, firewall, snapshots, cloud-init | | **Pterodactyl** | Game server management, file manager, console, backups | | **Virtualizor** | VPS management, OS reinstall, network configuration | | **VirtFusion** | Virtual machine provisioning and management | | **cPanel** | Web hosting account automation | | **DirectAdmin** | Web hosting panel integration | | **Plesk** | Web hosting automation | | **Convoy** | Container orchestration | | **Enhance** | Web hosting platform | | **Froxlor** | Server management panel | ### πŸ’³ Payment Gateways

Payment Gateways

- **Stripe** - Credit cards, Apple Pay, Google Pay, and more - **PayPal** - PayPal payments and subscriptions - *Extensible architecture for additional gateways* ### 🧩 Extensions & Plugins | Category | Extensions | |----------|------------| | **Communication** | Announcements, Knowledge Base, Contact Page, JivoChat, OpenWidget | | **Security** | AntiVPN, Authentik SSO, Security Suite, Compliance Tools | | **Analytics** | Cloudflare Analytics, UptimeLab | | **Customization** | NavbarManager, Custom Pages, Cookie Banner, Force Theme | | **Social** | Discord+, Social Base | | **Billing** | Credits Plus, Onboarding |
## πŸ—οΈ Architecture ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Virtnet.bond β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Themes β”‚ β”‚ Extensions β”‚ β”‚ Core Platform β”‚ β”‚ β”‚ β”‚ (LucentUI) β”‚ β”‚ (Modular) β”‚ β”‚ (Laravel + Livewire) β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Filament Admin Panel β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚ β”‚ β”‚ β”‚ β”‚Products β”‚ β”‚Services β”‚ β”‚ Tickets β”‚ β”‚ Configuration β”‚β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Servers β”‚ β”‚ Gateways β”‚ β”‚ Others β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β”‚ β”‚Proxmox β”‚ β”‚ β”‚ β”‚ Stripe β”‚ β”‚ β”‚ β”‚Announcementsβ”‚ β”‚ β”‚ β”‚ β”‚ β”‚Pterodac.β”‚ β”‚ β”‚ β”‚ PayPal β”‚ β”‚ β”‚ β”‚KnowledgeBaseβ”‚ β”‚ β”‚ β”‚ β”‚ β”‚Virtuali.β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ Security β”‚ β”‚ β”‚ β”‚ β”‚ β”‚VirtFusi.β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Analytics β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ cPanel β”‚ β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ```
## πŸš€ Quick Start ### Prerequisites Before installing Virtnet.bond, ensure you have: - **PHP** ^8.2 or ^8.3 - **MySQL/MariaDB** 8.0+ - **Redis** (recommended for caching/queues) - **Node.js** 18+ and npm - **Composer** 2.x ### Required PHP Extensions ``` bcmath, curl, exif, gd, gmp, intl, json, mbstring, pcntl, pdo, pdo_mysql, redis, sockets, xml, zip ``` ### Installation 1. **Clone the repository** ```bash git clone https://github.com/VirtnetBond/Virtnet.bond.git cd Virtnet.bond ``` 2. **Install PHP dependencies** ```bash composer install --no-dev --optimize-autoloader ``` 3. **Install Node.js dependencies and build assets** ```bash npm install npm run build ``` 4. **Configure environment** ```bash cp .env.example .env php artisan key:generate ``` 5. **Configure your `.env` file** ```env APP_URL=https://your-domain.com DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_DATABASE=virtnetbond DB_USERNAME=your_username DB_PASSWORD=your_password ``` 6. **Run migrations and seed database** ```bash php artisan migrate --seed ``` 7. **Create storage link** ```bash php artisan storage:link ``` 8. **Set up queue worker** (recommended) ```bash php artisan queue:work ``` ### Docker Installation ```bash docker-compose up -d ```
## πŸ“‚ Project Structure ``` Virtnet.bond/ β”œβ”€β”€ app/ β”‚ β”œβ”€β”€ Admin/ # Filament admin resources β”‚ β”‚ β”œβ”€β”€ Resources/ # CRUD resources β”‚ β”‚ β”œβ”€β”€ Pages/ # Custom admin pages β”‚ β”‚ └── Widgets/ # Dashboard widgets β”‚ β”œβ”€β”€ Livewire/ # Livewire components β”‚ β”‚ β”œβ”€β”€ Tickets/ # Ticket management β”‚ β”‚ β”œβ”€β”€ Services/ # Service management β”‚ β”‚ └── Products/ # Product browsing β”‚ β”œβ”€β”€ Models/ # Eloquent models β”‚ └── Helpers/ # Utility classes β”œβ”€β”€ extensions/ β”‚ β”œβ”€β”€ Gateways/ # Payment gateway integrations β”‚ β”‚ β”œβ”€β”€ PayPal/ β”‚ β”‚ └── Stripe/ β”‚ β”œβ”€β”€ Servers/ # Server provisioning integrations β”‚ β”‚ β”œβ”€β”€ Proxmox/ β”‚ β”‚ β”œβ”€β”€ Pterodactyl/ β”‚ β”‚ └── ... β”‚ └── Others/ # Additional extensions β”‚ β”œβ”€β”€ Announcements/ β”‚ β”œβ”€β”€ KnowledgeBase/ β”‚ └── ... β”œβ”€β”€ themes/ β”‚ └── lucentui/ # Default theme β”‚ β”œβ”€β”€ css/ β”‚ β”œβ”€β”€ views/ β”‚ └── vite.config.js β”œβ”€β”€ resources/ β”‚ └── views/ # Core Blade templates β”œβ”€β”€ routes/ β”‚ β”œβ”€β”€ web.php # Web routes β”‚ └── api.php # API routes └── config/ # Configuration files ```
## 🎨 Theming Virtnet.bond uses a powerful theming system powered by **LucentUI**. Themes support: - **CSS Custom Properties** - Theme tokens for consistent styling - **Dark/Light Mode** - Automatic theme switching - **Tailwind CSS** - Utility-first styling - **Remix Icons** - Comprehensive icon library ### Creating a Custom Theme ```bash # Create a new theme cp -r themes/lucentui themes/mytheme # Update theme.php with your theme details # Customize CSS and Blade templates # Build assets node vite.js mytheme ```
## πŸ”Œ Extension Development Extensions are the heart of Virtnet.bond's modularity. Create your own extensions to add: - Server integrations - Payment gateways - Custom pages and features - Admin panel additions ### Extension Structure ```php extensions/ └── YourExtension/ β”œβ”€β”€ YourExtension.php # Main extension class β”œβ”€β”€ Livewire/ # Livewire components β”œβ”€β”€ views/ # Blade templates β”œβ”€β”€ routes/ # Custom routes └── migrations/ # Database migrations ``` ### Basic Extension Class ```php 'setting_name', 'type' => 'text', 'label' => 'Setting Label', 'description' => 'Description of the setting', ], ]; } } ```
## πŸ› οΈ Development ### Running in Development Mode ```bash # Start the development server php artisan serve # Watch for asset changes npm run dev # Or run both simultaneously composer dev ``` ### Running Tests ```bash php artisan test ``` ### Code Style ```bash # Fix code style issues ./vendor/bin/pint ``` ### Database Migrations ```bash # Create a new migration php artisan make:migration create_example_table # Run migrations php artisan migrate # Rollback migrations php artisan migrate:rollback ```
## πŸ“Š API Documentation Virtnet.bond provides a comprehensive REST API for integration with external systems. - **API Documentation**: Available at `/docs/api` when enabled - **Authentication**: Laravel Passport OAuth2 - **Rate Limiting**: Configurable per-endpoint limits ```bash # Generate API documentation php artisan scramble:export ```
## 🀝 Contributing We welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or spreading the word - we'd love to have you. ### How to Contribute 1. **Fork the repository** 2. **Create a feature branch** (`git checkout -b feature/amazing-feature`) 3. **Commit your changes** (`git commit -m 'Add amazing feature'`) 4. **Push to the branch** (`git push origin feature/amazing-feature`) 5. **Open a Pull Request** ### Contribution Types - πŸ› **Bug Reports** - Found an issue? [Create a bug report](https://github.com/VirtnetBond/Virtnet.bond/issues/new?template=bug_report.md) - ✨ **Feature Requests** - Have an idea? [Submit a feature request](https://github.com/VirtnetBond/Virtnet.bond/issues/new?template=feature_request.md) - πŸ“– **Documentation** - Help improve our docs - 🧩 **Extensions** - Build and share extensions
## πŸ‘₯ Contributors
## πŸ“œ License This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.
## πŸ™ Acknowledgments Virtnet.bond is built on the shoulders of giants: - [Laravel](https://laravel.com) - The PHP Framework - [Livewire](https://livewire.laravel.com) - Full-stack framework for Laravel - [Filament](https://filamentphp.com) - Admin panel framework - [Tailwind CSS](https://tailwindcss.com) - Utility-first CSS framework - [Alpine.js](https://alpinejs.dev) - Lightweight JavaScript framework - [Paymenter](https://paymenter.org) - Original billing platform inspiration
---

Built with ❀️ by the Virtnet.bond team

Website β€’ Docs β€’ Discord β€’ Twitter