视频会员、音乐、云盘、ChatGPT、VPS、域名、健身卡、话费……订阅越来越多,每个月到底花了多少钱、下周又要扣哪一笔,往往要翻好几个 App 的账单才说得清。开源项目 Wallos 就是一个专门管「订阅」的自托管记账面板:所有周期性支出集中登记,自动算出月度 / 年度花费、即将扣费提醒、预算占用和分类统计,Docker 一条命令就能跑起来,自带简体中文。
协议为 GPL-3.0,个人自用完全免费。项目活跃度很高(GitHub 8700+ Star),本文实测版本 v5.10.2(2026-10 发布)。数据存在本地 SQLite,不依赖外部数据库,小内存 VPS、NAS、树莓派都能轻松跑。
技术栈:PHP 8 · Nginx · SQLite · ApexCharts · Docker 一键部署
你将得到什么
- 订阅总览:即将到期的付款、月度预算占用、在用订阅数、月度 / 年度总花费、停用订阅节省的金额
- 订阅列表 / 卡片两种视图,支持搜索、按成员 / 分类 / 支付方式 / 状态筛选和多种排序
- 支付周期灵活:按天 / 周 / 月 / 年,每 N 个周期一次,也支持一次性付费;可设自动续订与取消日期
- 多币种:人民币、美元等混记,配置 Fixer API Key 后可自动换算汇率统一折算成主货币
- 日历视图:一个月内每天要扣哪些钱一目了然,可导出 iCal 订阅到手机日历
- 统计图表:按月花费趋势、预算对比、按分类 / 成员 / 支付方式的占比饼图
- 到期提醒:邮件、Telegram、Discord、Gotify、ntfy、Pushover、Webhook 等多种通知渠道
- 家庭成员、自定义分类与支付方式、多用户、OIDC 登录、两步验证、数据库备份与恢复
- 演示只监听
127.0.0.1,不直接暴露公网
环境要求
- 已安装 Docker(含 Compose 插件)的 Linux / macOS / Windows,x86 与 ARM 均有镜像
- 内存几十 MB 即可,磁盘占用很小(SQLite 数据库 + Logo 图片)
- 容器内 Web 端口为
80,示例映射到本机8282
官方仓库:github.com/ellite/Wallos。本文实机镜像为 bellamy/wallos:latest(v5.10.2)。
第一步:Docker Compose 启动
新建目录写入 docker-compose.yml。端口只绑定本机,由反向代理(Nginx/Caddy/1Panel 的 OpenResty)对外提供 HTTPS。两个数据卷分别保存数据库和上传的 Logo,备份时打包这两个目录即可:
mkdir -p ~/wallos && cd ~/wallos
# docker-compose.yml
services:
wallos:
image: bellamy/wallos:latest
container_name: wallos
restart: unless-stopped
ports:
- "127.0.0.1:8282:80"
environment:
TZ: Asia/Shanghai
volumes:
- ./db:/var/www/html/db
- ./logos:/var/www/html/images/uploads/logos
docker compose up -d
docker logs -f wallos # 看到 nginx / php-fpm 启动即可
不用 Compose 的话,一条 docker run 也行:
docker run -d --name wallos --restart unless-stopped \
-p 127.0.0.1:8282:80 -e TZ=Asia/Shanghai \
-v ./db:/var/www/html/db \
-v ./logos:/var/www/html/images/uploads/logos \
bellamy/wallos:latest
第二步:注册管理员并登录
首次打开 http://127.0.0.1:8282 会进入注册页:填用户名、邮箱、密码,主货币选 Chinese Yuan(CNY),语言下拉选「简体中文」。第一个注册的账号就是管理员,之后在后台可以关闭注册。登录页如下:

第三步:首页总览
登录后首页就是一张「财务体检表」:最上面是即将到期的付款,下面是月度预算(订阅费用、预算、已使用比例、剩余或超出金额)、在用订阅数、月度 / 年度订阅总费用,以及停用订阅每月、每年帮你省下的钱:

第四步:管理订阅列表
「订阅」页是日常最常用的页面。列表视图每行显示 Logo、名称、周期、下次扣费日期、金额和支付方式;右上角可以搜索、按成员 / 分类 / 支付方式 / 状态筛选、排序,或者进入批量模式统一修改。已停用的订阅会以灰色删除线显示:

切到卡片视图更直观,适合订阅比较多的时候快速扫一眼:

第五步:添加一笔订阅
点「新订阅」弹出表单:名称(可上传 Logo,或点放大镜按名称在线搜索 Logo)、价格与币种、支付频率(每 N 天 / 周 / 月 / 年)、是否自动续订、开始日期(点魔法棒按周期自动算下次付款日)、支付方式、付款人(家庭成员)、分类、是否提醒及提前几天、取消日期、链接和备注:

第六步:日历看每天扣什么钱
「日历」页按月展示每一笔扣费,循环图标代表自动续订,底部还会提示本月是否超出预算,以及本月订阅数、应付总额、最贵的一笔。右上角可以导出 iCal,在手机系统日历里订阅后就能收到提醒:

第七步:统计与图表
「统计」页先给出概览:在用订阅、月度 / 年度费用、每日成本、平均每个订阅的月费、最贵和最便宜的订阅、本月待付金额等。多币种混记时,建议在设置里填一个 Fixer API Key(免费额度够用),汇率换算会更准确:

往下是趋势与预测:未来 12 个月的预计支出柱状图(红线为预算)、预算占用比例:

再往下是按分类、成员、支付方式拆分的环形图,看看钱主要花在娱乐、生产力还是生活缴费上:

第八步:家庭成员与到期通知
「设置」页可以配置月度预算、周期预算、家庭成员(每个订阅可指定付款人),以及通知渠道。通知支持提前 N 天提醒,渠道包括邮件(SMTP)、Discord、Pushover、Telegram、Gotify、ntfy、Webhook 等,国内可以用 Telegram 机器人或 Webhook 对接企业微信 / 钉钉机器人:

第九步:自定义分类与支付方式
分类、货币、支付方式都可以增删改和拖拽排序。内置了几十种支付方式图标,用不到的点一下即可隐藏;也能「添加自定义支付方式」,上传支付宝、微信支付等图标:

「管理」页(仅管理员)可以关闭用户注册、限制最大用户数、配置 SMTP 与 OIDC、备份 / 恢复数据库;「关于」页显示当前版本与授权信息:

安全与运维建议
- 端口不要直接映射到 0.0.0.0。教程用的是
127.0.0.1:8282,对外走带证书的反向代理;只自己用的话放在内网 / Tailscale / WireGuard 里更省心。 - 注册完管理员后,到「管理」页关闭用户注册,并在个人资料里开启两步验证(TOTP)。
- 备份:定期打包
./db(wallos.db)和./logos,也可以在「管理」页一键导出备份 zip,换机器时用注册页的「恢复数据库」导入。 - 汇率:多币种时配置 Fixer API Key,Wallos 每天自动更新汇率;只记人民币的话可以不配。
- 升级:
docker compose pull && docker compose up -d,数据库结构会在启动时自动迁移,升级前先备份。 - 演示用完可删:
docker compose down && rm -rf ./db ./logos。
小结
Wallos 把「订阅」这件小事做得很完整:登记一次,之后的扣费日期、预算超支、多币种换算、到期提醒和花费统计都交给它。界面清爽、中文翻译完整、资源占用极低,SQLite 单文件存储备份也简单,非常适合想理清自己(或全家)每月固定开支的人自托管一套。
项目地址:https://github.com/ellite/Wallos(GPL-3.0)














暂无评论内容