# ServerKit server-kit **Self-hosted infrastructure, made simple.** A lightweight, modern server control panel for managing web apps, databases, Docker containers, and security — without the complexity of Kubernetes or the cost of managed platforms. English | [Español](docs/README.es.md) | [中文版](docs/README.zh-CN.md) | [Português](docs/README.pt.md)
![Linux](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black) ![Docker](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge&logo=docker&logoColor=white) [![Discord](https://img.shields.io/discord/1470639209059455008?style=for-the-badge&logo=discord&logoColor=white&label=Discord&color=5865F2)](https://discord.gg/ZKk6tkCQfG) [![GitHub Stars](https://img.shields.io/github/stars/jhd3197/ServerKit?style=flat-square&color=f5c542)](https://github.com/jhd3197/ServerKit/stargazers) [![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](LICENSE) [![Python](https://img.shields.io/badge/python-3.11+-3776AB.svg?style=flat-square&logo=python&logoColor=white)](https://python.org) [![React](https://img.shields.io/badge/react-18-61DAFB.svg?style=flat-square&logo=react&logoColor=black)](https://reactjs.org) [![Flask](https://img.shields.io/badge/flask-3.0-000000.svg?style=flat-square&logo=flask&logoColor=white)](https://flask.palletsprojects.com) [![Nginx](https://img.shields.io/badge/nginx-reverse_proxy-009639.svg?style=flat-square&logo=nginx&logoColor=white)](https://nginx.org) [![Let's Encrypt](https://img.shields.io/badge/SSL-Let's_Encrypt-003A70.svg?style=flat-square&logo=letsencrypt&logoColor=white)](https://letsencrypt.org)
[Features](#-features) · [Quick Start](#-quick-start) · [Screenshots](#-screenshots) · [Architecture](#-architecture) · [Roadmap](#-roadmap) · [Docs](#-documentation) · [Contributing](#-contributing) · [Discord](#-community)
---

Dashboard

--- ## 🎯 Features ### 🚀 Apps & Deployment **PHP / WordPress** — PHP-FPM 8.x with one-click WordPress installation **Python Apps** — Deploy Flask and Django with Gunicorn **Node.js** — PM2-managed applications with log streaming **Docker** — Full container and Docker Compose management **Environment Variables** — Secure, encrypted per-app variable management **Git Deployment** — GitHub/GitLab webhooks, auto-deploy on push, branch selection, rollback, zero-downtime deployments ### 🏗️ Infrastructure **Domain Management** — Nginx virtual hosts with easy configuration **SSL Certificates** — Automatic Let's Encrypt with auto-renewal **Databases** — MySQL/MariaDB and PostgreSQL with user management and query interface **Firewall** — UFW/firewalld with visual rule management and port presets **Cron Jobs** — Schedule tasks with a visual editor **File Manager** — Browse, edit, upload, and download files via web interface **FTP Server** — Manage vsftpd users and access **Backup & Restore** — Automated backups to S3, Backblaze B2, or local storage with scheduling, retention policies, and one-click restore **Email Server** — Postfix + Dovecot with DKIM/SPF/DMARC, SpamAssassin, Roundcube webmail, email forwarding rules ### 🔒 Security **Two-Factor Auth** — TOTP-based with backup codes **Malware Scanning** — ClamAV integration with quarantine **File Integrity Monitoring** — Detect unauthorized file changes **Fail2ban & SSH** — Brute force protection, SSH key management, IP allowlist/blocklist **Vulnerability Scanning** — Lynis security audits with reports and recommendations **Automatic Updates** — unattended-upgrades / dnf-automatic for OS-level patching ### 🖥️ Multi-Server Management **Agent-Based Architecture** — Go agent with HMAC-SHA256 authentication and real-time WebSocket gateway **Fleet Overview** — Centralized dashboard with server grouping, tagging, and health monitoring **Remote Docker** — Manage containers, images, volumes, networks, and Compose projects across all servers **API Key Rotation** — Secure credential rotation with acknowledgment handshake **Cross-Server Metrics** — Historical metrics with comparison charts and retention policies ### 📊 Monitoring & Alerts **Real-time Metrics** — CPU, RAM, disk, network monitoring via WebSocket **Uptime Tracking** — Historical server uptime data and visualization **Notifications** — Discord, Slack, Telegram, email (HTML templates), and generic webhooks **Per-User Preferences** — Individual notification channels, severity filters, and quiet hours ### 👥 Team & Access Control **Multi-User** — Admin, developer, and viewer roles with team invitations **RBAC** — Granular per-feature permissions (read/write per module) **SSO & OAuth** — Google, GitHub, OpenID Connect, and SAML 2.0 with account linking **Audit Logging** — Track all user actions with detailed activity dashboard **API Keys** — Tiered API keys (standard/elevated/unlimited) with rate limiting, usage analytics, and OpenAPI documentation **Webhook Subscriptions** — Event-driven webhooks with HMAC signatures, retry logic, and custom headers --- ## 🚀 Quick Start > ⏱️ Up and running in under 2 minutes ### Option 1: One-Line Install (Recommended) ```bash curl -fsSL https://serverkit.ai/install.sh | bash ``` > Works on Ubuntu 22.04+ and Debian 12+. Sets up everything automatically. ### Option 2: Docker ```bash git clone https://github.com/jhd3197/ServerKit.git cd ServerKit cp .env.example .env # then edit .env with your secrets docker compose up -d # access at http://localhost ``` ### Option 3: Manual Installation See the [Installation Guide](docs/INSTALLATION.md) for step-by-step instructions. ### Requirements | | Minimum | Recommended | |---|---------|-------------| | **OS** | Ubuntu 22.04 LTS | Ubuntu 24.04 LTS | | **CPU** | 1 vCPU | 2+ vCPU | | **RAM** | 1 GB | 2+ GB | | **Disk** | 10 GB | 20+ GB | | **Docker** | 24.0+ | Latest | --- ## 📸 Screenshots

![Workflow-Builder](https://github.com/user-attachments/assets/fc58beac-5e2c-487e-a37b-eaa6473eb325)

View More Screenshots

Docker

Workflow Builder

Templates

Applications

Applications Logs

--- ## 🏗️ Architecture ``` ┌──────────────────┐ │ INTERNET │ └────────┬─────────┘ │ ▼ ┌──────────────────────────────────────────────────────────────────────────┐ │ YOUR SERVER │ │ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ NGINX (Reverse Proxy) │ │ │ │ :80 / :443 │ │ │ │ │ │ │ │ app1.com ──┐ app2.com ──┐ api.app3.com ──┐ │ │ │ └───────────────┼─────────────────┼─────────────────────┼─────────────┘ │ │ │ proxy_pass │ proxy_pass │ proxy_pass │ │ ▼ ▼ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ DOCKER CONTAINERS │ │ │ │ │ │ │ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ │ │ │ │ WordPress │ │ Flask │ │ Node.js │ ... │ │ │ │ │ :8001 │ │ :8002 │ │ :8003 │ │ │ │ │ └─────┬─────┘ └───────────┘ └───────────┘ │ │ │ └──────────┼──────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ │ │ DATABASES │ │ │ │ MySQL :3306 PostgreSQL :5432 Redis :6379 │ │ │ └─────────────────────────────────────────────────────────────────────┘ │ └──────────────────────────────────────────────────────────────────────────┘ ``` **[View Full Architecture Documentation →](docs/ARCHITECTURE.md)** — Request flow, template system, port allocation, database linking, and troubleshooting. --- ## 🗺️ Roadmap - [x] Core infrastructure — Flask + React + JWT + WebSocket - [x] Application management — PHP, Python, Node.js, Docker - [x] Domain & SSL — Nginx virtual hosts, Let's Encrypt - [x] Databases — MySQL, PostgreSQL - [x] File & FTP management - [x] Monitoring & alerts — Metrics, webhooks, uptime tracking - [x] Security — 2FA, ClamAV, file integrity, Fail2ban, Lynis - [x] Firewall — UFW/firewalld integration - [x] Multi-server management — Go agent, centralized dashboard - [x] Git deployment — Webhooks, auto-deploy, rollback, zero-downtime - [x] Backup & restore — S3, Backblaze B2, scheduled backups - [x] Email server — Postfix, Dovecot, DKIM/SPF/DMARC, Roundcube - [x] Team & permissions — RBAC, invitations, audit logging - [x] API enhancements — API keys, rate limiting, OpenAPI docs, webhook subscriptions - [x] SSO & OAuth — Google, GitHub, OIDC, SAML - [x] Database migrations — Flask-Migrate/Alembic, versioned schema - [ ] Agent fleet management — Auto-upgrade, bulk ops, offline command queue - [ ] Cross-server monitoring — Fleet dashboard, anomaly detection, alerting - [ ] Agent plugin system — Extensible agent with custom metrics, commands, health checks - [ ] Server templates & config sync — Drift detection, compliance dashboards - [ ] Multi-tenancy — Workspaces, team isolation, per-workspace settings - [ ] DNS zone management — Cloudflare, Route53, DigitalOcean integrations - [ ] Status pages — Public status page, health checks, incident management Full details: [ROADMAP.md](ROADMAP.md) --- ## 📖 Documentation | Document | Description | |----------|-------------| | [Architecture](docs/ARCHITECTURE.md) | System design, request flow, diagrams | | [Installation Guide](docs/INSTALLATION.md) | Complete setup instructions | | [Deployment Guide](docs/DEPLOYMENT.md) | CLI commands and production deployment | | [API Reference](docs/API.md) | REST API endpoints | | [Roadmap](ROADMAP.md) | Development roadmap and planned features | | [Contributing](CONTRIBUTING.md) | How to contribute | --- ## 🧱 Tech Stack | Layer | Technology | |-------|------------| | Backend | Python 3.11, Flask, SQLAlchemy, Flask-SocketIO, Flask-Migrate | | Frontend | React 18, Vite, LESS, Recharts | | Database | SQLite / PostgreSQL | | Web Server | Nginx, Gunicorn (GeventWebSocket) | | Containers | Docker, Docker Compose | | Security | ClamAV, Lynis, Fail2ban, TOTP (pyotp), Fernet encryption | | Auth | JWT, OAuth 2.0, OIDC, SAML 2.0 | | Email | Postfix, Dovecot, SpamAssassin, Roundcube | | Agent | Go (multi-server), HMAC-SHA256, WebSocket | --- ## 🤝 Contributing Contributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) first. ``` fork → feature branch → commit → push → pull request ``` **Priority areas:** Agent plugin system, fleet management, DNS integrations, status pages, UI/UX improvements, documentation. --- ## 💬 Community [![Discord](https://img.shields.io/badge/Discord-Join_Us-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/ZKk6tkCQfG) Join the Discord to ask questions, share feedback, or get help with your setup. --- ## ⭐ Star History [![Star History Chart](https://api.star-history.com/svg?repos=jhd3197/ServerKit&type=Date)](https://star-history.com/#jhd3197/ServerKit&Date) ---
**ServerKit** — Simple. Modern. Self-hosted. [Report Bug](https://github.com/jhd3197/ServerKit/issues) · [Request Feature](https://github.com/jhd3197/ServerKit/issues) Made with ❤️ by [Juan Denis](https://juandenis.com)