Repolode
jhd3197

jhd3197/ServerKit

Self-hosted server control panel for deploying web apps, managing databases, Docker containers, DNS, backups and security on a VPS or dedicated server.

Open-source alternative to:cPanelPlesk

Stars
1,767
Forks
179
Open issues
13
Last commit
2 days ago

What is it?

ServerKit is a web-based control panel for Linux servers. It lets you deploy and run WordPress sites, Node.js, Python and PHP apps, static sites and Docker containers from Git, a zip upload or a template, without writing Nginx or systemd configuration by hand. The panel covers Nginx virtual hosts with automatic Let's Encrypt certificates, MySQL, MariaDB and PostgreSQL management, DNS zone editing for Cloudflare, Route 53 and DigitalOcean, scheduled backups to S3, B2 or local storage, and cron jobs.

The backend is built on Python with Flask and the frontend on React. Security tooling includes a ModSecurity WAF with OWASP rules, Fail2ban, ClamAV scanning, Passkeys and 2FA, and Fernet-encrypted secrets. Multiple servers can be managed through a Go agent that connects back over Socket.IO, with WireGuard-based tunnels for exposing NAT-ed services.

Functionality beyond the core is delivered as installable extensions from a Marketplace. The project supports Ubuntu, Debian, Fedora and RHEL-family systems, and can also run as a single Docker container, though a containerized panel cannot manage its host.

Key features

  • 01Deploy WordPress, Node.js, Python, PHP, static sites and Docker containers from Git or zip.
  • 02Manage Nginx virtual hosts with automatic Let's Encrypt SSL.
  • 03Administer MySQL, MariaDB and PostgreSQL databases with a browser SQL console.
  • 04Edit DNS records on Cloudflare, Route 53 and DigitalOcean.
  • 05Schedule backups to S3, B2 or local storage with one-click restore.
  • 06Protect servers with a ModSecurity WAF, Fail2ban, ClamAV and 2FA.
  • 07Manage multiple servers through a cross-platform Go agent.

Use cases

  • Hosting several WordPress or web apps on a single VPS without hand-writing server configs.
  • Running a small team's servers from one browser dashboard instead of SSH sessions.
  • Self-hosting a control panel as an alternative to a managed hosting platform.

Quick start

  1. 1

    Run the one-line installer on a supported Linux server

    curl -fsSL https://serverkit.ai/install.sh | bash
  2. 2

    Clone the repository

    git clone https://github.com/jhd3197/ServerKit.git
  3. 3

    Enter the project folder and create your .env file, then edit it with your secrets

    cd ServerKit && cp .env.example .env
  4. 4

    Start the panel with Docker Compose (available at http://localhost:5000)

    docker compose up -d

Things to know

  • The Docker option cannot manage its own host, so use the one-line install for full server management.
  • The one-line installer supports only specific Linux distributions such as Ubuntu 22.04+, Debian 12+, Fedora and RHEL-family 9+.

Topics

FAQ

What is ServerKit?
Self-hosted server control panel for deploying web apps, managing databases, Docker containers, DNS, backups and security on a VPS or dedicated server. ServerKit is a web-based control panel for Linux servers. It lets you deploy and run WordPress sites, Node.js, Python and PHP apps, static sites and Docker containers from Git, a zip upload or a template, without writing Nginx or systemd configuration by hand. The panel covers Nginx virtual hosts with automatic Let's Encrypt certificates, MySQL, MariaDB and PostgreSQL management, DNS zone editing for Cloudflare, Route 53 and DigitalOcean, scheduled backups to S3, B2 or local storage, and cron jobs.
Is ServerKit free to use? What license does it have?
ServerKit is open source under the MIT license. Check the license terms before using it in commercial products.
Is ServerKit still maintained?
Actively maintained. The last commit to ServerKit was on Oct 17, 2026.
What can I use ServerKit for?
Hosting several WordPress or web apps on a single VPS without hand-writing server configs. Running a small team's servers from one browser dashboard instead of SSH sessions. Self-hosting a control panel as an alternative to a managed hosting platform.
How do I install ServerKit?
Run the one-line installer on a supported Linux server: curl -fsSL https://serverkit.ai/install.sh | bash Clone the repository: git clone https://github.com/jhd3197/ServerKit.git Enter the project folder and create your .env file, then edit it with your secrets: cd ServerKit && cp .env.example .env Start the panel with Docker Compose (available at http://localhost:5000): docker compose up -d
Where can I get ServerKit?
The source code and installation instructions are on GitHub: https://github.com/jhd3197/ServerKit

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects