Incudal 是一个基于 Incus 的 NAT VPS 销售、交付与管理面板,面向希望运营 LXC/KVM NAT VPS、小型云主机或托管节点业务的团队。项目包含 Vue 3 前端、Fastify + Prisma 后端、PostgreSQL、Redis 以及 Go 编写的宿主机 Agent,支持实例交付、套餐/镜像/节点管理、用户后台、管理员后台、账务计费、支付渠道、工单公告、托管收益等功能。
适用领域
VPS/云服务器销售平台 / NAT VPS 运营 / Incus/LXC/KVM 虚拟化管理 / 主机商管理面板 / 服务器资源托管 / 计费与用户管理系统 / 自动化实例交付
配置难度
中高。具备 Docker、Linux、反向代理和基础 Web 部署经验的开发者可以按文档部署;但如果要用于生产销售 VPS,还需要掌握 Incus、LXC/KVM、NAT 网络、宿主机安全、数据库备份、支付安全和运维监控。对普通前端或入门开发者而言难度较高。
商业价值
商业价值较高。该项目直接面向 NAT VPS 和小型云主机销售场景,能够节省从零开发用户后台、管理员后台、实例交付、节点管理和账务系统的成本。对于已有服务器资源或想运营低成本 NAT VPS 的团队,可作为快速启动业务的基础平台。但真正上线仍需要投入安全加固、支付对接、合规处理、稳定性测试、监控告警和售后体系建设。
01
技术亮点
- 专注于 Incus 生态,支持 LXC 与 KVM 实例交付
- 覆盖 NAT VPS 商业运营所需的核心流程,包括套餐、镜像、节点、用户、账务、支付、工单和公告
- 前后端和 Agent 分离,架构较清晰:Vue 3 + Vite、Fastify + Prisma、Go Agent
- 支持 Docker Compose 部署,包含 PostgreSQL 和 Redis,部署路径相对明确
- 容器启动时自动执行 Prisma 数据库迁移,降低首次部署复杂度
- 采用 BSD-3-Clause 许可证,商业使用和二次开发限制较少
- 提供宿主机 Agent 机制,可实现节点资源上报和状态管理
- 支持托管节点、反代建站、邮箱服务等扩展能力,适合进一步商业化扩展
02
目标用户
- 小型 VPS 服务商
- NAT VPS 商家
- IDC/服务器托管运营者
- 希望基于 Incus 搭建虚拟化销售平台的开发者
- 有自有服务器资源并希望商业化售卖的团队
- 熟悉 Linux、Docker、反向代理和虚拟化的运维人员
03
配置要求
- 必须配置 POSTGRES_PASSWORD,建议使用高强度数据库密码
- 必须配置 REDIS_PASSWORD,建议使用高强度 Redis 密码
- 必须配置 JWT_SECRET,建议使用足够长且随机的密钥
- 必须配置 COOKIE_SECRET,用于 Cookie 安全
- 必须配置 ENCRYPTION_KEY,要求为 32 字节随机值的 Base64 编码
- 必须配置 ADMIN_PASSWORD,作为初始管理员密码
- 必须配置 FRONTEND_URL,例如 https://your-domain.example
- 需要配置 APP_PORT,默认 3000
- 必须在 server/certs 下放置证书和密钥,并保证容器可读
- 生产环境需要通过 Nginx、Caddy、OpenResty 等反向代理提供 HTTPS
- 如果使用私有仓库或 fork 分发 Agent,需要配置 INCUDAL_AGENT_RELEASE_REPOSITORY 和 INCUDAL_AGENT_RELEASE_TOKEN
- 运行依赖 Docker Compose、PostgreSQL、Redis;开发环境需要 Node.js 20+、pnpm 9.14.2,开发 Agent 还需要 Go 1.22+
04
适用场景
- 搭建 NAT VPS 销售平台,用户购买后自动交付 LXC 或 KVM 实例
- 管理多个 Incus 宿主节点,包括资源上报、节点绑定和状态监控
- 配置不同套餐、镜像、资源限制和网络策略
- 为用户提供余额充值、消费记录、积分、VIP 等级等账务权益功能
- 提供用户后台和管理员后台,统一处理用户、订单、公告、工单和系统配置
- 支持托管节点收益结算,适合节点合伙或资源托管业务
- 通过 Agent 管理宿主机资源,并从 GitHub Release 分发 Agent 二进制
05
部署与配置
- 克隆仓库:git clone https://github.com/qwer-xyz/incudal.git
- 进入目录:cd incudal
- 复制环境变量模板:cp .env.example .env
- 编辑 .env 文件,至少配置数据库密码、Redis 密码、JWT_SECRET、COOKIE_SECRET、ENCRYPTION_KEY、ADMIN_PASSWORD、FRONTEND_URL 和 APP_PORT
- 使用 openssl rand -base64 32 生成 ENCRYPTION_KEY
- 在 server/certs 目录下生成或放置证书与密钥,并确保 Docker 容器具有读取权限
- 执行 docker compose up -d --build 启动面板、PostgreSQL 和 Redis
- 容器启动时会自动执行 prisma migrate deploy 完成数据库迁移
- 使用 Nginx、Caddy 或 OpenResty 将域名反向代理到 127.0.0.1:${APP_PORT}
- 在反向代理层配置 HTTPS
- 如需停止服务,执行 docker compose down
- 如需删除数据库和 Redis 数据卷,执行 docker compose down -v
06
风险与注意事项
- 项目明确声明按 As-is 提供,除官方文档外不提供额外技术支持,使用风险需自行承担
- 涉及 VPS 销售、支付、用户资产和宿主机控制,生产部署前必须进行安全审计
- 需要正确理解 Incus、LXC、KVM、NAT 网络、宿主机权限和反向代理配置,对新手不友好
- server/certs 证书要求可能增加部署复杂度,证书权限配置不当会导致启动失败或安全隐患
- Agent 从 GitHub Release 查询和下载,私有化部署或网络受限环境需要额外配置
- 面板具备计费、支付和实例控制能力,如果密钥、JWT_SECRET、COOKIE_SECRET 或 ENCRYPTION_KEY 泄露,风险较高
- 需要关注支付渠道、用户余额、消费记录等财务数据的一致性和合规性
- 作为开源主机销售面板,生产环境还需自行完善监控、备份、防刷、风控、日志留存和灾难恢复
- 仓库星标数不算特别高,生态和第三方教程可能有限
- Fork 数较高,可能存在大量二次分发版本,需警惕非官方修改带来的安全问题
2026-06-25
第28名
新收录 · github_search