KeyHelp is a free web hosting panel by Keyweb AG for Linux servers. You create customers, assign them hosting plans with limits for storage, traffic, domains, mailboxes and databases, and manage PHP version, DNS zone, email accounts with spam and virus protection, FTP accounts, cron jobs and Let's Encrypt certificates per domain in the browser. Your customers get their own logins with a file manager, database administration and webmail. Backups to local or remote storage run on a schedule, the monitoring shows services and disk usage, and the REST API connects the panel to your billing. KeyHelp is licence free, the additional features of KeyHelp Pro are an optional subscription.
After the first boot
A cloud-init script installs KeyHelp 26.1.1 on Debian 13 during the first boot with Apache and PHP 8.4, MariaDB, Postfix and Dovecot, Rspamd and ClamAV for spam and virus protection, BIND, ProFTPD, Roundcube and phpMyAdmin. The installation takes 3 to 5 minutes.
Check the progress via SSH or in the Seed's console. Once /root/ready.txt exists, KeyHelp is fully set up. /root/failed.txt indicates an error, with the details in /root/keyhelp-install.log. If neither file exists, the installation is still running.
Then open https://<seed-hostname>/ and log in with the username from ADMIN_USERNAME. The generated password is stored in /root/keyhelp-credentials.txt on the Seed, alternatively keyhelp login on the console generates a one-time login link. Change the password in your profile after the first login. KeyHelp stores the MariaDB credentials in /root/keyhelp_login_data_<date>. The KeyHelp firewall only lets SSH, web, DNS, email and FTP through. The Seed automatically gets a public IPv4 address when it is created. If you additionally use a firewall from the console, keep the same ports open.
For your own domain, first point its A record to the Seed's IPv4 address. Then enter the domain in KeyHelp under Konfiguration > Hostname (Configuration > Hostname) and secure the server services with Let's Encrypt under Sicherheit > SSL/TLS-Zertifikate > Serverdienste absichern (Security > SSL/TLS Certificates > Secure server services).
Suitable models
Entry
The entry point for low CPU load
Standard
All-rounder for variable production load
Performance
Exclusive compute for sustained load
Show all 15 suitable models
Entry
| Model | CPU | RAM | Storage | Traffic | Bandwidth | Price/hour | Price/month | |
|---|---|---|---|---|---|---|---|---|
| S | 1 Core | 2 GB | 20 GB | 10 TB | 1 Gbit/s | 0,005848 € | 3,65 € | |
| M | 2 Cores | 4 GB | 40 GB | 10 TB | 1 Gbit/s | 0,011694 € | 7,29 € | |
| L | 4 Cores | 8 GB | 80 GB | 10 TB | 1 Gbit/s | 0,023389 € | 14,59 € | |
| XL | 8 Cores | 16 GB | 160 GB | 10 TB | 1 Gbit/s | 0,038312 € | 23,91 € |
Standard
| Model | CPU | RAM | Storage | Traffic | Bandwidth | Price/hour | Price/month | |
|---|---|---|---|---|---|---|---|---|
| XS | 1 Core | 4 GB | 40 GB | 20 TB | 2.5 Gbit/s | 0,014303 € | 8,93 € | |
| S | 2 Cores | 8 GB | 80 GB | 20 TB | 2.5 Gbit/s | 0,024579 € | 15,34 € | |
| M | 4 Cores | 16 GB | 160 GB | 20 TB | 2.5 Gbit/s | 0,049158 € | 30,68 € | |
| L | 8 Cores | 24 GB | 240 GB | 20 TB | 2.5 Gbit/s | 0,093740 € | 58,49 € | |
| XL | 10 Cores | 32 GB | 360 GB | 20 TB | 2.5 Gbit/s | 0,120608 € | 75,26 € | |
| XXL | 16 Cores | 64 GB | 500 GB | 20 TB | 2.5 Gbit/s | 0,188623 € | 117,70 € |
Performance
| Model | CPU | RAM | Storage | Traffic | Bandwidth | Price/hour | Price/month | |
|---|---|---|---|---|---|---|---|---|
| S | 2 Cores | 16 GB | 80 GB | 20 TB | 10 Gbit/s | 0,070561 € | 44,03 € | |
| M | 4 Cores | 32 GB | 160 GB | 20 TB | 10 Gbit/s | 0,141122 € | 88,06 € | |
| L | 8 Cores | 64 GB | 240 GB | 20 TB | 10 Gbit/s | 0,277666 € | 173,26 € | |
| XL | 16 Cores | 128 GB | 360 GB | 20 TB | 10 Gbit/s | 0,548467 € | 342,24 € | |
| XXL | 32 Cores | 192 GB | 500 GB | 20 TB | 10 Gbit/s | 1,011118 € | 630,94 € |
Create it via the Public API
A single call creates this Seed. Replace the placeholders starting with $ with your own values, such as your API token and the IDs from your account. Go to the Public API
curl -X POST "https://api.dataforest.net/api/v1/public/seeds" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"plan": "lines/standard/models/standard-c2-m4-s80",
"location": "fra01",
"source": {
"type": "app",
"ref": "apps/keyhelp/versions/keyhelp-v26.1.1",
"environment_variables": {
"ADMIN_EMAIL": "$ADMIN_EMAIL"
}
},
"project_id": "$PROJECT_ID",
"name": "keyhelp"
}'