- home.php: remove fake testimonials; add one-line install block with copy button; add NixPanel vs cPanel comparison table; add stack table; rewrite feature descriptions to be Rust-accurate - terms.php: full Terms of Service (14 sections) - privacy.php: full Privacy Policy (11 sections, GDPR-aware) - index.php: add /terms and /privacy routes - footer.php: expand to 4-column layout with Product, Resources, Support columns; add Terms/Privacy/Changelog/GitHub/bug report links - header.php: point Docs to github.com/NixReaper/nixpanel-docs
140 lines
7.8 KiB
PHP
140 lines
7.8 KiB
PHP
<?php $pageTitle = 'NixPanel — Modern Web Hosting Control Panel'; ?>
|
||
<?php
|
||
$features = [
|
||
['icon' => '⚡', 'title' => 'Lightning Fast', 'body' => 'Built in Rust. Near-zero overhead, instant response times, and a panel that never slows your server down.'],
|
||
['icon' => '🔒', 'title' => 'Security First', 'body' => "Argon2id password hashing, Let's Encrypt SSL automation, Fail2ban brute-force protection, and hardened defaults out of the box."],
|
||
['icon' => '🌐', 'title' => 'Full DNS Control', 'body' => 'Manage PowerDNS zones and records directly from the panel. No third-party DNS required.'],
|
||
['icon' => '📊', 'title' => 'Complete Control', 'body' => 'Manage email accounts, MariaDB databases, cron jobs, FTP, subdomains, and SSL — all from one clean dashboard.'],
|
||
['icon' => '🔄', 'title' => 'Easy Migration', 'body' => 'Moving from cPanel? Import accounts with a single command using the built-in migration tool.'],
|
||
['icon' => '💳', 'title' => 'Simple Licensing', 'body' => 'Tied to your server IP. No per-user fees, no agent installs, no surprises. Upgrade or cancel any time.'],
|
||
];
|
||
|
||
$stack = [
|
||
['label' => 'Web server', 'value' => 'Apache 2 + PHP-FPM 8.2 & 8.3'],
|
||
['label' => 'Database', 'value' => 'MariaDB (WordPress-compatible)'],
|
||
['label' => 'DNS', 'value' => 'PowerDNS'],
|
||
['label' => 'Mail', 'value' => 'Exim 4 + Dovecot + SpamAssassin'],
|
||
['label' => 'SSL', 'value' => "Let's Encrypt via Certbot"],
|
||
['label' => 'Backend', 'value' => 'Rust · Axum · SQLx · Tokio'],
|
||
['label' => 'Protection', 'value' => 'Fail2ban'],
|
||
];
|
||
?>
|
||
|
||
{{-- Hero --}}
|
||
<section class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 pt-24 pb-20 text-center">
|
||
<div class="inline-flex items-center gap-2 bg-brand-900/40 border border-brand-500/30 text-brand-400 text-xs font-medium px-3 py-1.5 rounded-full mb-6">
|
||
Now in public beta · Free plan available
|
||
</div>
|
||
<h1 class="text-5xl sm:text-6xl font-extrabold text-white leading-tight tracking-tight">
|
||
The hosting control panel<br>
|
||
<span class="text-brand-500">you actually want to use.</span>
|
||
</h1>
|
||
<p class="mt-6 text-lg text-gray-400 max-w-2xl mx-auto">
|
||
NixPanel is a fast, modern alternative to cPanel and WHM. Manage your Linux server,
|
||
host websites, and control everything from a clean dashboard — built in Rust.
|
||
</p>
|
||
<div class="mt-10 flex flex-col sm:flex-row gap-4 justify-center">
|
||
<a href="/register" class="btn-primary text-base px-7 py-3">Get started free</a>
|
||
<a href="/install" class="btn-outline text-base px-7 py-3">Install guide</a>
|
||
<a href="/pricing" class="btn-secondary text-base px-7 py-3">View pricing</a>
|
||
</div>
|
||
</section>
|
||
|
||
{{-- One-line install --}}
|
||
<section class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8 pb-20">
|
||
<div class="bg-gray-900 border border-gray-800 rounded-xl p-6">
|
||
<p class="text-xs text-gray-500 font-mono mb-3">Quick install — Ubuntu 24.04 LTS</p>
|
||
<div class="flex items-center gap-3">
|
||
<code class="flex-1 text-sm text-brand-400 font-mono bg-gray-950 rounded-lg px-4 py-3 overflow-x-auto whitespace-nowrap">
|
||
bash <(curl -fsSL https://raw.githubusercontent.com/NixReaper/nixpanel/main/install.sh)
|
||
</code>
|
||
<button onclick="navigator.clipboard.writeText('bash <(curl -fsSL https://raw.githubusercontent.com/NixReaper/nixpanel/main/install.sh)')"
|
||
class="flex-shrink-0 text-xs text-gray-400 hover:text-white border border-gray-700 hover:border-gray-500 rounded-lg px-3 py-3 transition-colors">
|
||
Copy
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
{{-- Features --}}
|
||
<section class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-20">
|
||
<h2 class="text-3xl font-bold text-white text-center mb-12">Everything you need to run a server</h2>
|
||
<div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-6">
|
||
<?php foreach ($features as $f): ?>
|
||
<div class="card">
|
||
<div class="text-3xl mb-3"><?= $f['icon'] ?></div>
|
||
<h3 class="font-semibold text-white mb-2"><?= e($f['title']) ?></h3>
|
||
<p class="text-sm text-gray-400"><?= e($f['body']) ?></p>
|
||
</div>
|
||
<?php endforeach ?>
|
||
</div>
|
||
</section>
|
||
|
||
{{-- vs cPanel comparison --}}
|
||
<section class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-20">
|
||
<h2 class="text-3xl font-bold text-white text-center mb-12">NixPanel vs cPanel</h2>
|
||
<div class="overflow-x-auto">
|
||
<table class="w-full text-sm">
|
||
<thead>
|
||
<tr class="border-b border-gray-800">
|
||
<th class="text-left text-gray-400 font-medium py-3 pr-6 w-1/2"></th>
|
||
<th class="text-center text-brand-400 font-semibold py-3 px-4">NixPanel</th>
|
||
<th class="text-center text-gray-500 font-medium py-3 px-4">cPanel/WHM</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody class="divide-y divide-gray-800/60">
|
||
<?php
|
||
$rows = [
|
||
['Starting price', '$0/mo', '$45–85/mo'],
|
||
['Open source', '✅', '❌'],
|
||
['Built in Rust', '✅', '❌ (Perl)'],
|
||
['PHP 8.2 & 8.3', '✅', '✅'],
|
||
['MariaDB support', '✅', '✅'],
|
||
['PowerDNS', '✅', '❌ (BIND)'],
|
||
["Let's Encrypt SSL", '✅', '✅'],
|
||
['IP-bound licensing', '✅ (no per-user fees)', '❌ (per-account pricing)'],
|
||
['Self-hosted', '✅', '✅'],
|
||
];
|
||
foreach ($rows as [$label, $nix, $cpanel]): ?>
|
||
<tr>
|
||
<td class="py-3 pr-6 text-gray-400"><?= e($label) ?></td>
|
||
<td class="py-3 px-4 text-center text-white font-medium"><?= e($nix) ?></td>
|
||
<td class="py-3 px-4 text-center text-gray-500"><?= e($cpanel) ?></td>
|
||
</tr>
|
||
<?php endforeach ?>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
|
||
{{-- Stack --}}
|
||
<section class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-20">
|
||
<div class="grid md:grid-cols-2 gap-12 items-center">
|
||
<div>
|
||
<h2 class="text-3xl font-bold text-white mb-4">A stack built to last</h2>
|
||
<p class="text-gray-400 mb-8">NixPanel installs and configures a complete, production-ready hosting stack — not scripts glued together, but a cohesive system that works out of the box.</p>
|
||
<a href="/install" class="btn-outline">Read the install guide →</a>
|
||
</div>
|
||
<div class="card divide-y divide-gray-800">
|
||
<?php foreach ($stack as $item): ?>
|
||
<div class="flex justify-between items-center py-3 first:pt-0 last:pb-0">
|
||
<span class="text-sm text-gray-400"><?= e($item['label']) ?></span>
|
||
<span class="text-sm text-white font-medium text-right"><?= e($item['value']) ?></span>
|
||
</div>
|
||
<?php endforeach ?>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
{{-- CTA --}}
|
||
<section class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-20">
|
||
<div class="bg-brand-900/20 border border-brand-500/20 rounded-2xl p-12 text-center">
|
||
<h2 class="text-3xl font-bold text-white mb-4">Ready to take control?</h2>
|
||
<p class="text-gray-400 mb-8 max-w-lg mx-auto">Start on the free plan. Upgrade when you need more. No credit card required to get started.</p>
|
||
<div class="flex flex-col sm:flex-row gap-4 justify-center">
|
||
<a href="/register" class="btn-primary text-base px-8 py-3">Create your free account</a>
|
||
<a href="/pricing" class="btn-secondary text-base px-8 py-3">Compare plans</a>
|
||
</div>
|
||
</div>
|
||
</section>
|