Fpam


About Proxmox

Proxmox is free virtual server hosting panel. Learn more about Proxmox on their website at https://www.proxmox.com/en/.

Supported Features

CreateCancelSuspendUnsuspendManagementConfig Options
YES
YES
YES
YES

YES

NO

Management Features

This module supports the following management features within the client area:

  • Boot, Shutdown, Mount ISO, Unmount ISO, and Reinstall.
  • Memory, CPU, Traffic, and Disk IO graphs.
  • VNC Host, Port, User, and Password VNC connection details.


Installing Proxmox

To install the Proxmox module, visit [Settings] > [Company] > [Modules] > Available, and click the "Install" button for Proxmox.

A message will be displayed, indicating that the module was successfully installed. Then click the "Add Server" button.

Enter the details for your Proxmox server.


Field NameDescription
Server LabelEnter a label for this Proxmox server, it can be anything you like.
UserEnter the user for your Proxmox server, typically root@pam for "Linux PAM standard authentication" or root@pve for "Proxmox VE authentication server"
PasswordEnter the password for your Proxmox server.
HostnameEnter the hostname for your Proxmox server. IP address works too.
SSL Port NumberEnter the SSL Port Number for your Proxmox server, typically 8006
Default storage nameEnter the defailt storage name for your Proxmox server, typically local
Next VMIDEnter the next VMID for your Proxmox server. If unsure, leave it as 200
Default TemplateEnter the default template for your Proxmox server, ie "default"
IPsEnter the IP addresses for your Proxmox server for VMs, one per line.

After filling out these options, click "Add Server" to add your Proxmox server.

Creating Packages

Packages define the pricing, welcome email, module and more. Packages can be assigned to Package Groups, and added to Order Forms. To create a Package, visit [Packages] > Browse, and click the "Create Package" button.

Creating a Package consists of several sections:

Basic

The Basic section consists of the following options:

Field NameDescription
Package NameEnter the name of this Package, it will be visible wherever services are listed and on any order forms.
Status"Active" is the default, "Inactive", and "Restricted" are also available.
Quantity AvailableIf this Package has a limited quantity available, enter the quantity, or leave it as "Unlimited".
DescriptionEnter a Description for this Package. HTML is allowed, and descriptions appear on order forms.
Configurable OptionsSelect the Configurable Option Group you created previously, to make those options available for this package.
ModuleSelect "Proxmox" for the module.

Module Options

The Module Options section consists of the following options, which are specific to Proxmox:

