Loading...
Loading...
开源、易用的服务器项目(Open source, easy to use server project)
Avg 71.1 stars per repo.
24 new projects with 241 stars.
129 followers.
一个可扩展的通用虚拟化管理平台,支持 LXD、Incus、Docker 和 Proxmox VE。
尽量不要自行编译,推荐使用二进制文件分离部署或直接docker拉取镜像部署
使用已构建好的多架构镜像,会自动根据当前系统架构下载对应版本。
镜像标签说明:
| 镜像标签 | 说明 | 适用场景 |
|---------|------|---------|
| spiritlhl/oneclickvirt:latest | 一体化版本(内置数据库)最新版 | 快速部署 |
| spiritlhl/oneclickvirt:20260204 | 一体化版本特定日期版本 | 需要固定版本 |
| spiritlhl/oneclickvirt:no-db | 独立数据库版本最新版 | 不内置数据库 |
| spiritlhl/oneclickvirt:no-db-20260204 | 独立数据库版本特定日期 | 不内置数据库 |
所有镜像均支持 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。
使用 Docker Compose 可以一键部署完整的开发环境,采用分容器部署架构,包括独立的前端容器、后端容器和数据库容器:
git clone https://github.com/oneclickvirt/oneclickvirt.git
cd oneclickvirt
docker-compose up -d --build || docker compose up -d --build
默认配置说明:
http://localhost:8888oneclickvirt,无密码./data/mysql./data/app/初始化配置:
首次访问时会进入初始化界面,数据库配置请填写:
mysql(容器名称,不是 127.0.0.1)3306oneclickvirtroot自定义端口(可选):
如果需要修改前端访问端口,编辑 docker-compose.yaml 文件中的 ports 配置:
services:
web:
ports:
- "你的端口:80" # 例如 "80:80" 或 "8080:80"
停止服务:
docker-compose down
查看日志:
docker-compose logs -f
清理数据:
docker-compose down
rm -rf ./data
如果需要修改源码或自定义构建:
一体化版本(内置数据库):
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
cd web
npm i
npm run serve
cd server
go mod tidy
go run main.go
开发模式下不需要反代后端,vite已自带后端代理请求。
在mysql中创建一个空的数据库oneclickvirt,记录对应的账户和密码。
访问前端地址,自动跳转到初始化界面,填写数据库信息和相关信息,点击初始化。
完成初始化后会自动跳转到首页,可以开始开发测试了。
系统初始化后会生成以下默认账户:
admin / Admin123!@#提示:请在首次登录后立即修改默认密码,修改密码应该在用户管理界面点击对应用户进行修改。
主要配置文件位于 server/config.yaml
感谢以下平台提供测试:
