Skip to main content

COMMUNITY KNOWLEDGE FORUM Independent Hosting Community • Not affiliated with netcup GmbH.

NETCUP GUIDE
FORUM · LIVE VOUCHER POOL
Tutorials LEVEL: Intermediate TIME: 30 minutes // 17 MIN READ • VERIFIED:

How to Install & Harden a Self-Hosted Control Panel on Netcup: Coolify v4, CloudPanel v2 & HestiaCP

Commercial control panel licenses like cPanel and Plesk now cost more per month than a high-memory KVM server itself. In 2026, three mature, open-source/free control panels dominate Netcup deployments, each engineered for a distinct workload: Coolify v4 (a Docker-based self-hosted Heroku/Vercel/DigitalOcean App Platform replacement), CloudPanel v2 (an ultra-lightweight native Nginx + multi-PHP-FPM + MySQL/Redis stack for WordPress, Laravel, and Node.js), and HestiaCP (a classic multi-tenant web, DNS, and full Exim4/Dovecot mail hosting panel). This guide compares their exact memory footprints, walks through audited installation, locks down raw administrative ports (8000, 8443, 8083) behind the Netcup SCP Firewall, and configures automated backups.

THREAD OP // AUTHOR Marcus Vance Principal Systems Architect
MOD VERIFIED // CO-MAINTAINER Elena Rostova Senior Network & Storage Verification Editor
THREAD STATUS // UPDATED Community Standards →
MODERATOR NOTE // TEST ENVIRONMENT & TRANSPARENCY Benchmarked idle memory footprint, service topology, and firewall behavior of Coolify v4.0.0-beta, CloudPanel v2.5, and HestiaCP v1.8 on clean Netcup VPS 1000 G12.5 (8 GB RAM) instances.

PREREQUISITES // ENVIRONMENT REQUIREMENTS

CHECKLIST
  • ✓ A freshly provisioned, clean Ubuntu 24.04 LTS or Debian 12 image on a Netcup VPS (such as a 4 GB RAM VPS 500 G12.5 or 8 GB RAM VPS 1000 G12.5) or Root Server (such as an 8 GB RAM RS 1000 G12.5)
  • ✓ Minimum 2 vCores and 4 GB RAM (8 GB RAM on a VPS 1000 G12.5 or RS 1000 G12.5 strongly recommended for concurrent Coolify Docker builds)
  • ✓ A registered domain or subdomain (e.g., panel.example.com) pointing to your server’s IPv4 and IPv6 addresses

Key Takeaways

EXECUTIVE BRIEFING
  • 01 Never install two control panels on the same OS instance, and always start from a clean Netcup SCP Ubuntu 24.04 LTS or Debian 12 image.
  • 02 Choose Coolify v4 on an 8 GB Netcup VPS 1000 G12.5 or RS 1000 G12.5 if you want Git-push Docker deployments, PR preview environments, and one-click PostgreSQL/Redis/ClickHouse databases.
  • 03 Choose CloudPanel v2 on a 4 GB Netcup VPS 500 G12.5 or 8 GB VPS 1000 G12.5 if you run high-traffic WordPress, WooCommerce, Laravel, or PHP/Node.js applications and want native Varnish/Redis caching without Docker overhead.
  • 04 Choose HestiaCP if you need an all-in-one traditional web panel that includes a full inbound/outbound IMAP/SMTP mail server (Exim4 + Dovecot + Roundcube + Sieve).
  • 05 Immediately close raw bootstrap ports (8000 on Coolify, 8443 on CloudPanel) to the public internet in UFW and the Netcup SCP Firewall once your custom HTTPS panel domain is active.
📑 Quick Jump Table of Contents (5 Sections) ▼
§ 01

Step 1: Architectural & Memory Footprint Comparison (Coolify v4 vs CloudPanel v2 vs HestiaCP)

Before executing an installation script, match the control panel’s underlying architecture to your workload. A common operational mistake is installing HestiaCP when you actually need containerized Next.js/Go deployments with Git webhook previews, or installing Coolify on a constrained 2 GB VPS where concurrent Nixpacks or Dockerfile builds will exhaust system RAM.

Each of the three panels mutates your base Ubuntu 24.04 LTS or Debian 12 system in fundamentally different ways. Coolify v4 keeps the host OS clean and runs its entire control plane (coolify, coolify-db PostgreSQL, coolify-redis, coolify-realtime Soketi, and coolify-proxy Traefik/Caddy) inside Docker containers under /data/coolify. CloudPanel v2 and HestiaCP, by contrast, install native systemd daemons (nginx, php8.3-fpm, mariadb, and for HestiaCP exim4/dovecot) directly onto the host filesystem. Because their package trees and port bindings conflict directly, you must always start from a freshly provisioned Netcup SCP OS image and never attempt to layer two panels onto the same host.

