Adam Daley 3d75a0b8fb Update README with archive notice
Updated README to indicate repository is archived and no longer maintained.
2026-01-06 13:14:15 +00:00
2023-07-15 13:38:37 +02:00
2022-11-03 20:17:01 +03:00
2026-01-06 13:14:15 +00:00

Warning

: This repository has been archived and is no longer maintained. For information up-to-date about FOSSBilling check the FOSSBilling/FOSSBilling repository.

Proxmox module for FOSSBilling

This module is still in development and not ready for production use.

WIP Proxmox support for FOSSBilling. As stated above, this is still heavily a WIP and is not ready for production use. Please only install it if you are a developer and intend to contribute back to the module. Please see the issues (especially #26) for the current status of the module as some great work is being done, but it's not yet to a complete state.

Server List

image

Features

  • Manage pools of Proxmox servers (orders can be allocated to servers automatically based on their capacity)
  • Complete Privilege Separation (each client can only see their own VMs),
  • Admin can't see inside client's VMs (Only the VM ID, Name, Status, IP, RAM, CPU, Disk, Bandwidth, etc.)
  • Provision LXC containers (Doensn't Work - WIP)
  • Provision QEMU KVM machines (Doensn't Work - WIP)
  • Clients can start, shutdown and reboot their VMs (online console not working right now)
  • Proxmox Servers do not have to be reachable from the Internet (Might need a nginx proxy manager for this, but not sure yet.)
  • Rudimentary Backup of Module Data (Module data is not lost anymore when reinstalling.)

TODOs:

  • Better Error Handling when creating unexpected things happen & get returned from pve host.
  • Better VM Allocation procedure
  • Consistent Naming: Templates might be confusing...
  • VM & LXC Template setup needs to be expanded so it can create VMs from it.
  • Provisioning of VMs with Cloudinit (https://pve.proxmox.com/wiki/Cloud-Init_Support)
  • Work on Usability to configure products and manage customer's products

Requirements

  • Tested on Proxmox VE 7 or higher, PVE 6 should work too

Installation ( For 0.1.0 Preview!)

Prerequisites

You need to run Fossbilling 0.5.5, otherwise this preview will not work.

  • Make sure you uninstall the Module first by going to Extensions -> Overview
  • Then, make sure that you move the pmxconfig folder in your Fossbilling rootfolder so the new installer doesn't accidentially restore an old backup. mv /var/www/pmxconfig /var/www/pmxold
  • Make sure you don't have any tables beginning with service_promxox in your database anymore:
-- Create a stored procedure to drop tables starting with "service_proxmox" in the "client" database --

USE client; -- Set this to the database where FOSSBilling is installed

DELIMITER //
CREATE PROCEDURE DropTables()
BEGIN
    DECLARE done INT DEFAULT FALSE;
    DECLARE tableName VARCHAR(255);
    DECLARE cur CURSOR FOR
        SELECT table_name
        FROM information_schema.tables
        WHERE table_schema = 'client' -- replace client with your database name
        AND table_name LIKE 'service_proxmox%';
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
    
    OPEN cur;
    read_loop: LOOP
        FETCH cur INTO tableName;
        IF done THEN
            LEAVE read_loop;
        END IF;
        SET @sql = CONCAT('DROP TABLE IF EXISTS `', tableName, '`;');
        PREPARE stmt FROM @sql;
        EXECUTE stmt;
        DEALLOCATE PREPARE stmt;
    END LOOP;
    CLOSE cur;
END;
//
DELIMITER ;

-- Call the stored procedure to drop the tables
CALL DropTables();

-- Drop the stored procedure
DROP PROCEDURE IF EXISTS DropTables;

Installation for 0.1.0 Preview

  • Go to the Modules folder (f.ex: cd /var/www/modules)
  • Run git clone https://github.com/FOSSBilling/Proxmox.git Serviceproxmox
  • Go Inside the directory cd Serviceproxmox/
  • Checkout the 0.1.0 branch git checkout 0.1.0
  • Make sure to chown to your web-servers User (f.ex chown www-data:www-data Serviceproxmox -Rf)
  • Install the Module in the Web interface.
  • Configure the Proxmox module in the FOSSBilling admin area
  • Add new Proxmox servers.
  • "Prepare Server" on each Proxmox server (this will create the necessary API user and role) (The Plus Button in the Server List)
  • Add new Proxmox products with the correct VM settings setup

The Proxmox Addon now has its own Menu Entry:

image

Storage List

image

Templates

VM Templates

image

LXC Appliances

image

LXC Appliances

image

IPAM

image

image

image

image

Settings

Admin_General Backup image

Licensing

This module is licensed under the GNU General Public License v3.0. See the LICENSE file for more information.

Copyright: Christoph Schläpfer & the FOSSBilling Team.

Based on previous work by Scith.

Description
Proxmox VM provisioning for FOSSBilling pve虚拟机管理器
Readme GPL-3.0 1.1 MiB
Languages
Twig 54.6%
PHP 40.6%
HTML 4.5%
CSS 0.3%