mirror of
https://github.com/jhd3197/ServerKit.git
synced 2026-11-08 21:14:47 +09:00
fc55530d8f530ee6ae79f3044cf6b3fa66f54108
Introduces backend API endpoints and service for tracking server uptime, including statistics and history. Adds a new UptimeGraph React component to the frontend dashboard, updates API service methods, and includes new styles for uptime visualization. Removes the old uptime display from the dashboard and integrates the new graph-based component.
ServerKit
Modern, self-hosted server management panel - An open-source alternative to ServerPilot and CyberPanel.
Overview
ServerKit is a lightweight, modern server control panel for managing web applications, databases, and services on your VPS or dedicated server. Built with Python/Flask backend and React frontend.
Key Features
- PHP / WordPress - PHP-FPM 8.2 with one-click WordPress installation
- Python Apps - Deploy Flask and Django applications with Gunicorn
- Docker Support - Manage containers directly from the dashboard
- SSL Certificates - Automatic Let's Encrypt with auto-renewal
- Database Management - MySQL/MariaDB and PostgreSQL support
- Real-time Monitoring - CPU, RAM, disk, and network metrics
- Modern UI - Dark-themed dashboard built with React
Tech Stack
| Layer | Technology |
|---|---|
| Backend | Python 3.11+, Flask, SQLAlchemy |
| Frontend | React 18, Vite, TailwindCSS |
| Database | PostgreSQL / SQLite |
| Web Server | Nginx |
| Containers | Docker |
| Real-time | WebSocket (Flask-SocketIO) |
Requirements
- Ubuntu 22.04+ / Debian 12+ (recommended)
- Python 3.11+
- Node.js 18+
- Docker (optional, for container management)
- Root or sudo access
Quick Start
Development Setup
# Clone the repository
git clone https://github.com/jhd3197/ServerKit.git
cd ServerKit
# Backend setup
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
flask run
# Frontend setup (new terminal)
cd frontend
npm install
npm run dev
Production Installation
Install command:
curl -fsSL https://raw.githubusercontent.com/jhd3197/serverkit/main/install.sh | bash
Update command:
curl -fsSL https://raw.githubusercontent.com/jhd3197/serverkit/main/install.sh | bash
Screenshots
Project Structure
ServerKit/
├── backend/ # Flask API
│ ├── app/
│ │ ├── api/ # API routes
│ │ ├── models/ # Database models
│ │ ├── services/ # Business logic
│ │ └── utils/ # Helpers
│ ├── config.py
│ └── requirements.txt
│
├── frontend/ # React application
│ ├── src/
│ │ ├── components/ # Reusable components
│ │ ├── layouts/ # Layout components
│ │ ├── pages/ # Page components
│ │ └── services/ # API clients
│ └── package.json
│
├── agent/ # Server monitoring agent
│ └── serverkit-agent.py
│
├── docker/ # Docker configurations
│ ├── Dockerfile
│ └── docker-compose.yml
│
├── docs/ # Documentation
├── ROADMAP.md # Development roadmap
└── README.md
Supported Applications
PHP / WordPress
- PHP-FPM 8.0, 8.1, 8.2, 8.3
- One-click WordPress installation
- WP-CLI integration
- Automatic updates and backups
Python
- Flask applications with Gunicorn
- Django applications with static file handling
- Virtual environment management
- Multiple Python versions
Docker
- Container management
- Docker Compose support
- Image management
- Log streaming
Databases
- MySQL / MariaDB
- PostgreSQL
- Redis (optional)
API Documentation
API runs on port 5000 by default.
Base URL: http://localhost:5000/api/v1
Authentication:
POST /auth/login # Get JWT token
POST /auth/register # Register new user
POST /auth/refresh # Refresh token
Applications:
GET /apps # List all apps
POST /apps # Create new app
GET /apps/:id # Get app details
PUT /apps/:id # Update app
DELETE /apps/:id # Delete app
Domains:
GET /domains # List domains
POST /domains # Add domain
DELETE /domains/:id # Remove domain
System:
GET /system/metrics # Server metrics
GET /system/logs # System logs
POST /system/services # Control services
Configuration
Create a .env file in the backend directory:
# Flask
FLASK_ENV=development
SECRET_KEY=your-secret-key
# Database
DATABASE_URL=sqlite:///serverkit.db
# JWT
JWT_SECRET_KEY=your-jwt-secret
# Server Agent
AGENT_TOKEN=your-agent-token
Roadmap
See ROADMAP.md for the detailed development plan.
Current Status: Phase 1 - Foundation
| Phase | Description | Status |
|---|---|---|
| 1 | Foundation & Core | In Progress |
| 2 | Server Agent | Planned |
| 3 | PHP & WordPress | Planned |
| 4 | Python Apps | Planned |
| 5 | Docker Support | Planned |
| 6 | Database Management | Planned |
Contributing
Contributions are welcome! Please read the Contributing Guide before submitting a PR.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Inspired by ServerPilot and CyberPanel
- UI design inspired by modern admin dashboards
ServerKit - Simple. Modern. Self-hosted.
Description
No description provided
astracloudflarecontrol-panelcyberpaneldnsfablehosting-control-panelhosting-panelkimi-k3server-managementserverkitubuntu-web-panelwebserver
Readme
MIT
177 MiB
0 Stars
1 Watchers
0 Forks
Languages
Python
54.3%
JavaScript
33.4%
SCSS
7.6%
Shell
4.3%
PowerShell
0.2%