wcp360

module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 3, 2026 License: MIT

README ΒΆ

πŸš€ WCP360: The Next-Generation Linux-Native Control Panel

Built with Go Native Linux

WCP360 is a modern, high-performance, security-first hosting control panel designed to replace legacy platforms like cPanel/WHM. Built with Go, it leverages a modular, kernel-native infrastructure layer for operators who demand speed, scalability, and zero legacy bloat.

πŸ›  Installation

# Clone the repository
git clone https://github.com/YOUR_USERNAME/wcp360.git

# Enter the project directory
cd wcp360

# Run the deployment script (requires root privileges)
sudo bash scripts/deploy.sh

πŸ” Security

  • Admin : admin
  • Pass : wcp360-secure

🌍 Vision

WCP360 is not just a "panel"β€”it is a high-precision infrastructure control plane. We aim to provide the fastest and safest environment for:

  • High-density shared hosting.
  • Managed WordPress/Laravel hosting via FrankenPHP.
  • Cloud-native multi-tenant deployments.
  • Enterprise resource governance.

✨ Key Principles

Principle Description
Performance-First Event-driven Go backend, Caddy HTTP/3 gateway, and Redis caching.
Security by Design Zero-trust architecture, immutable audit logs, and strict kernel isolation.
Modular Everything is a module: Web, SSL, DB, DNS, Email, and Backups.
Linux-Native Built on systemd, cgroups v2, namespaces, and SELinux/AppArmor.
Cluster Ready API-first design, ready for multi-node orchestration (v2+).

🧩 Core Features

βš™οΈ Core Platform
  • Resource Governance: Granular CPU/RAM/IO limits via cgroups v2.
  • Immutable Logging: Cryptographically signed audit trails.
  • Job Engine: Idempotent task processing via Asynq + Redis.
  • Zero-Trust: Secure bootstrap (root β†’ non-root daemon transition).
🌐 Web Hosting Stack (v1.0)
  • Caddy Gateway: Native HTTP/3, QUIC, and Automatic HTTPS (ACME v2).
  • FrankenPHP Runtime: Worker-based executionβ€”faster than PHP-FPM.
  • Modern Defaults: Brotli compression and tenant-aware routing.
πŸ” SSL & Security
  • Dynamic Firewall: Managed via nftables.
  • WAF: Integrated Coraza + OWASP CRS.
  • Isolation: Per-tenant users and secure process namespaces.
πŸ—„ Database & Modules
  • Auto-Provisioning: MariaDB & PostgreSQL with per-tenant privileges.
  • Extensible SDK: Build custom modules for DNS (PowerDNS), Email (Postfix), or S3 Backups.

πŸ— Architecture Overview

WCP360 maintains a minimal, immutable core that manages the lifecycle of tenants and modules.

  • Brain: RBAC, Tenant lifecycle, and Job orchestration.
  • Transport: Caddy acts as the single public entry point.
  • Storage: PostgreSQL for state; Redis for transient data.
  • Kernel: Direct interaction with systemd slices and cgroups.

⚑ Performance Philosophy

We engineer for maximum efficiency even on small VPS instances:

  • Single-binary Go backend.
  • No PHP-FPM overhead (using FrankenPHP workers).
  • Lazy service loading to save memory.
  • Brotli & HTTP/3 enabled by default.

🐧 System Requirements

Requirement Specification
OS (Tier 1) Ubuntu 22.04/24.04+, Debian 12+
OS (Tier 2) AlmaLinux 9+, Rocky Linux 9+
Kernel 5.10+
Features systemd, cgroups v2 enabled

πŸ—Ί Roadmap

  • v1.0: Single-Node Core - Stable tenants, Caddy/FrankenPHP, MariaDB.
  • v1.1: Observability - Prometheus metrics, advanced logging dashboard.
  • v2.0: Multi-Node - Central orchestrator, remote agents, tenant migration.
  • v3.0: Ecosystem - Third-party module marketplace & Distributed storage.

🀝 Contributing

We welcome Go developers, sysadmins, and security engineers!

  1. Read CONTRIBUTING.md for workflows.
  2. Explore ARCHITECTURE.md for design deep-dives.
  3. Check the ROADMAP.md for open tasks.

License: Distributed under the MIT License.


Let's reinvent web hosting together.

Directories ΒΆ

Path Synopsis
cmd
wcp360 command
internal
backup
internal/backup/manager.go This module handles the creation of site backups.
internal/backup/manager.go This module handles the creation of site backups.
db
internal/db/database.go This file handles the SQLite connection to store tenant data.
internal/db/database.go This file handles the SQLite connection to store tenant data.
logs
internal/logs/viewer.go This module reads the last lines of a log file to help debugging.
internal/logs/viewer.go This module reads the last lines of a log file to help debugging.
models
internal/models/tenant.go Defines the structure of a hosting account (Tenant).
internal/models/tenant.go Defines the structure of a hosting account (Tenant).
provisioner/db
internal/provisioner/db/mysql.go This module handles the creation of MySQL/MariaDB databases and users.
internal/provisioner/db/mysql.go This module handles the creation of MySQL/MariaDB databases and users.
provisioner/dns
internal/provisioner/dns/generator.go
internal/provisioner/dns/generator.go
provisioner/php
internal/provisioner/php/selector.go This module manages different PHP versions for tenants.
internal/provisioner/php/selector.go This module manages different PHP versions for tenants.
quota
internal/quota/manager.go This module calculates disk usage for each tenant.
internal/quota/manager.go This module calculates disk usage for each tenant.
security/waf
internal/security/waf/filter.go This module inspects incoming requests for malicious patterns.
internal/security/waf/filter.go This module inspects incoming requests for malicious patterns.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL