TypeScript · 项目报告

qwer-xyz/incudal

基于 Incus 的 LXC / KVM NAT VPS 销售、交付与管理面板。

已完成 打开 GitHub
Q
163星标
125Fork
0Issue
BSD-3-Clause许可证

分析结果

项目分析

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