Field NameDescription
Proxmox Master GroupSelect your Proxmox Master Server Group, or select "Any".
Proxmox Master ServerSelect your Proxmox Master Server (If you selected "Any" for the group above)
TypeSelect the virtualization type. (KVM, or OpenVZ, but support for OpenVZ has been removed from Proxmox. LXC will be supported in a future release of the module.
StorageEnter the amount of disk for this server in GB, for example "20"
RAMEnter the amount of RAM/Memory for this server in MB, for example "1024"
vCPU countEnter the number of CPU cores for this server, for example "2"
Network speed rateEnter the network speed rate in MBytes per second, ie "20"
Assigned NodesSelect the Proxmox nodes Virtual Servers may be provisioned on. Move from right to left under Assigned Nodes

Pricing


Field NameDescription
TermEnter the term for the desired pricing option. For example, if you wish to create a 3 month pricing option, enter 3 here.
PeriodSelect the period for this pricing option. "Day", "Week", "Month", "Year", and "One time" are options. The client will be invoiced every "term period", for example every 3 months if 3 is entered for term, and Month is selected for period.
CurrencySelect the currency this pricing option is available for.
PriceEnter the price for this pricing option.
Setup FeeIf there is a setup fee, enter it here.
Cancellation FeeIf there is a fee to cancel early, enter it here.

Click the "Add Additional Price" to add more pricing options. It's common for people to create 1 Month, 3 Month, 6 Month, and 1 Year price options. There are many possible combinations.

Welcome Email

The "Tags" section describes tags that may be used in the welcome email. The welcome email content is inserted into the "Service Creation" email template under [Settings] > [Company] > [Emails] > Service Creation. Only details unique to this service should be entered into the welcome email section for the package.

Sample Email

This sample email could be used in the Package Welcome Email section to help you get started. Be sure to enter content for your welcome email in both the HTML and Text sections. You may wish to provide additional details, so it's a good idea to review the available tags in the Welcome Email section of Package creation.

Thank you for ordering VPS 1, details below:

Hostname: {service.proxmox_hostname}

Proxmox Panel: https://{module.host}:{module.port}
Username: {service.proxmox_username}
Password: {service.proxmox_password}

{service.proxmox_memory} MB RAM, {service.proxmox_hdd} GB Disk, {service.proxmox_cpu} CPU Cores

When creating or editing a package that uses this module, the following tags will be available:

TagsDescriptionNotes
{service.proxmox_vserver_id}The ID of the VM in Proxmox.e.g. "200"
{service.proxmox_hostname}The hostname for the Proxmox VM.

e.g. "proxmox.domain.com"

{service.proxmox_node}The node ID the VM is on.e.g. "proxmox-dev"
{service.proxmox_type}The VM server type.e.g. "openvz", "qemu" (KVM)
{service.proxmox_username}The user name for the client to access their Proxmox VM.e.g. "vmuser1"
{service.proxmox_password}The password for the client to access their Proxmox VM.e.g. "password123"
{service.proxmox_cpu}The number of CPUs for the VM.e.g. 2
{service.proxmox_memory}The RAM in megabytes assigned to the VMe.g. 100
{service.proxmox_hdd}The ttorage in gigabytes assigned to the servicee.g. 10
{service.proxmox_netspeed}The network speed in megabytes per seconde.g. 100
{module.host}The Proxmox server hostnamee.g. "127.0.0.1" or "proxmox.domain.com"
{module.port}The Proxmox server porte.g. "8006"

Due to the nature of tag objects containing several fields, many of which are likely irrelevant for use in email templates, but may be useful to you in certain circumstances, a dump of the tags are shown below.


The {package} object
        stdClass Object
        (
            [id] => 72
            [id_format] => {num}
            [id_value] => 63
            [id_code] => 63
            [module_id] => 19
            [name] => Proxmox Server
            [description] => 
            [description_html] => 
            [qty] => 
            [module_row] => 21
            [module_group] => 
            [taxable] => 0
            [single_term] => 0
            [status] => active
            [company_id] => 1
            [prorata_day] => 
            [prorata_cutoff] => 
            [email_content] => Array
                (
                    [0] => stdClass Object
                        (
                            [lang] => en_us
                            [html] => 
                            [text] => 
                        )

                    [1] => stdClass Object
                        (
                            [lang] => es_es
                            [html] => 
                            [text] => 
                        )

                )

            [pricing] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => 147
                            [pricing_id] => 392
                            [package_id] => 72
                            [term] => 1
                            [period] => month
                            [price] => 1.0000
                            [setup_fee] => 0.0000
                            [cancel_fee] => 0.0000
                            [currency] => USD
                        )

                )

            [meta] => stdClass Object
                (
                    [cpu] => 1
                    [hdd] => 10
                    [memory] => 100
                    [netspeed] => 100
                    [nodes] => Array
                        (
                            [0] => proxmox-dev
                        )

                    [type] => qemu
                )

            [groups] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => 82
                            [type] => standard
                            [name] => Proxmox
                            [description] => 
                            [company_id] => 1
                            [allow_upgrades] => 1
                            [names] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [lang] => en_us
                                            [name] => Proxmox
                                        )

                                    [1] => stdClass Object
                                        (
                                            [lang] => es_es
                                            [name] => Proxmox
                                        )

                                )

                            [descriptions] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [lang] => en_us
                                            [description] => 
                                        )

                                    [1] => stdClass Object
                                        (
                                            [lang] => es_es
                                            [description] => 
                                        )

                                )

                        )

                )

            [option_groups] => Array
                (
                )

            [plugins] => Array
                (
                )

            [names] => Array
                (
                    [0] => stdClass Object
                        (
                            [lang] => en_us
                            [name] => Proxmox Server
                        )

                    [1] => stdClass Object
                        (
                            [lang] => es_es
                            [name] => Proxmox Server
                        )

                )

            [descriptions] => Array
                (
                    [0] => stdClass Object
                        (
                            [lang] => en_us
                            [html] => 
                            [text] => 
                        )

                    [1] => stdClass Object
                        (
                            [lang] => es_es
                            [html] => 
                            [text] => 
                        )

                )

            [cpu] => 1
            [hdd] => 10
            [memory] => 100
            [netspeed] => 100
            [nodes] => Array
                (
                    [0] => proxmox-dev
                )

            [type] => qemu
        )
