What's new
Panelica Community Forum

Welcome to the official Panelica Community Forum — the central hub for server administrators, developers, and hosting professionals. Register a free account today to access technical discussions, product announcements, feature requests, and direct support from the Panelica team. Be part of the growing community shaping the future of server management.

Why We Built Panelica — The Story Behind a Modern Server Panel

admin

Administrator
Staff member
The hosting industry has been using the same tools for 20 years. We decided to build what we wished existed.

The Problem: Legacy Panels in 2025​


In 2024, we were managing 50+ servers across AWS, Hetzner, DigitalOcean, and OVH. Every server ran the same panel: cPanel.

And every day, we dealt with the same frustrations:

  • Ancient codebase: cPanel's core is written in Perl (released 1987). The UI still has jQuery from 2011.
  • Memory bloat: 2GB RAM idle. Why? Because PHP-based panels spawn dozens of FPM workers.
  • Plugin fatigue: Want Docker? Install an extension. Want better backups? Subscribe to JetBackup. Want antivirus? Add Imunify360.
  • Price hikes: 2019: . 2026: . Same product. Same bugs.
  • Security theater: "CageFS isolation" requires a CloudLinux subscription (). Why isn't isolation free?

We tried Plesk. Better UI, still PHP-based, still expensive add-ons.

We tried DirectAdmin. Lightweight but feels stuck in 2005.

We tried open-source panels (CyberPanel, HestiaCP, ISPConfig). Promising but limited resources and fragmented development.

None of them felt like they were built for 2025.

The Realization: We Could Build Better​


One night, after a cPanel update broke our Cloudflare integration again, we asked ourselves:

"What would a server panel look like if we built it from scratch today?"

The answer became Panelica.

Technical Decisions — Why Go, Why React, Why PostgreSQL​


1. Backend: Go 1.24

Why not PHP, Python, or Node.js?

  • Concurrency: Go's goroutines handle 10,000+ simultaneous connections on 1 CPU core. PHP needs 100+ FPM workers for the same load.
  • Memory efficiency: Go binary uses 50MB RAM. PHP-FPM pools use 500MB+.
  • Speed: Go compiles to native binaries. No JIT warmup, no interpreter overhead.
  • Safety: Statically typed, compile-time checks, no "undefined index" runtime errors.

"But Go is harder to write!"

Yes. But we'd rather write 100 lines of Go than debug 500 lines of PHP at 3 AM.

2. Frontend: React 19 + TypeScript 5.8

Why not Vue, Svelte, or plain JavaScript?

  • Ecosystem: React has the largest component library (Reactstrap, Material-UI, Ant Design).
  • Type safety: TypeScript catches bugs before they reach production.
  • Performance: Virtual DOM diffing is faster than jQuery's DOM manipulation.
  • Developer experience: Hot module replacement, strict linting, modern tooling.

3. Database: PostgreSQL 17

Why not MySQL?

  • Advanced features: CTEs, window functions, JSONB (used for webhook configs), better full-text search.
  • Concurrency: MVCC (Multi-Version Concurrency Control) handles 1000+ writes/sec without lock contention.
  • Data integrity: True ACID compliance, foreign keys enforced (MySQL InnoDB has quirks).
  • Extensions: UUID generation, pg_trgm (fuzzy search), pgcrypto (encryption).

We still run MySQL 8 for customer databases (WordPress, Joomla, etc.). But for the panel's internal database, PostgreSQL is superior.

The 5-Layer Isolation Story​


Early in development, we asked: "How do we isolate users securely?"

Traditional panels rely on Unix permissions (UID/GID). But that's not enough. A compromised PHP script can still:

  • Fork 10,000 processes (PID bomb)
  • Allocate 30GB RAM (OOM crash)
  • Read other users' files (if permissions are misconfigured)

So we built 5 layers of isolation:

Layer 1: Cgroups v2
Every user gets CPU, memory, I/O, and PID limits. Path: /sys/fs/cgroup/panelica.slice/panelica-user-{username}.slice/

Layer 2: Linux Namespaces
PID + Mount isolation. Users can't see each other's processes.

Layer 3: SSH Chroot Jails
SFTP-only or full bash with chroot. Users can't escape their home directory.

Layer 4: PHP-FPM Per-User Per-Version Pools
Each user's PHP runs as their UID with open_basedir and disable_functions enforced.

Layer 5: Unix Permissions
Home directories are chmod 700. Files are owned by the user's UID/GID.

cPanel's CageFS requires a CloudLinux subscription. We made it free.

Docker as a First-Class Citizen​


We're server admins. We use Docker every day. Why shouldn't our panel support it natively?

So Panelica includes:

  • 60+ one-click app templates (Nextcloud, GitLab, Portainer, PostgreSQL, MongoDB, Redis, etc.)
  • Docker Compose support
  • Web-based container terminal (no SSH needed)
  • Resource limits per container (cgroups)
  • Automatic nginx reverse proxy with SSL

cPanel has no Docker support. Plesk's Docker extension is basic. Panelica's Docker management rivals Portainer.

WordPress: Why We Built Custom Redis Acceleration​


We host 200+ WordPress sites. Most load in 2-3 seconds. Unacceptable.

Popular caching plugins (W3 Total Cache, WP Super Cache) help but add complexity. Redis Object Cache (the plugin) is better but only caches database queries.

So we built a two-layer cache system:

Layer 1: Object Cache
WordPress objects (posts, users, options) stored in Redis. Database queries drop by 90%.

Layer 2: Full-Page HTML Cache
Entire HTML responses cached in Redis. nginx serves cached HTML directly — WordPress doesn't even execute.

Result: 50ms response times.

Not 500ms. Not 2 seconds. 50 milliseconds.

The cache is built into the panel — no plugin installation, no configuration. One-click enable.

Migration: Preserving MySQL Password Hashes​


When you migrate from cPanel to Plesk, your WordPress sites break. Why?

Because the MySQL user passwords change. Every wp-config.php needs manual editing.

Panelica's Panelica-to-Panelica migration preserves MySQL password hashes. We transfer the hash directly from the source server's mysql.user table.

Result: Apps work immediately after migration. No reconfiguration needed.

Internationalization: 30 Languages, Full Parity​


cPanel has 25 languages. But translations are incomplete. Some strings show in English, others in your language.

Panelica has 30 languages with complete parity:

  • 22,323 translation keys per language
  • Database-backed (admin can edit translations in real-time)
  • Right-to-left (RTL) support for Arabic, Hebrew, Persian

Every string is translated. No exceptions.

Pricing: No Hidden Costs​


What's Next: Our Vision for the Future​


Panelica v1.0 launched in January 2026. But we're just getting started.

Roadmap (2026-2027):

  • AI-powered security: Anomaly detection for brute-force attacks, malware scanning with ML models.
  • Multi-server management: Manage 100+ servers from one panel.
  • Edge deployments: Deploy apps to Cloudflare Workers, AWS Lambda, Vercel Edge Functions from the panel.
  • Built-in CDN: Integrated Cloudflare/BunnyCDN cache purging and analytics.
  • eBPF-based monitoring: Real-time network and syscall tracing (zero overhead).

Try Panelica Today​


14-day free trial. No credit card required.

Code:
curl -sSL https://latest.panelica.com/install.sh | bash

Installs in under 3 minutes. 20 services configured and running. Panel accessible at https://YOUR_SERVER_IP:8399.

Official Website | Documentation | Community Forum

We built the panel we wished existed. Now it's yours.
 
Last edited:
Back
Top