Juan Denis 08d5c4bade Add SSO/OAuth and DB migration framework
Add full SSO (Google, GitHub, generic OIDC, SAML) support and integrate Alembic-based DB migrations. Introduces OAuthIdentity model, sso_service, SSO API blueprint (authorize/callback/link/unlink/admin/config/test), and settings to enable/configure providers and enforce SSO-only logins. Integrates Flask-Migrate and a MigrationService with API endpoints for status/backup/apply/history and includes Alembic scaffolding (migrations/versions/001_baseline.py). Update app init to register SSO and migrations blueprints and initialize Migrate; replace fragile auto-column hack with MigrationService.prepare/check. Update User model (nullable password_hash, auth_provider, has_password/to_dict fields), add AuditLog SSO actions, add frontend SSO components/pages and a migration UI, and update ROADMAP and requirements. Notes: token encryption uses Fernet derived from SECRET_KEY; migrations may add the new auth_provider column at startup.
2026-03-04 01:37:22 -05:00
2026-02-26 17:21:22 -05:00
2026-02-26 17:21:22 -05:00
2026-03-04 01:06:21 +00:00

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 | 中文版 | Português


Linux Docker Discord

License Python React Flask Nginx Let's Encrypt


Features · Quick Start · Screenshots · Architecture · Roadmap · Docs · Contributing · Discord


Dashboard


🎯 Features

Apps & Containers

🐘 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

Infrastructure

🌐 Domain Management — Nginx virtual hosts with easy configuration

🔒 SSL Certificates — Automatic Let's Encrypt with auto-renewal

🗄️ Databases — MySQL/MariaDB and PostgreSQL support

🛡️ Firewall (UFW) — Visual firewall rule management

⏰ Cron Jobs — Schedule tasks with a visual editor

📁 File Manager — Browse and edit files via web interface

📡 FTP Server — Manage vsftpd users and access

Security

🔐 Two-Factor Auth — TOTP-based with backup codes

🦠 Malware Scanning — ClamAV integration with quarantine

📋 File Integrity Monitoring — Detect unauthorized file changes

🚨 Security Alerts — Real-time threat notifications

🧱 Fail2ban & SSH — Brute force protection and SSH key management

Monitoring & Alerts

📊 Real-time Metrics — CPU, RAM, disk, network monitoring via WebSocket

📈 Uptime Tracking — Historical server uptime data

🔔 Notifications — Discord, Slack, Telegram, and generic webhooks

🖥️ Multi-Server — Agent-based remote server monitoring and management


🚀 Quick Start

⏱️ Up and running in under 2 minutes

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

Works on Ubuntu 22.04+ and Debian 12+. Sets up everything automatically.

Option 2: Docker

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 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

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 → — Request flow, template system, port allocation, database linking, and troubleshooting.


🗺️ Roadmap

  • Core infrastructure — Flask + React + JWT + WebSocket
  • Application management — PHP, Python, Node.js, Docker
  • Domain & SSL — Nginx virtual hosts, Let's Encrypt
  • Databases — MySQL, PostgreSQL
  • File & FTP management
  • Monitoring & alerts — Metrics, webhooks, uptime tracking
  • Security — 2FA, ClamAV, file integrity, Fail2ban
  • Firewall — UFW integration
  • Multi-server management — Go agent, centralized dashboard
  • Git deployment — Webhooks, auto-deploy, rollback, zero-downtime
  • Backup & restore — S3, Backblaze B2, scheduled backups
  • Email server — Postfix, Dovecot, DKIM/SPF/DMARC
  • Team & permissions — RBAC, audit logging
  • Mobile app — React Native with push notifications
  • Plugin marketplace — Extensions, custom widgets, themes

Full details: ROADMAP.md


📖 Documentation

Document Description
Architecture System design, request flow, diagrams
Installation Guide Complete setup instructions
Deployment Guide CLI commands and production deployment
API Reference REST API endpoints
Roadmap Development roadmap and planned features
Contributing How to contribute

🧱 Tech Stack

Layer Technology
Backend Python 3.11, Flask, SQLAlchemy, Flask-SocketIO
Frontend React 18, Vite, LESS
Database SQLite / PostgreSQL
Web Server Nginx, Gunicorn
Containers Docker, Docker Compose
Security ClamAV, TOTP (pyotp), Cryptography

🤝 Contributing

Contributions are welcome! Please read CONTRIBUTING.md first.

fork → feature branch → commit → push → pull request

Priority areas: Backup implementations, additional notification channels, UI/UX improvements, documentation.


💬 Community

Discord

Join the Discord to ask questions, share feedback, or get help with your setup.


ServerKit — Simple. Modern. Self-hosted.

Report Bug · Request Feature

Made with ❤️ by Juan Denis

Languages
Python 54.3%
JavaScript 33.4%
SCSS 7.6%
Shell 4.3%
PowerShell 0.2%