A Go-based server application for managing virtual machines. Figma
Wagecloud Server is a backend service that provides VM management capabilities with features including:
- User account management with role-based access (Admin/User)
- Virtual machine provisioning and management
- Network management for VMs
- Support for different OS and architectures
- Language: Go
- Database: PostgreSQL with Prisma
- Authentication: JWT-based
- Payment Integration: VNPay
- Monitoring: Sentry
- Caching: In-memory cache implementation
- Configuration: YAML-based
- Go 1.18 or higher
- PostgreSQL
- Node.js (for Prisma migrations)
- libvirt (for VM management)
Copy config/config.example.yml
to config/config.yml
and adjust the settings:
- Database configuration
- S3 storage settings
- JWT secrets
- VNPay integration details
- Sentry configuration
- Logger settings
Start the development server:
make dev
Initialize database migrations:
make init-migrate
Generate SQL:
make sqlc
The project includes commands for VM management:
# Create cloud-init ISO
make cloudinit
# Install a new VM
make install
# Check VM IP addresses
make ip
# Remove a VM
make remove
WIP
APP_STAGE
: Set to "production" for production environment, otherwise defaults to development
ISC License