一个可扩展的通用虚拟化管理平台,支持 LXD、Incus、Docker 和 Proxmox VE。
使用已构建好的多架构镜像,会自动根据当前系统架构下载对应版本。
镜像标签说明:
镜像标签 | 说明 | 适用场景 |
---|---|---|
spiritlhl/oneclickvirt:latest |
一体化版本(内置数据库)最新版 | 快速部署 |
spiritlhl/oneclickvirt:20251016 |
一体化版本特定日期版本 | 需要固定版本 |
spiritlhl/oneclickvirt:no-db |
独立数据库版本最新版 | 不内置数据库 |
spiritlhl/oneclickvirt:no-db-20251016 |
独立数据库版本特定日期 | 不内置数据库 |
所有镜像均支持 linux/amd64
和 linux/arm64
架构。
展开查看一体化版本(内置数据库)
基础使用(不配置域名):
docker run -d \
--name oneclickvirt \
-p 80:80 \
-v oneclickvirt-data:/var/lib/mysql \
-v oneclickvirt-storage:/app/storage \
--restart unless-stopped \
spiritlhl/oneclickvirt:latest
配置域名访问:
如果你需要配置域名,需要设置 FRONTEND_URL
环境变量:
docker run -d \
--name oneclickvirt \
-p 80:80 \
-e FRONTEND_URL="https://your-domain.com" \
-v oneclickvirt-data:/var/lib/mysql \
-v oneclickvirt-storage:/app/storage \
--restart unless-stopped \
spiritlhl/oneclickvirt:latest
或者使用 GitHub Container Registry:
docker run -d \
--name oneclickvirt \
-p 80:80 \
-e FRONTEND_URL="https://your-domain.com" \
-v oneclickvirt-data:/var/lib/mysql \
-v oneclickvirt-storage:/app/storage \
--restart unless-stopped \
ghcr.io/oneclickvirt/oneclickvirt:latest
展开查看独立数据库版本
使用外部数据库,镜像更小,启动更快:
docker run -d \
--name oneclickvirt \
-p 80:80 \
-e FRONTEND_URL="https://your-domain.com" \
-e DB_HOST="your-mysql-host" \
-e DB_PORT="3306" \
-e DB_NAME="oneclickvirt" \
-e DB_USER="root" \
-e DB_PASSWORD="your-password" \
-v oneclickvirt-storage:/app/storage \
--restart unless-stopped \
spiritlhl/oneclickvirt:no-db
环境变量说明:
FRONTEND_URL
: 前端访问地址(必填,支持 http/https)DB_HOST
: 数据库主机地址DB_PORT
: 数据库端口(默认 3306)DB_NAME
: 数据库名称DB_USER
: 数据库用户名DB_PASSWORD
: 数据库密码
说明:
FRONTEND_URL
用于配置前端访问地址,影响 CORS、OAuth2 回调等功能。系统会自动检测 HTTP/HTTPS 协议并调整相应配置,协议头可以是http或https。
展开查看编译步骤
如果需要修改源码或自定义构建:
一体化版本(内置数据库):
git clone https://github.com/oneclickvirt/oneclickvirt.git
cd oneclickvirt
docker build -t oneclickvirt .
docker run -d \
--name oneclickvirt \
-p 80:80 \
-v oneclickvirt-data:/var/lib/mysql \
-v oneclickvirt-storage:/app/storage \
--restart unless-stopped \
oneclickvirt
独立数据库版本:
git clone https://github.com/oneclickvirt/oneclickvirt.git
cd oneclickvirt
docker build -f Dockerfile.no-db -t oneclickvirt:no-db .
docker run -d \
--name oneclickvirt \
-p 80:80 \
-e FRONTEND_URL="https://your-domain.com" \
-e DB_HOST="your-mysql-host" \
-e DB_PORT="3306" \
-e DB_NAME="oneclickvirt" \
-e DB_USER="root" \
-e DB_PASSWORD="your-password" \
-v oneclickvirt-storage:/app/storage \
--restart unless-stopped \
oneclickvirt:no-db
展开查看开发部署步骤
- Go 1.24.5
- Node.js 22+
- MySQL 5.7+
- npm 或 yarn
- 构建前端
cd web
npm i
npm run serve
- 构建后端
cd server
go mod tidy
go run main.go
-
开发模式下不需要反代后端,vite已自带后端代理请求。
-
在mysql中创建一个空的数据库
oneclickvirt
,记录对应的账户和密码。 -
访问前端地址,自动跳转到初始化界面,填写数据库信息和相关信息,点击初始化。
-
完成初始化后会自动跳转到首页,可以开始开发测试了。
系统初始化后会生成以下默认账户:
- 管理员账户:
admin / Admin123!@#
提示:请在首次登录后立即修改默认密码,修改密码应该在用户管理界面点击对应用户进行修改。
主要配置文件位于 server/config.yaml