Every planned core phase has shipped. New functionality now arrives as installable extensions through the Marketplace, and core work is limited to stability fixes and UI polish. Reframes the "what's next" list accordingly and points feature requests at the extension SDK with an `extension-idea` label, keeping the phase history as the record of how the core was built. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
22 KiB
ServerKit Roadmap
Status: core feature-complete. All planned core phases below have shipped. ServerKit no longer adds new features to the core — new functionality is developed as installable extensions distributed through the built-in Marketplace, and core development is limited to stability fixes and UI/UX polish (including issues reported by the community). This document is kept as the historical record of how the core was built out.
This document outlines the development roadmap for ServerKit. Features are organized by phases and priority.
Current Version: v1.6.0 (In Development)
Recently Completed (v1.5.0)
- New UI & Services Page - Integrated full Services page with detail views, metrics, logs, and shell.
- Environment Pipeline - Multi-environment management for WordPress (Prod/Staging/Dev) with promotion/sync.
- Visual Infrastructure Designer - Node-based visual canvas for stack deployment and server overview.
- Advanced Monitoring UI - Real-time log streaming and terminal integration in the dashboard.
- Template Library Expansion - Over 60+ one-click deployment templates (Immich, Authelia, Ghost, etc.).
- Team & Permissions - RBAC with admin/developer/viewer roles, invitations, audit logging
- SSO & OAuth Login - Google, GitHub, OIDC, SAML with account linking
Phase 1: Core Infrastructure (Completed)
- Flask backend with SQLAlchemy ORM
- React frontend with Vite
- JWT-based authentication
- Real-time WebSocket updates
- System metrics (CPU, RAM, disk, network)
- Docker and Docker Compose support
- SQLite/PostgreSQL database support
Phase 2: Application Management (Completed)
- PHP/WordPress application deployment
- Python (Flask/Django) application support
- Node.js application management with PM2
- Docker container management
- Environment variable management
- Application start/stop/restart controls
- Log viewing per application
Phase 3: Domain & SSL Management (Completed)
- Nginx virtual host management
- Domain configuration interface
- Let's Encrypt SSL integration
- SSL certificate auto-renewal
- Redirect management (HTTP → HTTPS)
Phase 4: Database Management (Completed)
- MySQL/MariaDB database support
- PostgreSQL database support
- Database creation/deletion
- User management per database
- Basic query interface
Phase 5: File & FTP Management (Completed)
- Web-based file manager
- File upload/download
- File editing with syntax highlighting
- vsftpd FTP server integration
- FTP user management
Phase 6: Monitoring & Alerts (Completed)
- Real-time system metrics
- Server uptime tracking
- Customizable alert thresholds
- Discord webhook notifications
- Slack webhook notifications
- Telegram bot notifications
- Generic webhook support
- Alert history and logging
Phase 7: Security Features (Completed)
- Two-factor authentication (TOTP)
- Backup codes for 2FA recovery
- ClamAV malware scanning
- Quick scan / Full scan options
- File quarantine management
- File integrity monitoring
- Failed login detection
- Security event logging
Phase 8: Scheduled Tasks (Completed)
- Cron job management
- Visual cron expression builder
- Job execution history
- Enable/disable jobs
Phase 9: Firewall Management (Completed - Merged into Security)
- UFW firewall integration
- Visual rule management
- Common port presets
- Rule enable/disable
- Consolidated into Security page for unified security management
Phase 10: Multi-Server Management (Completed)
Priority: High
- Agent-based remote server monitoring (Go agent)
- Centralized dashboard for multiple servers
- Server grouping and tagging
- Cross-server metrics comparison
- Remote Docker management via agents
- Server health overview
- Agent WebSocket gateway
- HMAC-SHA256 authentication
- GitHub Actions for agent releases (Linux/Windows)
- Installation scripts endpoint
- Agent auto-update mechanism
- Agent download page in UI
- Container logs streaming for remote servers
Phase 11: Git Deployment (Completed)
Priority: High
- GitHub/GitLab webhook integration
- Automatic deployment on push
- Branch selection for deployment
- Rollback to previous deployments
- Deployment history and logs
- Pre/post deployment scripts
- Zero-downtime deployments
Phase 12: Backup & Restore (Completed)
Priority: High
- Automated database backups
- File/directory backups
- S3-compatible storage support
- Backblaze B2 integration
- Backup scheduling
- One-click restore
- Backup retention policies
- Offsite backup verification
Phase 13: Email Server Management (Completed)
Priority: Medium
- Postfix mail server setup
- Dovecot IMAP/POP3 configuration
- Email account management
- Spam filtering (SpamAssassin)
- DKIM/SPF/DMARC configuration
- Webmail interface integration
- Email forwarding rules
Phase 14: Visual Infrastructure Designer (Completed)
Priority: High
The visual canvas for designing and deploying entire infrastructure stacks.
- Node-based Visual Canvas (
WorkflowBuilder.jsx) using React Flow - Infrastructure component nodes (Docker, Database, Domain, Service)
- Smart connection rules (link apps to DBs, domains to apps)
- One-click stack deployment from the canvas
- Template-based stack generation
- Server overview mode (visualize existing infrastructure)
Phase 15: Team & Permissions (Completed)
Priority: Medium
- Multi-user support
- Role-based access control (RBAC)
- Custom permission sets
- Audit logging per user
- Team invitations
- Activity dashboard
Phase 16: API Enhancements (Completed)
Priority: Medium
- API key management
- Rate limiting
- Webhook event subscriptions
- OpenAPI/Swagger documentation
- API usage analytics
Phase 17: Advanced Security (Completed)
Priority: High
- Unified Security page with all security features
- Firewall tab with UFW/firewalld management
- Fail2ban integration
- SSH key management
- IP allowlist/blocklist
- Brute force protection
- Security audit reports
- Vulnerability scanning (Lynis)
- Automatic security updates (unattended-upgrades/dnf-automatic)
Phase 18: SSO & OAuth Login (Completed)
Priority: High
- Google OAuth 2.0 login
- GitHub OAuth login
- Generic OpenID Connect (OIDC) provider support
- SAML 2.0 support for enterprise environments
- Social login UI (provider buttons on login page)
- Account linking (connect OAuth identity to existing local account)
- Auto-provisioning of new users on first SSO login
- Configurable SSO settings (enable/disable providers, client ID/secret management)
- Enforce SSO-only login (disable password auth for team members)
- SSO session management and token refresh
Phase 19: Database Migrations & Schema Versioning (Completed)
Priority: High
- Flask-Migrate (Alembic) integration
- Migration wizard UI (Completed)
- CLI fallback support
Phase 20: New UI & Services Page (Completed)
Priority: Critical
Integrated full Services page with detail views, metrics, logs, shell, settings, and package management.
- Services list page with status indicators and quick actions
- Service detail page with tabbed interface (Metrics, Logs, Shell, Settings, Commands, Events, Packages)
- Git connect modal for linking services to repositories
- Gunicorn management tab for Python services
- Service type detection and type-specific UI (Node, Python, PHP, Docker, etc.)
Phase 21: Environment Pipeline (Completed)
Priority: High
- WordPress multi-environment pipeline (Prod/Staging/Dev)
- Code and Database promotion between environments
- Production syncing and environment locking
Phase 22: Container Logs & Monitoring UI (Completed)
Priority: High
- Real-time log streaming via WebSocket with ANSI color support
- Web-based terminal (
Terminal.jsx) with shell access - Per-app resource usage charts (CPU, RAM)
- Log search and filtering
Upcoming Development
The phases below are ordered by priority. Higher phases ship first.
Phase 23: Workflow & Automation Engine — Core (Completed)
Priority: Critical
Moving beyond static design to dynamic, event-driven automation. This turns ServerKit into a powerful automation hub.
- Visual Workflow Builder: Node-based canvas with drag-and-drop nodes, connection validation, and config panels
- Cron Integration: Schedule workflows to run on recurring intervals (e.g., "Every Sunday at 2 AM, backup all DBs and rotate logs")
- Manual Execution: Trigger workflows on demand with optional context data
- Execution History: Track workflow execution status, per-node results, and timestamped logs
- Script Nodes: Custom Shell script execution nodes with output capture
- Notification Nodes: Send alerts via configured notification channels
- One-Click Stack Deployment: Deploy full infrastructure (databases, apps, domains) from a workflow diagram
Phase 24: Customizable Sidebar & Dashboard Views (Completed)
Priority: High
Let users personalize what they see. Not everyone runs email servers or manages Docker — the sidebar should adapt to each user's needs.
- Sidebar configuration page in Settings
- Preset view profiles (Full, Web Hosting, Email Admin, Docker/DevOps, Minimal)
- Custom view builder — toggle individual sidebar items on/off
- Per-user preference storage (saved to user profile)
Phase 25: Workflow Engine — Triggers & Completion (Completed)
Priority: High
Complete the workflow engine with proper execution logic, missing triggers, and production-grade reliability.
- DAG Execution: Full directed acyclic graph traversal with parallel branch support (replace current linear BFS)
- Logic Node Evaluation: If/Else condition evaluation with true/false branching
- Variable Interpolation: Pass data between steps using
${node_id.field}and{{placeholder}}syntax in node configs - Webhook Triggers: Register
/hooks/<webhook_id>endpoint to fire workflows on incoming HTTP requests - Event Triggers: Run workflows on system events (health check failure, high CPU/memory, git push, app stopped)
- Notification Templating: Message placeholder substitution (
${node_id.stdout},{{workflow_name}}) in notification nodes - Execution Timeouts: Configurable timeout per node (1–3600s) to prevent hung workflows
- Retry on Failure: Configurable retry count (0–5) and delay per node
- Circular Dependency Detection: Kahn's algorithm validates graph on save and before execution
- Script Sandboxing: Timeout enforcement, output size limits, explicit
bash -c/python3 -cexecution
Phase 26: Agent Fleet Management (Completed)
Priority: High
Level up agent management from "connect and monitor" to full fleet control.
- Agent version tracking and compatibility matrix (panel version ↔ agent version)
- Push agent upgrades from the panel (single server or fleet-wide rollout)
- Staged rollout support — upgrade agents in batches with health checks between waves
- Agent health dashboard — connection uptime, heartbeat latency, command success rate per agent
- Auto-discovery of new servers on the local network (mDNS/broadcast scan)
- Agent registration approval workflow (admin must approve before agent joins fleet)
- Bulk agent operations — restart, upgrade, rotate keys across selected servers
- Agent changelog and release notes visible in UI
- Offline agent command queue — persist commands and deliver when agent reconnects
- Command retry with configurable backoff for failed/timed-out operations
- Agent connection diagnostics — test connectivity, latency, firewall check from panel
Phase 27: Cross-Server Monitoring Dashboard (Completed)
Priority: High
Fleet-wide visibility — see everything at a glance and catch problems early.
- Fleet overview dashboard — heatmap of all servers by CPU/memory/disk usage
- Server comparison charts — overlay metrics from multiple servers on one graph
- Per-server alert thresholds (CPU > 80% for 5 min → warning, > 95% → critical)
- Anomaly detection — automatic baseline learning, alert on deviations
- Custom metric dashboards — drag-and-drop widgets, save layouts per user
- Metric correlation view — spot relationships between metrics across servers
- Capacity forecasting — trend-based predictions (disk full in X days, memory growth rate)
- Metrics export — Prometheus endpoint (
/metrics), CSV download, JSON API - Grafana integration guide and pre-built dashboard templates
- Fleet-wide search — find which server is running a specific container, service, or port
Phase 28: Agent Plugin System (Completed)
Priority: High
Make the agent extensible — let users add custom capabilities without modifying agent core. This is the foundation for future integrations (Android device farms, IoT fleets, custom hardware monitoring, etc.).
Plugin Architecture
- Plugin specification — standard interface (init, healthcheck, metrics, commands)
- Plugin manifest format (YAML/JSON) — name, version, dependencies, capabilities, permissions
- Plugin lifecycle management — install, enable, disable, uninstall, upgrade
- Plugin isolation — each plugin runs in its own process/sandbox with resource limits
- Plugin communication — standardized IPC between plugin and agent core
Plugin Capabilities
- Custom metrics reporters — plugins can push arbitrary metrics to the panel
- Custom health checks — plugins define checks that feed into the status system
- Custom commands — plugins register new command types the panel can invoke
- Scheduled tasks — plugins can register periodic jobs (cron-like)
- Event hooks — plugins can react to agent events (connect, disconnect, command, alert)
Phase 29: Server Templates & Config Sync (Completed)
Priority: Medium
Define what a server should look like, apply it, and detect when it drifts.
- Server template builder — define expected state (packages, services, firewall rules, users, files)
- Template library — save and reuse templates (e.g., "Web Server", "Database Server", "Mail Server")
- Apply template to server — install packages, configure services, set firewall rules via agent
- Config drift detection — periodic comparison of actual vs. expected state
- Drift report UI — visual diff showing what changed and when
- Auto-remediation option — automatically fix drift back to template (with approval toggle)
- Template versioning — track changes to templates over time
- Template inheritance — base template + role-specific overrides
- Bulk apply — roll out template changes across server groups
- Compliance dashboard — percentage of fleet in compliance per template
Phase 30: Multi-Tenancy & Workspaces (Completed)
Priority: Medium
Isolate servers by team, client, or project. Essential for agencies, MSPs, and larger teams.
- Workspace model — isolated container for servers, users, and settings
- Workspace CRUD — create, rename, archive workspaces
- Server assignment — each server belongs to exactly one workspace
- User workspace membership — users can belong to multiple workspaces with different roles
- Workspace switching — quick-switch dropdown in the header
- Per-workspace settings — notification preferences, default templates, branding
- Workspace-scoped API keys — API keys restricted to a single workspace
- Cross-workspace admin view — super-admin can see all workspaces and usage
- Workspace usage quotas — limit servers, users, or API calls per workspace
- Workspace billing integration — track resource usage per workspace for invoicing
Phase 31: Advanced SSL Features (Completed)
Priority: Medium
- Certificate expiry monitoring
- Wildcard SSL certificates via DNS-01 challenge
- Multi-domain certificates (SAN)
- Custom certificate upload (key + cert + chain)
- Certificate expiry notifications (email/webhook alerts before expiration)
- SSL configuration templates (modern, intermediate, legacy compatibility)
- SSL health check dashboard (grade, cipher suites, protocol versions)
Phase 32: DNS Zone Management (Completed)
Priority: Medium
Full DNS record management with provider API integration.
- DNS zone editor UI (A, AAAA, CNAME, MX, TXT, SRV, CAA records)
- Cloudflare API integration (list/create/update/delete records)
- Route53 API integration
- DigitalOcean DNS integration
- DNS propagation checker (query multiple nameservers)
- Auto-generate recommended records for hosted services (SPF, DKIM, DMARC, MX)
- DNS template presets (e.g., "standard web hosting", "email hosting")
- Bulk record import/export (BIND zone file format)
Phase 33: Nginx Advanced Configuration (Completed)
Priority: Medium
Go beyond basic virtual hosts — full reverse proxy and performance configuration.
- Visual reverse proxy rule builder (upstream servers, load balancing methods)
- Load balancing configuration (round-robin, least connections, IP hash)
- Caching rules editor (proxy cache zones, TTLs, cache bypass rules)
- Rate limiting at proxy level (per-IP, per-route)
- Custom location block editor with syntax validation
- Header manipulation (add/remove/modify request/response headers)
- Nginx config syntax check before applying changes
- Config diff preview before saving
- Access/error log viewer per virtual host
Phase 34: Status Page & Health Checks (Completed)
Priority: Medium
Public-facing status page and automated health monitoring.
- Automated health checks (HTTP, TCP, DNS, SMTP) with configurable intervals
- Public status page (standalone URL, no auth required)
- Status page customization (logo, colors, custom domain)
- Service grouping on status page (e.g., "Web Services", "Email", "APIs")
- Incident management — create, update, resolve incidents with timeline
- Uptime percentage display (24h, 7d, 30d, 90d)
- Scheduled maintenance windows with advance notifications
- Status page subscribers (email/webhook notifications on incidents)
- Historical uptime graphs
- Status badge embeds (SVG/PNG for README files)
Phase 35: Server Provisioning APIs (Completed)
Priority: Medium
Spin up and manage cloud servers directly from the panel.
- DigitalOcean API integration (create/destroy/resize droplets)
- Hetzner Cloud API integration
- Vultr API integration
- Linode/Akamai API integration
- Server creation wizard (region, size, OS, SSH keys)
- Auto-install ServerKit agent on provisioned servers
- Server cost tracking and billing overview
- Snapshot management (create/restore/delete)
- One-click server cloning
- Destroy server with confirmation safeguards
Phase 36: Performance Optimization (Completed)
Priority: Low
- Redis caching for frequently accessed data (metrics, server status)
- Database query optimization and slow query logging
- Background job queue (Celery or RQ) for long-running tasks
- Lazy loading for large datasets (paginated API responses)
- WebSocket connection pooling and reconnection improvements
- Frontend bundle optimization and code splitting
Phase 37: Mobile App (Completed)
Priority: Low — v3.0+
- React Native or PWA mobile application
- Push notifications for alerts and incidents
- Quick actions (restart services, view stats, acknowledge alerts)
- Biometric authentication (fingerprint/Face ID)
- Offline mode with cached server status
Phase 38: Marketplace & Extensions (Completed)
Priority: Low — v3.0+
- Plugin/extension system with API hooks
- Community marketplace for plugins
- Custom dashboard widgets
- Theme customization (colors, layout, branding)
- Extension SDK and developer documentation
Version Milestones
| Version | Target Features | Status |
|---|---|---|
| v0.9.0 | Core features, 2FA, Notifications, Security | Completed |
| v1.0.0 | Production-ready stable release, DB migrations | Completed |
| v1.1.0 | Multi-server, Git deployment | Completed |
| v1.2.0 | Backups, Advanced SSL, Advanced Security | Completed |
| v1.3.0 | Email server, API enhancements | Completed |
| v1.4.0 | Team & permissions, SSO & OAuth login | Completed |
| v1.5.0 | New UI, Visual Designer, Services Page | Completed |
| v1.6.0 | Workflow triggers & completion, fleet management | Current |
| v1.7.0 | Cross-server monitoring, agent plugin system | Completed |
| v1.8.0 | Server templates, multi-tenancy | Completed |
| v1.9.0 | Advanced SSL, DNS management, Nginx config | Completed |
| v2.0.0 | Status pages, server provisioning, performance | Completed |
| v3.0.0 | Mobile app, Marketplace | Completed |
Contributing
Want to help? See CONTRIBUTING.md for guidelines.
Priority areas for contributions:
- New extensions and Marketplace templates
- Extension SDK improvements and example plugins
- UI/UX polish and fixes for reported issues
- Documentation
- Test coverage
Feature Requests
The core is no longer taking on new features. The best way to propose new functionality is as an extension — open an issue on GitHub with the extension-idea label, or build it yourself with the extension SDK. Core issues (bugs, UI polish) are always welcome with the bug label.
ServerKit Roadmap
Last updated: March 2026