FOSSBilling / Proxmox

Proxmox VM provisioning for FOSSBilling
GNU General Public License v3.0
31 stars 5 forks source link

Create a downloadable preview build Build and Test

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

TODOs:

Requirements

Installation ( For 0.1.0 Preview!)

Prerequisites

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

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](https://github.com/Anuril/Proxmox/assets/1939311/13ad3290-dda2-403d-be71-a1d06b2390ec)

## Storage List 
![image](https://github.com/Anuril/Proxmox/assets/1939311/01505103-3e76-4f48-89fb-16775e9b6a91)

## Templates

### VM Templates
![image](https://github.com/Anuril/Proxmox/assets/1939311/37ef5104-91fe-4275-a4db-6481f99fc71a)

### LXC Appliances
![image](https://github.com/Anuril/Proxmox/assets/1939311/96c9ec9e-087f-4736-a087-01527d532368)

### LXC Appliances
![image](https://github.com/Anuril/Proxmox/assets/1939311/7b4a780e-c3a9-44ff-87a1-a4814ef883e8)

## IPAM
![image](https://github.com/Anuril/Proxmox/assets/1939311/d8444494-c43b-4791-9bbe-27434754da8c)

![image](https://github.com/Anuril/Proxmox/assets/1939311/b1072dc6-1839-4a1e-b8c2-242d76d8d57d)

![image](https://github.com/Anuril/Proxmox/assets/1939311/738d573e-7c61-4ca0-98b9-7bc644aae353)

![image](https://github.com/Anuril/Proxmox/assets/1939311/1c4860e8-905f-4852-827d-a41d795daf0c)

## Settings
![Admin_General](https://github.com/Anuril/Proxmox/assets/1939311/42a3492b-9df7-48d8-a1c3-98e6ed698758)
![Backup](https://github.com/Anuril/Proxmox/assets/1939311/31d4c1a6-3e46-49cf-935c-af65b0582d2a)
![image](https://github.com/Anuril/Proxmox/assets/1939311/01505103-3e76-4f48-89fb-16775e9b6a91)

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

## Copyright
Copyright: Christoph Schläpfer & the FOSSBilling Team.

Based on [previous work](https://github.com/scith/BoxBilling_Proxmox) by [Scith](https://github.com/scith).