GhostHub is a modern, self-hostable MSP (Managed Service Provider) management platform built with Rust and WebAssembly. Inspired by ITFlow but designed from the ground up for performance, security, and ease of deployment.
- Client Management - Organize your clients with contacts, locations, and detailed information
- Asset Tracking - Track devices, servers, and infrastructure for each client
- Ticketing System - Support ticket management with time tracking and billing
- Invoicing & Billing - Generate invoices, track payments, and manage finances
- Self-Hosted - Complete control over your data
- Modern Architecture - Built with Rust backend and WebAssembly frontend
- Docker Ready - Easy deployment with Docker and docker-compose
- Clone the repository:
git clone https://github.com/CK-Technology/ghosthub.git
cd ghosthub- Start with docker-compose:
docker-compose up -d- Access GhostHub at
http://localhost
- Backend: Axum web framework with SQLx for PostgreSQL
- Frontend: Yew framework compiled to WebAssembly
- Database: PostgreSQL with proper foreign keys and indexes
- Deployment: Single Docker container behind nginx
- Rust 1.75+
- PostgreSQL 13+
- Node.js 18+
- Trunk (for building frontend)
- Install dependencies:
cd backend
cp .env.example .env
# Edit .env with your database settings- Setup database:
# Create database and run migrations
cargo run- Start backend:
cargo run- Install trunk:
cargo install trunk- Build and serve frontend:
cd frontend
trunk serveGhostHub uses PostgreSQL and includes the following core tables:
clients- MSP customer organizationscontacts- Client contact personsassets- Client devices and infrastructuretickets- Support requests and issuesinvoices- Billing and financial records
RESTful API with endpoints for:
/api/v1/clients- Client management/api/v1/tickets- Ticket management/api/v1/assets- Asset tracking/api/v1/invoices- Billing management
- JWT-based authentication
- Password hashing with bcrypt
- SQL injection protection with SQLx
- CORS and security headers configured
- Input validation and sanitization
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests:
cargo test - Submit a pull request
GPL-3.0 License - see LICENSE file for details.
Inspired by the excellent ITFlow project. GhostHub aims to provide a modern, performant alternative built with Rust and WebAssembly.
