Files
Virtnet.bond/README.md

17 KiB

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
git clone https://github.com/VirtnetBond/Virtnet.bond.git
cd Virtnet.bond
  1. Install PHP dependencies
composer install --no-dev --optimize-autoloader
  1. Install Node.js dependencies and build assets
npm install
npm run build
  1. Configure environment
cp .env.example .env
php artisan key:generate
  1. Configure your .env file
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
  1. Run migrations and seed database
php artisan migrate --seed
  1. Create storage link
php artisan storage:link
  1. Set up queue worker (recommended)
php artisan queue:work

Docker Installation

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

# 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

extensions/
└── YourExtension/
    ├── YourExtension.php    # Main extension class
    ├── Livewire/            # Livewire components
    ├── views/               # Blade templates
    ├── routes/              # Custom routes
    └── migrations/          # Database migrations

Basic Extension Class

<?php

namespace Paymenter\Extensions\Others\YourExtension;

use App\Helpers\ExtensionHelper;

class YourExtension
{
    public function enabled(): bool
    {
        // Run migrations, register routes, etc.
        return true;
    }

    public function getConfig(): array
    {
        return [
            [
                'name' => 'setting_name',
                'type' => 'text',
                'label' => 'Setting Label',
                'description' => 'Description of the setting',
            ],
        ];
    }
}

🛠️ Development

Running in Development Mode

# Start the development server
php artisan serve

# Watch for asset changes
npm run dev

# Or run both simultaneously
composer dev

Running Tests

php artisan test

Code Style

# Fix code style issues
./vendor/bin/pint

Database Migrations

# 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
# 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


👥 Contributors


📜 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Acknowledgments

Virtnet.bond is built on the shoulders of giants:



Built with ❤️ by the Virtnet.bond team

Website • Docs • Discord • Twitter