logo NodeSeekbeta

PayIncus:一个面向真实运营的开源 Incus VPS 销售与管理面板

12
  • bd

  • 还没看文档,不过不知道是不是支持DHCP,如果有DHCP是不是KVM nat机器也可以DD系统了。

  • @-- #12 不支持,目前阶段是完善,近期不会做新增功能了

  • 这就开小鸡来卖 xhj015

  • 厉害了

  • @row #0 发布于55days ago
    最近把 PayIncus 推到了 v0.6.10,这版已经完成 GitHub Release、CI、文档站构建,并通过生产环境 OTA 升级验证。
    项目地址:
    https://github.com/VipMaxxxx/payincus
    文档站:
    https://payincus.com
    Release:
    https://github.com/VipMaxxxx/payincus/releases


    项目介绍
    PayIncus 是一个基于 Incus 的 NAT VPS / LXC / KVM 销售、交付和管理面板。
    它的目标不是只做一个“能开机器”的用户面板,而是尽量把一个小型云服务商真实运营会遇到的链路都串起来,包括:
    用户注册、登录、钱包、订单、工单
    NAT VPS / LXC / KVM 实例销售和交付
    Incus 宿主机 Agent 上报
    支付回调、余额流水、订单中心
    管理后台、财务对账、调账审批
    SLA 告警、容量成本、交付保障
    扩展中心、主题系统、Public API
    后台 OTA 在线升级和回滚
    简单说,它更偏“商业运营面板”,不是单纯的虚拟化控制台。


    为什么做这个项目
    现在 Incus 本身很好用,但如果想基于 Incus 做 VPS 销售,实际还缺很多面向商业运营的东西。
    比如:
    用户购买后如何自动交付实例
    如何处理余额扣费、续费、退款、调账
    支付回调如何保证幂等和安全
    用户出问题后如何查订单、实例、账务、工单上下文
    宿主机容量不够时如何提前发现
    后台如何安全升级而不是每次手动覆盖文件
    第三方开发者如何做插件、主题、支付网关或自动化扩展
    PayIncus 就是围绕这些实际问题做的。


    当前主要功能
    用户端
    用户端面向普通客户,提供自助购买和管理能力:
    注册 / 登录
    套餐市场
    实例列表
    实例详情
    开机、关机、重启等操作
    WebSocket 终端
    钱包余额
    充值记录
    订单中心
    工单系统
    通知中心
    邀请返利
    礼品卡兑换
    用户资料和安全设置
    用户端和后台是分离构建的,不是同一个前端里靠路由区分。


    管理后台
    后台面向运营和管理员:
    用户管理
    实例管理
    套餐管理
    节点 / 宿主机管理
    镜像管理
    支付渠道配置
    充值订单管理
    统一订单中心
    财务对账
    调账审批
    SLA 告警
    容量与成本分析
    交付保障
    工单与客服成功工作台
    OAuth Provider 管理
    扩展中心
    主题系统
    后台 OTA 更新
    后台重点不是“页面多”,而是尽量把运营动作留痕、权限、审计和异常处理补上。


    Incus 资源交付
    PayIncus 使用 Incus 作为底层虚拟化/容器平台,可以管理 LXC / KVM 实例。
    目前支持:
    NAT 网络
    IPv6
    套餐资源限制
    镜像选择
    宿主机绑定
    实例创建
    实例生命周期操作
    Web terminal
    Agent 心跳
    资源上报
    流量统计
    NAT 端口映射
    宿主机通过 Agent 上报状态和资源,后台可以看到节点在线状态、容量、实例状态和风险提醒。


    支付与账务
    支付和账务是高风险链路,所以 PayIncus 目前重点做了这些控制:
    充值订单
    支付回调
    余额流水
    消费记录
    实例账单
    订单中心
    人工完成 / 标记失败
    调账审批
    退款登记
    财务对账
    推荐返利
    积分 / VIP
    礼品卡
    调账、退款、补款这类动作不会直接随便改余额,而是进入审批/审计链路。


    v0.6.10 新增:礼品卡中心
    最新的 v0.6.10 主要新增了礼品卡功能。
    用户端能力
    用户可以:
    用自己的余额生成礼品卡
    兑换其他用户或后台发放的礼品卡
    查看自己生成或持有的礼品卡记录
    复制礼品卡兑换码
    后台能力
    管理员可以:
    单张生成礼品卡
    批量生成礼品卡
    查看礼品卡统计
    查看礼品卡列表
    启用礼品卡
    禁用礼品卡
    删除未使用礼品卡
    批量禁用 / 删除
    安全设计
    因为礼品卡本质上是余额类功能,所以做了比较严格的限制:
    用户生成礼品卡时,扣余额和创建礼品卡在同一事务里完成
    兑换礼品卡时使用礼品卡锁和用户余额锁
    防止并发重复兑换
    禁止用户兑换自己生成的礼品卡
    后台列表默认只显示脱敏兑换码
    生产环境必须配置礼品卡管理员白名单
    没有白名单时,后台礼品卡管理默认拒绝访问
    生产环境已经通过 OTA 升级,gift_cards 表和 migration 已确认落库。


    扩展中心
    PayIncus 现在已经不只是“插件上传”这么简单,而是往扩展平台方向做。
    扩展中心支持:
    上传 .tar.gz 扩展包
    校验 manifest
    安装扩展
    启用 / 停用 / 卸载
    扩展配置页
    用户端扩展页面
    后台扩展页面
    扩展市场
    投稿审核
    扫描
    发布
    安装任务日志
    扩展市场支持在线读取文档站上的稳定索引,所以不需要每次系统升级都把市场写死在代码里。


    主题系统
    PayIncus 也在做真正的主题系统,而不是简单换 CSS。
    目前主题系统支持:
    主题包上传
    主题市场
    主题投稿审核
    扫描
    预览
    启用
    回滚默认主题
    配置表单
    设计 token
    静态资产校验
    受控模板槽
    主题不能随便执行后端代码,也不能注入任意远程脚本,主要通过受控 CSS、配置和模板 slot 改变前台/后台外观。


    Public API / OAuth / SDK
    PayIncus 目前已经提供第一版 Public API 能力:
    OAuth Provider
    API Token
    OAuth access token
    OpenAPI 3.1
    Public API SDK
    scope 权限模型
    分页 / 排序 / 白名单过滤
    统一错误模型
    当前 Public API 主要开放低风险和受控能力,例如:
    读取用户资料
    读取余额
    读取余额流水
    提交待审批余额调整申请
    读取产品
    读取服务
    受控执行 start / stop / restart
    读取订单
    读取账单
    创建和回复自己的工单
    读取通知
    触发扩展声明过的受控 action
    暂时不会开放直接支付建单、支付回调、退款、直接余额写入、服务删除、迁移、后台管理、扩展安装、主题启用这类高风险能力。


    OTA 在线升级
    PayIncus 支持后台 OTA 在线升级。
    后台可以看到:
    当前版本
    最新 Release
    Git tag
    commit
    build time
    deploy time
    更新内容
    Release 包
    SHA256
    更新任务日志
    回滚入口
    生产部署推荐使用原子 release 布局:
    /opt/incudal/current -> /opt/incudal/releases/<version>
    升级时会下载 GitHub Release 里的 OTA 包,校验 SHA256,解压到新的 release 目录,执行 migration,然后切换 current。
    如果失败,会尽量回滚到上一版。
    这次 v0.6.10 已经完成生产 OTA 验证。


    当前验证状态
    v0.6.10 当前已经完成:
    GitHub Release 成功
    CI 通过
    Docs Pages 通过
    生产 OTA 完成
    用户端 /api/health 返回 200
    后台 /api/health 返回 200
    数据库 migration 已应用
    gift_cards 表已存在
    生产环境 pnpm verify:production 通过
    后台礼品卡管理员白名单已配置
    当前生产版本:
    v0.6.10
    Release 地址:
    https://github.com/VipMaxxxx/payincus/releases/tag/v0.6.10


    部署方式
    目前推荐非 Docker 部署,使用:
    Node.js
    pnpm
    PostgreSQL
    Redis
    Nginx
    systemd
    Incus
    PayIncus Agent
    推荐结构是用户端、后台端和后端 API 分离:
    用户端域名
    -> Nginx 静态文件
    -> /api 反代后端

    后台域名
    -> Nginx 静态文件
    -> /api 反代同一个后端

    后端
    -> PostgreSQL
    -> Redis
    -> Incus / Agent
    一键安装脚本也已经提供,但生产建议先看文档,根据自己的域名和机器环境调整。
    适合谁用
    这个项目比较适合:
    想基于 Incus 做 NAT VPS 销售的人
    小型 VPS 商家
    有多台宿主机需要统一售卖和管理的人
    想自己搭建一套用户购买、支付、交付、工单、账务系统的人
    想研究 Incus 商业化面板的人
    想参与开源 VPS 面板开发的人
    如果只是想要一个很轻量的个人自用 Incus 面板,它可能会显得偏重,因为里面很多功能是面向商业运营的。


    项目地址
    GitHub:
    https://github.com/VipMaxxxx/payincus
    文档站:
    https://payincus.com
    Release:
    https://github.com/VipMaxxxx/payincus/releases
    Demo 后续也会继续完善。


    最后
    PayIncus 还在快速迭代中,目前已经从单纯面板逐步扩展成一个完整的 VPS 商业运营系统。
    接下来会继续完善:
    插件/扩展开发体验
    主题系统
    支付网关扩展
    更多 Public API
    文档和示例
    安装器体验
    生产验收和运维工具
    欢迎大家提 Issue、建议、PR,或者直接拿去测试。

    有没有 UI 图

  • 🚫
12

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有71779位seeker

🎉欢迎新用户🎉