A lightweight and intuitive version control system with a tree-structured history
- 🌳 Tree-structured History - Visualize version relationships as an intuitive tree
- 🚀 Modern Web UI - Beautiful Vue.js 3 interface with Element Plus components
- 🔄 Version Management - Create, publish, and manage software versions effortlessly
- 📊 Analytics Dashboard - Track version adoption and usage statistics
- 🌍 Multi-channel Support - Manage different release channels (stable, beta, alpha)
- 🔒 Secure & Scalable - Built with Go backend and PostgreSQL database
- 🐳 Docker Ready - Easy deployment with Docker and Docker Compose
- 🌐 Internationalization - Support for multiple languages (English, Chinese)
- 📱 Responsive Design - Works perfectly on desktop and mobile devices
- ⚡ RESTful API - Well-documented API for integration
- Software Distribution - Manage and distribute software updates
- Enterprise Applications - Control internal application versions
- Mobile App Updates - Handle iOS/Android app version management
- Game Development - Manage game patches and updates
- IoT Firmware - Distribute firmware updates to devices
- Documentation Versioning - Track documentation versions
- Go 1.21 or later
- Node.js 18 or later
- PostgreSQL (for production) or SQLite (for development)
- Docker & Docker Compose (optional)
git clone https://github.com/Run-Panel/VerTree.git
cd VerTree
# Copy environment file
cp env.example .env
# Edit the .env file with your configurations
nano .env
# Backend dependencies
go mod tidy
# Frontend dependencies
cd frontend
npm install
cd ..
# Build frontend
make frontend
# Run the application
make dev
- 🌐 Web Interface: http://localhost:8080/admin
- 🔗 API Endpoint: http://localhost:8080/api/v1
- ❤️ Health Check: http://localhost:8080/health
make docker-dev
# Set environment variables
export REGION=global
export DOMAIN=your-domain.com
# Deploy
make docker
Component | Technology | Description |
---|---|---|
Backend | Go + Gin | RESTful API server |
Frontend | Vue.js 3 + Element Plus | Modern web interface |
Database | PostgreSQL / SQLite | Data persistence |
Caching | Redis | Performance optimization |
Deployment | Docker + Nginx | Containerized deployment |
Method | Endpoint | Description |
---|---|---|
GET |
/api/v1/versions |
List all versions |
POST |
/api/v1/versions |
Create new version |
GET |
/api/v1/versions/{id} |
Get version details |
PUT |
/api/v1/versions/{id} |
Update version |
DELETE |
/api/v1/versions/{id} |
Delete version |
POST |
/api/v1/versions/{id}/publish |
Publish version |
Method | Endpoint | Description |
---|---|---|
GET |
/api/v1/channels |
List all channels |
POST |
/api/v1/channels |
Create new channel |
PUT |
/api/v1/channels/{id} |
Update channel |
DELETE |
/api/v1/channels/{id} |
Delete channel |
Method | Endpoint | Description |
---|---|---|
POST |
/api/v1/check-update |
Check for updates |
POST |
/api/v1/download-started |
Record download start |
POST |
/api/v1/install-result |
Record installation result |
VerTree/
├── cmd/server/ # Application entry point
├── internal/ # Private application code
│ ├── config/ # Configuration management
│ ├── database/ # Database connections
│ ├── handlers/ # HTTP handlers
│ ├── models/ # Data models
│ ├── services/ # Business logic
│ └── middleware/ # HTTP middleware
├── frontend/ # Vue.js frontend application
├── web/ # Built frontend assets
├── docs/ # Documentation
└── migrations/ # Database migrations
# Development
make dev # Run in development mode
make build # Build the application
make frontend # Build frontend assets
make test # Run tests
# Docker
make docker # Production deployment
make docker-dev # Development deployment
make docker-stop # Stop services
# Maintenance
make logs # View production logs
make logs-dev # View development logs
make clean # Clean build artifacts
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- v1.1.0 - Advanced analytics and reporting
- v1.2.0 - Plugin system for extensibility
- v1.3.0 - Built-in CDN integration
- v1.4.0 - Advanced deployment strategies
- v1.5.0 - Mobile application for management
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- 🐛 Bug Reports: GitHub Issues
- 💡 Feature Requests: GitHub Discussions
- 📖 Documentation: Check our Wiki
- ✅ Core Features: Stable and production-ready
- 🔄 Active Development: Regular updates and improvements
- 🌟 Community: Welcoming contributors and feedback
- 📊 Testing: Comprehensive test coverage
- Thanks to all contributors who helped build VerTree
- Inspired by modern DevOps practices and CI/CD workflows
- Built with ❤️ by the Run-Panel team