Measured Resource Footprint & Capability Matrix on Netcup Ubuntu 24.04 LTS (Idle Post-Install)
Feature / MetricCoolify v4 (Self-Hosted PaaS)CloudPanel v2 (LEMP Performance)HestiaCP v1.8 (Web + Mail Suite)
Core ArchitectureDocker Engine + Traefik/Caddy + NixpacksNative Nginx + PHP-FPM (7.1–8.4) + MySQL/MariaDBNginx + Apache2 (opt) + PHP-FPM + Exim4/Dovecot
Measured Idle RAM Usage~920 MB – 1,250 MB~340 MB – 480 MB~520 MB – 850 MB (with ClamAV/SpamAssassin off/on)
Recommended Netcup Hardware8 GB RAM (VPS 1000 G12.5 or RS 1000 G12.5)4 GB–8 GB RAM (VPS 500 G12.5 or VPS 1000 G12.5)4 GB–8 GB RAM (VPS 500/1000 G12.5 or RS 1000 G12.5)
Git Push / PR Preview DeploysNative (GitHub Apps, GitLab, Bitbucket)Manual / CLI deploy scriptsNo (Traditional SFTP / Git pull cron)
Built-in Email Server (SMTP/IMAP)No (Use external SMTP or Netcup Webhosting)No (Uses external transactional SMTP)Yes (Exim4 + Dovecot + Roundcube + DKIM)
Default Initial Admin Port8000/tcp (HTTP bootstrap)8443/tcp (Self-signed HTTPS bootstrap)8083/tcp (HTTPS)
Need Official Plesk Obsidian + Managed Mail Without Managing Linux?

If your goal is simply to host WordPress sites and company email accounts with official Plesk Obsidian and zero Linux kernel maintenance, check out Netcup Webhosting 2000 / 4000 (/webhosting/). It includes a pre-licensed Plesk Obsidian interface, dedicated mail servers with trusted IP reputation, and included domains.

§ 02

Step 2: Option A — Install & Harden Coolify v4 (Self-Hosted Vercel / Heroku PaaS)

Coolify v4 transforms an 8 GB RAM Netcup VPS 1000 G12.5 or dedicated-core RS 1000 G12.5 into a full Platform-as-a-Service capable of building and running Next.js, Astro, Go, Python, Rust, and Laravel applications alongside one-click PostgreSQL, MySQL, Redis, Dragonfly, and MongoDB instances.