The {service} object
        stdClass Object
        (
            [id] => 1765
            [parent_service_id] => 
            [package_group_id] => 82
            [id_format] => {num}
            [id_value] => 1668
            [pricing_id] => 147
            [client_id] => 33
            [module_row_id] => 21
            [coupon_id] => 
            [qty] => 1
            [override_price] => 
            [override_currency] => 
            [status] => active
            [suspension_reason] => 
            [date_added] => 2019-01-25 20:59:16
            [date_renews] => 2019-02-25 20:59:16
            [date_last_renewed] => 
            [date_suspended] => 
            [date_canceled] => 
            [id_code] => 1668
            [fields] => Array
                (
                    [0] => stdClass Object
                        (
                            [key] => proxmox_cpu
                            [value] => 1
                            [serialized] => 0
                            [encrypted] => 0
                        )

                    [1] => stdClass Object
                        (
                            [key] => proxmox_hdd
                            [value] => 10
                            [serialized] => 0
                            [encrypted] => 0
                        )

                    [2] => stdClass Object
                        (
                            [key] => proxmox_hostname
                            [value] => host.domain.com
                            [serialized] => 0
                            [encrypted] => 0
                        )

                    [3] => stdClass Object
                        (
                            [key] => proxmox_ip
                            [value] => 
                            [serialized] => 0
                            [encrypted] => 0
                        )

                    [4] => stdClass Object
                        (
                            [key] => proxmox_memory
                            [value] => 100
                            [serialized] => 0
                            [encrypted] => 0
                        )

                    [5] => stdClass Object
                        (
                            [key] => proxmox_netspeed
                            [value] => 100
                            [serialized] => 0
                            [encrypted] => 0
                        )

                    [6] => stdClass Object
                        (
                            [key] => proxmox_node
                            [value] => proxmox-dev
                            [serialized] => 0
                            [encrypted] => 0
                        )

                    [7] => stdClass Object
                        (
                            [key] => proxmox_password
                            [value] => testpassword
                            [serialized] => 1
                            [encrypted] => 1
                        )

                    [8] => stdClass Object
                        (
                            [key] => proxmox_type
                            [value] => qemu
                            [serialized] => 0
                            [encrypted] => 0
                        )

                    [9] => stdClass Object
                        (
                            [key] => proxmox_username
                            [value] => vmuser33
                            [serialized] => 0
                            [encrypted] => 0
                        )

                    [10] => stdClass Object
                        (
                            [key] => proxmox_vserver_id
                            [value] => 
                            [serialized] => 0
                            [encrypted] => 0
                        )

                )

            [package_pricing] => stdClass Object
                (
                    [id] => 147
                    [package_id] => 72
                    [pricing_id] => 392
                    [term] => 1
                    [period] => Month
                    [price] => 1.0000
                    [setup_fee] => 0.0000
                    [cancel_fee] => 0.0000
                    [currency] => USD
                )

            [package] => stdClass Object
                (
                    [id] => 72
                    [id_format] => {num}
                    [id_value] => 63
                    [module_id] => 19
                    [name] => Proxmox Server
                    [description] => 
                    [description_html] => 
                    [qty] => 
                    [module_row] => 21
                    [module_group] => 
                    [taxable] => 0
                    [single_term] => 0
                    [status] => active
                    [company_id] => 1
                    [prorata_day] => 
                    [prorata_cutoff] => 
                )

            [options] => Array
                (
                )

            [name] => host.domain.com
            [proxmox_cpu] => 1
            [proxmox_hdd] => 10
            [proxmox_hostname] => host.domain.com
            [proxmox_ip] => 
            [proxmox_memory] => 100
            [proxmox_netspeed] => 100
            [proxmox_node] => proxmox-dev
            [proxmox_password] => testpassword
            [proxmox_type] => qemu
            [proxmox_username] => vmuser33
            [proxmox_vserver_id] => 
        )

Group Membership

If this is the first Package you are creating with this module, select the "Create a New Group" option, and enter a Group name. If you are adding a subsequent Package and wish for it to be part of the same group, select "Select from Available Groups", and move the group from the right to the left of the multi-select box.

When finished, click "Create Package" to create this package.

Final Steps

The only thing left to do is to add this Package Group to an order form so clients may place orders for your Proxmox servers. See Creating an Order Form for more details.

Common Errors

None yet

  • No labels