使用 Docker 与 Wallos 快速搭建个人订阅管理系统

使用 Docker 与 Wallos 快速搭建个人订阅管理系统
Mr. O简介
在数字化时代,我们订阅的服务越来越多:Netflix、Spotify、Youtube Premium、各种云存储服务或是网站会员等等。这些订阅费用看似不多,但累积起来却是一笔不小的开支。有时,我们会忘记自己订阅了什么,导致为不再使用的服务继续付费。
今天介绍的 Wallos 可以解决这个问题,它是一款轻量、自托管(self-hosted) 的个人订阅管理应用,界面美观,功能强大。
而且部署起来非常简单!只要你有 Docker,几分钟就能搞定。它对硬件要求极低,无论是树莓派、NAS 还是云端服务器,都能稳定运行。
在开始前,可以在这里查看在线演示:https://demo.wallosapp.com(用户名:demo,密码:demo)
Wallos 主要特点
Wallos 是一款使用 PHP 编写的开源个人订阅管理应用:GitHub 项目地址,目前已经获得 6k 的 Star。
- 开源 & 自托管:专为隐私与数据自主而设计
- 轻量 & 快速:基于 SQLite 数据库,性能优化
- 安装简单:完整支持 Docker 部署
- 现代且友好的用户界面:响应式设计,支持移动端访问
- 强大的订阅管理功能:
- 订阅分类管理和自定义标签
- 多货币支持和自动汇率转换
- 自动 Logo 搜索功能
- 支付周期跟踪(月付、年付等)
- 订阅统计和可视化图表
- 智能通知系统:支持邮件、Discord、Telegram、Pushover 等多种通知方式
- 多语言支持:支持超过 21 种语言
- AI 分析:支持 AI 推荐分析(需要自己提供 API Key)
我们将使用 Docker 与 Docker Compose 来快速搭建 Wallos。
一、环境准备
在开始之前,需要拥有一个自己的 VPS 或是支持 Docker 容器的 NAS 系统。
1. 安装 Docker 和 Docker Compose
这是我们容器化部署的基础。如果你的服务器尚未安装,可以参考以下教程。
2. 准备域名(可选)
为了通过 HTTPS 安全地访问你的订阅管理系统,你可以准备一个域名,并将其解析到你的服务器 IP。当然,你也可以直接通过 IP 地址访问。
3. 创建项目目录
为 Wallos 创建一个专用的目录,用于存放配置文件和数据。
1 | mkdir -p /opt/wallos |
二、使用 Docker Compose 部署
创建 compose.yml
文件
在项目目录 (/opt/wallos
) 中,创建一个名为 compose.yml
的文件。
1 | vim compose.yml |
填入下面的内容:
1 | services: |
配置解析:
ports
: 将容器的 80 端口映射到主机的127.0.0.1:8282
。127.0.0.1 表示 Wallos 只能通过本机(或反向代理)访问,增强安全性。environment
:TZ
: 设置时区为中国时区(Asia/Shanghai)。
volumes
: 将 Wallos 的数据库文件和 logo 图片持久化存储在主机当前目录下,确保容器更新或重建后数据不会丢失。
ports
可以先设置为"8282:80"
,在容器启动后确认可以正常访问再设置为"127.0.0.1:8282:80"
启动服务
在 compose.yml
文件所在目录中,执行以下命令来拉取镜像并启动服务:
1 | docker compose up -d |
启动成功后,可以通过以下命令查看运行状态:
1 | docker compose ps |
在 ports 设置中如果未指定为 127.0.0.1:8282 则可以访问 http://ip:8282 进行访问 Wallos 的 Web 界面
三、配置 Nginx 反向代理
为了安全地通过 HTTPS 访问你的订阅管理系统,强烈建议使用 Nginx 等反向代理工具。
以下是一个 Nginx 的配置示例。你需要为你的域名申请一个 SSL 证书(例如通过 Let’s Encrypt)。
1 | # /etc/nginx/sites-available/wallos.yourdomain.com.conf |
注意:
- 将
wallos.yourdomain.com
替换为你的实际域名。 - 将 SSL 证书路径
/path/to/your/fullchain.pem
和/path/to/your/privkey.pem
替换为你的证书文件实际存放的路径。
测试并重载 Nginx 配置:
1 | nginx -t |
四、开始使用
现在,你可以通过浏览器访问 https://wallos.yourdomain.com
或 http://your-server-ip:8282
来打开你的订阅管理系统了。
首次访问时,Wallos 会自动进入初始化界面,按照提示完成基本配置即可。
基本配置
- 创建管理员账户:设置用户名和密码
- 货币设置:选择主要货币和汇率 API( Fixer 与 ApiLayer 都提供每月 100 次的 API 额度,足够我们使用)
- 通知配置:根据需要配置邮件或其他通知方式
添加订阅服务
配置完成后,你可以开始添加第一个订阅服务:
- 点击 “Add Subscription” 按钮
- 输入服务名称(Wallos 可以点击搜索按钮从网络中获取对应的 Logo)
- 设置价格和付费周期
- 选择分类和标签
- 设置下次扣费日期
五、高级功能配置
1. 汇率 API 配置
如果你使用多种货币的订阅服务,建议配置 Fixer API 来获取实时汇率:
- 访问 Fixer.io 注册免费账户
- 获取 API Key
- 在 Wallos 设置中配置 API Key
2. 通知设置
Wallos 支持多种通知方式,可以在订阅即将到期时提醒你:
- 邮件通知:配置 SMTP 服务器
- Telegram 通知:通过 Bot API 发送消息
- Discord 通知:通过 Webhook 发送消息
- Pushover 通知:移动端推送通知
六、数据备份与恢复
由于所有数据存储在 SQLite 数据库中,备份非常简单:
备份数据
1 | cd /opt |
总结
通过 Docker 和 Wallos,我们只用了几分钟就搭建起一个功能全面、界面美观的个人订阅管理系统。相比于市面上的商业订阅管理应用,自托管方案不仅免费,还从根本上保障了你的财务数据隐私。
Wallos 的优势在于:
- 完全免费且开源透明
- 数据隐私得到充分保障
- 功能丰富,支持多货币、AI 分析、多种通知方式
- 界面友好,支持移动端访问
- 部署简单,维护成本低
开始使用 Wallos 来管理你的订阅服务,告别被遗忘的订阅费用吧!