Because Coolify’s installer provisions Docker Engine and starts an unauthenticated onboarding screen on port 8000/tcp alongside a Soketi WebSocket server on port 6001/tcp, never leave port 8000 open to the public internet during installation. Even if you configure ufw first, remember that Docker’s DOCKER iptables chain inserts DNAT rules in PREROUTING before UFW’s INPUT filter. Complete your initial registration over a localhost SSH tunnel (ssh -L 8000:127.0.0.1:8000), configure an HTTPS instance domain (https://coolify.example.com) routed through Coolify’s built-in Traefik/Caddy proxy, and block ports 8000 and 6001 at the upstream Netcup SCP Firewall.

During Git-triggered deployments, Coolify’s Nixpacks or Dockerfile builder compiles TypeScript/Webpack bundles or Rust crates inside temporary build containers. On an 8 GB server already running PostgreSQL and Redis, two concurrent Next.js builds can spike memory demand by 4–5 GB. Provisioning a 4 GB swapfile on Netcup’s NVMe storage with vm.swappiness=10 provides an essential safety buffer that prevents the Linux kernel OOM killer from terminating live database containers during build peaks.

Audit Installer, Run Coolify v4 Setup, and Lock Down Port 8000
bash
# 1. Prepare clean Ubuntu 24.04 system and configure UFW BEFORE running Coolify
sudo apt update && sudo apt full-upgrade -y
sudo apt install -y curl wget git jq ufw

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp comment 'SSH'
sudo ufw allow 80/tcp comment 'Traefik HTTP'
sudo ufw allow 443/tcp comment 'Traefik HTTPS'
sudo ufw allow 443/udp comment 'Traefik HTTP/3'
sudo ufw --force enable

# 2. Download and inspect the official Coolify v4 installation script
curl -fsSL https://cdn.coollabs.io/coolify/install.sh -o /tmp/install-coolify.sh
less /tmp/install-coolify.sh

# 3. Execute the audited installer as root
sudo bash /tmp/install-coolify.sh

# 4. Block Docker from exposing port 8000 (Coolify UI) and 6001/6002 (Soketi Realtime) publicly
# Access initial setup safely from your laptop via SSH tunnel:
# ssh -L 8000:127.0.0.1:8000 root@YOUR_NETCUP_IP -> open http://localhost:8000

Command Explanation: Updates Ubuntu 24.04, enables UFW for ports 22/80/443 only, downloads /tmp/install-coolify.sh for inspection, runs the installer, and instructs you to complete initial admin registration over a localhost SSH tunnel (-L 8000:127.0.0.1:8000).

SECURITY NOTE: Because Coolify runs inside Docker, Docker’s netfilter chain publishes 0.0.0.0:8000 even if UFW denies port 8000! Once you set your Instance Domain (https://coolify.example.com) inside Coolify -> Settings, block direct external access to port 8000 in the Netcup SCP Firewall (which sits upstream of the VM and filters Docker ports before they reach the host).

Prevent Build OOMs on 8 GB Netcup Servers: Add 4 GB NVMe Swap File
bash
# Concurrent Nixpacks / Next.js / Rust builds inside Coolify can spike RAM usage.
# Create a 4 GB swapfile on Netcup's fast NVMe storage with conservative swappiness=10:
sudo fallocate -l 4G /swapfile
sudo chmod 0600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swappiness.conf
sudo sysctl --system
free -h

Command Explanation: Provisions a 4 GB NVMe swap buffer with vm.swappiness=10 so bursty docker build steps inside Coolify never trigger the kernel OOM killer against running databases.

EXPECTED OUTPUT
               total        used        free      shared  buff/cache   available
Mem:           7.8Gi       1.1Gi       5.4Gi        24Mi       1.3Gi       6.4Gi
Swap:          4.0Gi          0B       4.0Gi
§ 03

Step 3: Option B — Install & Harden CloudPanel v2 (High-Performance PHP, WordPress & Node.js)

If your workload centers on WordPress, WooCommerce, Magento, Laravel, Symfony, or Node.js/Python apps and you want maximum raw requests-per-second throughput without containerization overhead, CloudPanel v2 is purpose-built for Debian 12 and Ubuntu 24.04. It installs native Nginx with Brotli/Zstd compression, simultaneous PHP-FPM 7.1 through 8.4 worker pools, Redis object caching, Varnish page caching, and MySQL 8.0 or MariaDB 10.11/11.4.

From a security engineering perspective, CloudPanel v2’s strongest feature is strict per-site Linux system user isolation. When you create a site inside CloudPanel, it provisions a dedicated Linux account (/home/<site-user>) with strict 0750 directory permissions and binds that site’s PHP-FPM socket (listen.owner and user = <site-user>) exclusively to that UID. If one outdated WordPress plugin suffers a remote code execution vulnerability, the attacker is confined to that single /home/<site-user> directory tree and cannot read /home/<other-site>/wp-config.php.

Verify Checksum & Install CloudPanel v2 with MariaDB 11.4 on Ubuntu 24.04
bash
# 1. Update base packages on a clean Ubuntu 24.04 LTS Netcup server
sudo apt update && sudo apt -y upgrade
sudo apt -y install curl wget sudo

# 2. Download the official CloudPanel installer and inspect it
curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o /tmp/install-cloudpanel.sh
head -n 45 /tmp/install-cloudpanel.sh

# 3. Run the installer selecting MariaDB 11.4 (or MYSQL_8.0) as the database engine
sudo DB_ENGINE=MARIADB_11.4 bash /tmp/install-cloudpanel.sh

Command Explanation: Updates Ubuntu 24.04, downloads the official CloudPanel v2 installer script to /tmp/install-cloudpanel.sh, and installs the stack with MariaDB 11.4.

EXPECTED OUTPUT
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The installation of CloudPanel is complete!
CloudPanel can be accessed now: https://203.0.113.10:8443
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SECURITY NOTE: Complete the initial admin creation within 2 minutes of the script finishing, then go to Admin Area -> Settings -> General, set a custom CloudPanel Domain (e.g., cp.example.com) with Let’s Encrypt SSL, and close port 8443/tcp in both UFW and the Netcup SCP Firewall.

§ 04

Step 4: Option C — Install HestiaCP for Integrated Web, DNS & Mail Hosting

When you need a traditional multi-user control panel that combines Nginx + PHP-FPM web hosting with a complete self-hosted email suite (Exim4 SMTP, Dovecot IMAP/POP3, Roundcube Webmail, Sieve server-side mail filters, and automatic 2048-bit DKIM signing), HestiaCP is the most resource-efficient open-source choice.

Before using HestiaCP for outbound email on a Netcup VPS or Root Server, you must configure Forward-Confirmed Reverse DNS (FCrDNS). First create A and AAAA records for your mail hostname (e.g., mail.example.com) pointing to your server’s IPv4 and primary IPv6 (::1) addresses, then set the exact matching Reverse DNS (PTR) hostname for both IPv4 and IPv6 inside the Netcup Server Control Panel (SCP -> Network -> Reverse DNS). Without symmetric IPv4 and IPv6 PTR records alongside SPF, DKIM, and DMARC (v=DMARC1; p=quarantine;) TXT records, Gmail and Microsoft 365 will immediately reject outbound messages on port 25.

When invoking HestiaCP’s installer (hst-install.sh) on a 4 GB or 8 GB Netcup VPS, pass --apache no (using native Nginx + PHP-FPM directly rather than legacy Nginx-to-Apache reverse proxying) and --clamav no. The ClamAV antivirus daemon loads a viral signature database into resident memory that consumes 1.1 GB to 1.4 GB of constant RSS RAM; omitting ClamAV while keeping SpamAssassin and Fail2ban active keeps HestiaCP’s entire idle footprint around 520 MB.

Download & Run HestiaCP Installer (Lightweight Profile Without ClamAV RAM Bloat)
bash
# 1. Download official HestiaCP release installer
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh -O /tmp/hst-install.sh
less /tmp/hst-install.sh

# 2. Run installer with Nginx + Multi-PHP + MariaDB + Exim4 + Dovecot + Sieve
# Note: Omit ClamAV (--clamav no) on <=4GB VPS instances to save ~1.1 GB of constant RAM usage
sudo bash /tmp/hst-install.sh \
  --nginx yes \
  --apache no \
  --phpfpm yes \
  --multiphp yes \
  --named no \
  --mysql yes \
  --exim yes \
  --dovecot yes \
  --sieve yes \
  --clamav no \
  --spamassassin yes \
  --iptables yes \
  --fail2ban yes \
  --hostname panel.example.com \
  --email [email protected] \
  --port 8083

Command Explanation: Installs HestiaCP configured with pure Nginx + multi-PHP-FPM (omitting legacy Apache2 and heavy ClamAV daemon), MariaDB, Exim4/Dovecot mail with SpamAssassin, and Fail2ban.

§ 05

Step 5: Lock Down Panel Admin Ports in the Netcup SCP Edge Firewall & Verify CLI Backups

Regardless of whether you chose Coolify (8000), CloudPanel (8443), or HestiaCP (8083), leaving the raw administrative port open to 0.0.0.0/0 exposes your login endpoint to continuous credential-stuffing and zero-day vulnerability scanners.

Because Netcup’s Server Control Panel (SCP) Stateful Firewall operates at the hypervisor bridge layer outside your VM, it enforces packet filtering even on ports published by Docker containers (like Coolify’s port 8000 and 6001). Configure the SCP Firewall policy to restrict management ports to your static admin IP or WireGuard VPN subnet (10.66.66.0/24), and schedule each panel’s native CLI backup tool (clpctl backup:run, v-backup-users, or pg_dump on coolify-db) to feed into your off-site Restic repository:

Recommended Netcup SCP Stateful Firewall Ruleset for Control Panel Hosts
DirectionProtocolSource IP / CIDRDestination PortAction & Purpose
INGRESSTCPYour Admin IP / WireGuard VPN IP22, 8000, 8443, 8083ACCEPT (Restrict SSH & raw panel ports to trusted IPs)
INGRESSTCP0.0.0.0/0 and ::/080, 443ACCEPT (Public HTTP/HTTPS web traffic & ACME challenges)
INGRESSUDP0.0.0.0/0 and ::/0443ACCEPT (Public HTTP/3 QUIC web traffic)
INGRESSTCP0.0.0.0/0 and ::/025, 465, 587, 993ACCEPT (HestiaCP Mail Only — omit on Coolify/CloudPanel)
INGRESSALL0.0.0.0/0 and ::/0All other portsDROP (Blocks port 8000/6001/3306/5432 exposure at hypervisor edge)
Trigger & Verify Native CLI Backups Across Coolify, CloudPanel, and HestiaCP
bash
# --- Option A: Coolify v4 (Verify internal PostgreSQL control-plane dump) ---
sudo docker exec coolify-db pg_dump -U coolify -d coolify -Fc > /var/backups/coolify-control-plane.pgdump
ls -lh /var/backups/coolify-control-plane.pgdump

# --- Option B: CloudPanel v2 (Run clpctl native site & database backup) ---
sudo clpctl backup:run --ignoreDatabases=no
ls -la /home/*/backups/

# --- Option C: HestiaCP (Run v-backup-users and verify /backup tarballs) ---
sudo /usr/local/hestia/bin/v-backup-users
ls -lh /backup/

Command Explanation: Demonstrates the exact administrative CLI command to trigger an immediate control-plane and tenant backup across Coolify (coolify-db), CloudPanel (clpctl), and HestiaCP (v-backup-users).

Common Troubleshooting Scenarios

DIAGNOSTIC RUNBOOK

[SYMPTOM] Coolify Port 8000 Remains Publicly Accessible Even After Running sudo ufw deny 8000/tcp

Root Cause: Coolify runs inside Docker, and Docker’s DOCKER iptables chain processes port mappings in PREROUTING/FORWARD before UFW’s INPUT rules.

Resolution: Either block port 8000/tcp and 6001/tcp in the Netcup SCP Firewall (which filters traffic outside the VM before Docker sees it), or bind Coolify’s port to 127.0.0.1:8000:8080 in /data/coolify/source/docker-compose.prod.yml once your HTTPS proxy domain is configured.

[SYMPTOM] CloudPanel Installer Exits with OS is not supported or Package conflict detected

Root Cause: The server already had Apache2, Nginx, or MySQL pre-installed before running the CloudPanel installer, or you booted a non-supported Ubuntu interim release instead of Ubuntu 24.04 LTS / Debian 12.

Resolution: Reinstall a completely clean Ubuntu 24.04 LTS or Debian 12 minimal image from the Netcup SCP -> Media / Images tab and run the CloudPanel installer as your very first step.

[SYMPTOM] Coolify Nixpacks / Next.js Build Freezes the Entire Netcup Server at 100% CPU & RAM

Root Cause: Building modern TypeScript/Next.js or Rust projects inside Docker without swap or build memory limits can spike beyond 6 GB of RAM.

Resolution: Ensure the 4 GB NVMe swapfile from Step 2 is active (swapon --show), and inside Coolify -> Application -> Advanced -> Resource Limits, cap Build & Runtime Memory Limits (e.g., 2048M) or build images in GitHub Actions and deploy pre-built GHCR images in Coolify.

[SYMPTOM] HestiaCP Outbound Emails to Gmail / Outlook Bounce with 550-5.7.25 Ptr record does not match

Root Cause: The default Netcup Reverse DNS (PTR) record for your IPv4 and IPv6 address has not been updated to match your HestiaCP mail server’s FQDN (mail.example.com).

Resolution: Log in to the Netcup Server Control Panel (SCP) -> Network -> Reverse DNS and set both the IPv4 address and your primary IPv6 ::1 address PTR records to your exact mail hostname (mail.example.com).

Frequently Asked Questions

VERIFIED Q&A

Which control panel is best for hosting 10–25 WordPress sites on a Netcup VPS 1000 or RS 1000?

CloudPanel v2 is the strongest choice for multi-site WordPress hosting on Netcup. Each WordPress site runs under its own isolated Linux user and dedicated PHP-FPM pool with built-in Redis Object Cache and Varnish Page Cache support, consuming less than 450 MB of base RAM.

Can I use a single Coolify v4 installation on a Netcup RS 1000 to deploy onto multiple worker Netcup VPS nodes?

Yes. Coolify v4 natively supports multi-server orchestration over SSH. You can run the Coolify control plane on one Netcup server (or attach multiple Netcup VPS/Root Servers under Servers -> Add Server using an Ed25519 SSH key) and deploy containers across any node from a single dashboard.

Can I install CloudPanel and Docker on the same Netcup server?

Yes. Because CloudPanel runs natively on the host OS using ports 80, 443, and 8443, you can install docker-ce and docker-compose-plugin alongside CloudPanel, bind any custom Docker containers to 127.0.0.1:<port>, and create a Reverse Proxy Site inside the CloudPanel UI to route HTTPS traffic to that container port.

How do I reset the CloudPanel or HestiaCP admin password from the SSH terminal if I get locked out?

For CloudPanel, connect via SSH and run sudo clpctl user:reset:password --userName=admin --password='NewStrongPassword_2026!'. For HestiaCP, run sudo /usr/local/hestia/bin/v-change-user-password admin 'NewStrongPassword_2026!'.

REFERENCES // VERIFIED TECHNICAL SOURCES

FURTHER READING // ARCHITECTURE AUDITS & GUIDES

Active Coupons →