ArkHostandGitHub 3bfc327763 Update ArkHostHetznerVPS.php
- Firewall Display: Removed fake "default open" rules that didn't exist in Hetzner dashboard
- Firewall Creation: Fixed "name already used" error with unique timestamp naming
- Firewall Association: Fixed API errors when attaching firewalls to servers
2025-09-08 21:24:29 +02:00
2025-07-21 15:15:42 +02:00
2025-08-16 11:27:36 +02:00

ArkHost Hetzner VPS Module

WHMCS server module for Hetzner Cloud VPS management.

Features

Core

  • VPS lifecycle: create, suspend, unsuspend, terminate
  • Server control: start, stop, restart, shutdown
  • Automatic provisioning on payment

Advanced

  • Floating IP management with reverse DNS
  • Backup creation and restoration
  • Firewall rule management
  • Performance graphs (CPU, network, disk I/O)
  • Rescue mode with temporary passwords
  • ISO mounting
  • OS reinstallation

Interface

  • Bootstrap 4 responsive design
  • Multiple language translations included
  • Real-time status updates
  • VNC console access

Requirements

  • WHMCS 8.9+
  • PHP 7.4+
  • Hetzner Cloud API token
  • cURL extension
  • HTTPS connection

Installation

  1. Upload files to /path/to/whmcs/modules/servers/ArkHostHetznerVPS/
  2. Create server and add it to a server group:
    • Setup → Products/Services → Servers → Create New Group
    • Name: Hetzner Cloud
    • Type: ArkHostHetznerVPS
    • Hostname: localhost
    • Username: Hetzner Project ID (optional)
    • Password: Hetzner Cloud API Token
  3. Create products:
    • Setup → Products/Services → Products/Services → Create New Product
    • Type: VPS/Dedicated Server
    • Module: ArkHostHetznerVPS
    • Server Group: Select Hetzner Cloud

Configuration

Module Settings

  • Server Type: cx11cx21cx31cx41cx51 , etc.
  • Operating System: ubuntu-20.04debian-11, etc.
  • Datacenter: fsn1nbg1hel1ashhil
  • Backups: On/Off
  • Create Floating IP: On/Off

Custom Field (Required)

  • Field Name: ArkHostHetznerVPS|VPS ID
  • Type: Text Box
  • Admin Only: Yes

For ModulesGarden migration, keep existing serverID|Server ID field.

Configurable Options

Create in Setup → Products/Services → Configurable Options:

1. Floating IP Add-on

  • Option Name: Floating IP
  • Option Type: Yes/No
  • Options:
    • No|None
    • Yes|1 Floating IP

2. Datacenter Selection

  • Option Name: datacenter
  • Option Type: Dropdown
  • Options:
    • fsn1-dc14|Falkenstein, Germany
    • nbg1-dc3|Nuremberg, Germany
    • hel1-dc2|Helsinki, Finland
    • ash-dc1|Ashburn, USA
    • hil-dc1|Hillsboro, USA
    • sin-dc1|Singapore, Singapore

3. Server Type

  • Option Name: planid
  • Option Type: Dropdown
  • Options:
  • cpx11|CPX 11 - 2 vCPU, 2 GB RAM, 40 GB Disk, shared
  • cpx21|CPX 21 - 3 vCPU, 4 GB RAM, 80 GB Disk, shared
  • cpx31|CPX 31 - 4 vCPU, 8 GB RAM, 160 GB Disk, shared
  • cpx41|CPX 41 - 8 vCPU, 16 GB RAM, 240 GB Disk, shared
  • cpx51|CPX 51 - 16 vCPU, 32 GB RAM, 360 GB Disk, shared
  • cax11|CAX11 - 2 vCPU, 4 GB RAM, 40 GB Disk, shared
  • cax21|CAX21 - 4 vCPU, 8 GB RAM, 80 GB Disk, shared
  • cax31|CAX31 - 8 vCPU, 16 GB RAM, 160 GB Disk, shared
  • cax41|CAX41 - 16 vCPU, 32 GB RAM, 320 GB Disk, shared
  • ccx13|CCX13 Dedicated CPU - 2 vCPU, 8 GB RAM, 80 GB Disk, dedicated
  • ccx23|CCX23 Dedicated CPU - 4 vCPU, 16 GB RAM, 160 GB Disk, dedicated
  • ccx33|CCX33 Dedicated CPU - 8 vCPU, 32 GB RAM, 240 GB Disk, dedicated
  • ccx43|CCX43 Dedicated CPU - 16 vCPU, 64 GB RAM, 360 GB Disk, dedicated
  • ccx53|CCX53 Dedicated CPU - 32 vCPU, 128 GB RAM, 600 GB Disk, dedicated
  • ccx63|CCX63 Dedicated CPU - 48 vCPU, 192 GB RAM, 960 GB Disk, dedicated
  • cx22|CX22 - 2 vCPU, 4 GB RAM, 40 GB Disk, shared
  • cx32|CX32 - 4 vCPU, 8 GB RAM, 80 GB Disk, shared
  • cx42|CX42 - 8 vCPU, 16 GB RAM, 160 GB Disk, shared
  • cx52|CX52 - 16 vCPU, 32 GB RAM, 320 GB Disk, shared

