A comprehensive monitoring solution for VPS servers with real-time metrics, alerting, and multi-server management.
This project is currently in active development. The backend API is partially implemented with the following features:
- Project structure and Go module setup
- Database schema design with GORM models
- REST API endpoints for servers, metrics, and alerts
- Authentication system with JWT
- Database migrations
- Docker configuration for easy deployment
- Complete API implementation
- Frontend dashboard
- Agent for data collection
- Comprehensive test suite
- Documentation
- Product Requirements Document - Detailed product requirements and specifications
- System Architecture - System design, deployment model, and communication flow
- Agent Documentation - VPS monitoring agent installation and configuration
- RESTful API for server management
- User authentication with JWT
- PostgreSQL database with GORM ORM
- Dockerized deployment
- Basic server CRUD operations
- Real-time metrics collection
- Alerting system with notifications
- Multi-server dashboard
- Historical data visualization
- Lightweight agent for data collection
- Comprehensive test suite
- Backend: Go with Gorilla Mux and GORM
- Database: PostgreSQL
- Authentication: JWT
- Deployment: Docker & Docker Compose
- Frontend: React/Vue.js (planned)
-
Clone the repository:
git clone https://github.com/arnesssr/Vifra.git cd Vifra -
Set up environment variables:
cp configs/.env.example .env # Edit .env with your configuration -
Run with Docker Compose:
docker-compose up -d
-
Run database migrations:
go run cmd/migrate/main.go
-
Run the server:
go run cmd/server/main.go
POST /api/v1/auth/login- User loginPOST /api/v1/auth/logout- User logout
GET /api/v1/servers- List all monitored serversGET /api/v1/servers/{id}- Get server detailsPOST /api/v1/servers- Add new serverPUT /api/v1/servers/{id}- Update serverDELETE /api/v1/servers/{id}- Remove server
GET /api/v1/servers/{id}/metrics- Get real-time metricsGET /api/v1/servers/{id}/metrics/history- Get historical metrics
GET /api/v1/alerts- List all alertsPOST /api/v1/alerts- Create new alert rulePUT /api/v1/alerts/{id}- Update alert ruleDELETE /api/v1/alerts/{id}- Delete alert rule
We welcome contributions from the community! This project is designed to be beginner-friendly with clear issues and good documentation.
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
Look for issues tagged with good first issue for beginner-friendly tasks.
MIT
For questions or feedback, please open an issue on GitHub.