4. Operating System

  • Option Name: osid
  • Option Type: Dropdown
  • Options:
  • lamp|lamp -wordpress|wordpress -jitsi|jitsi -nextcloud|nextcloud
  • docker-ce|docker-ce
  • gitlab|gitlab
  • debian-11|Debian 11
  • rocky-8|Rocky Linux 8
  • centos-stream-9|CentOS Stream 9
  • ubuntu-22.04|Ubuntu 22.04
  • prometheus-grafana|prometheus-grafana
  • rocky-9|Rocky Linux 9
  • wireguard|wireguard
  • owncast|owncast
  • photoprism|photoprism
  • rustdesk|rustdesk
  • centos-stream-9|CentOS Stream 9
  • debian-11|Debian 11
  • rocky-8|Rocky Linux 8
  • rocky-9|Rocky Linux 9
  • ubuntu-22.04|Ubuntu 22.04
  • alma-8|AlmaLinux 8
  • alma-9|AlmaLinux 9
  • jitsi|jitsi
  • owncast|owncast

Client Interface

Overview: Server status, information, control buttons Graphs: CPU, network, disk I/O monitoring Backups: Create, restore, delete backups Settings: Hostname, ISO, password reset, reinstall, firewall, rescue mode, floating IP

SSH Key Management

Why no SSH key feature?

Hetzner's API stores SSH keys at the project level, not per-server. In a multi-tenant WHMCS environment, this creates security risks:

  • Potential key exposure across customers
  • No proper isolation between services
  • Complex workarounds that compromise security

Current recommended approach:

  1. Use password authentication for initial access
  2. Add your SSH key manually: ssh-copy-id root@your-server-ip
  3. Secure your server:
sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_configsystemctl restart sshd

This ensures proper key isolation and security for each customer.

Future development:

We're exploring secure implementations using cloud-init or per-server user data to enable SSH key management while maintaining proper isolation.

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6 Screenshot 7 Screenshot 8 Screenshot 9 Screenshot 10

Troubleshooting

API Connection Failed: Check API token in server group settings Server Not Found: Verify VPS ID custom field exists Floating IP Issues: Enable in configurable options

Enable module debugging: Configuration → System Logs → Module Log

Support Policy

This is free, open-source software provided AS-IS.

NO SUPPORT is provided except through paid channels:

Before Requesting Support

  • English only
  • Must provide complete error logs
  • Must provide steps to reproduce
  • Vague reports like "doesn't work" will be ignored

GitHub Issues

  • For documented bugs only
  • Requires complete technical information
  • Issues lacking proper information will be closed immediately
  • This is not a support forum

If you need help with basic installation or configuration, purchase premium support.

License

MIT License - see LICENSE file for details.

Free and open source. Commercial support available.

Other ArkHost Modules

Check out our other WHMCS modules at arkhost.com/whmcs-modules.php

© 2025 ArkHost


S
Description
Pull mirror of ArkHost/WHMCS-ArkHost-HetznerVPS on GitLab
Readme MIT
5.5 MiB
Languages
PHP 67.6%
Go Template 14.5%
JavaScript 13.6%
CSS 4.3%