![]()
文章目录:
- Wallos 简介
- Wallos 功能特性
- 在线演示
- 快速上手
- 环境要求
- 安装指南:裸机与 Docker
- 升级指南:裸机与 Docker
- Docker Compose 用法
- 界面截图
- OIDC 支持
- API 文档
- 贡献指南
- 贡献者名单
- 翻译指南
- 许可证说明
- 相关链接
1. Wallos 简介
Wallos 是一款功能强大、开源且可自托管的 Web 应用程序,旨在帮助用户轻松管理个人财务。它致力于取代复杂的电子表格和昂贵的财务软件,简化费用跟踪流程,帮助用户更好地掌控自己的财务状况。通过 Wallos,你可以告别繁琐的手动记录,享受更清晰、更高效的财务管理体验。
2. Wallos 功能特性
Wallos 提供了丰富的功能,满足你财务管理的各种需求:
- 订阅管理: 轻松跟踪你的定期订阅和服务,确保不会错过任何付款截止日期。你可以集中管理所有订阅信息,包括订阅名称、付款金额、账单周期、下次付款日期等。Wallos 会提醒你即将到期的订阅,避免因忘记续费而造成损失。
- 类别管理: 将你的支出组织成可自定义的类别,从而深入了解你的消费习惯。你可以根据自己的需求创建各种类别,例如餐饮、交通、娱乐、购物、房租等。通过分析每个类别的支出情况,你可以清晰地了解钱都花在了哪里,从而更好地控制预算。
- 多币种支持: Wallos 支持多种货币,允许你使用你选择的货币管理你的财务。无论你是在国内还是国外消费,都可以方便地记录和跟踪不同货币的支出。
- 货币转换: Wallos 集成了 Fixer API,可以获取最新的汇率,让你以主要货币查看所有订阅的费用。这样,即使你的订阅是以不同的货币支付的,你也可以清楚地了解总支出情况。
- 数据隐私: 作为一款自托管应用程序,Wallos 确保你的财务数据安全地保存在你自己的服务器上,无需担心数据泄露的风险。你可以完全掌控自己的数据,无需信任第三方机构。
- 高度自定义: Wallos 允许你自定义类别、货币、主题和其他显示选项,以满足你的个性化需求。你可以根据自己的喜好调整应用程序的外观和功能,打造专属的财务管理工具。
- 灵活的排序选项: Wallos 允许你从不同的角度查看你的订阅,例如按价格、日期、类别等排序,帮助你更好地分析和管理订阅。
- Logo 搜索: 如果你没有订阅服务的 Logo,Wallos 可以自动在网上搜索并添加 Logo,让你的界面更美观、更易于识别。
- 移动视图: Wallos 具有良好的移动端适配性,让你随时随地管理你的财务。
- 统计功能: Wallos 提供各种统计图表,帮助你更直观地了解你的消费情况,例如支出趋势、类别占比等。
- 通知功能: Wallos 支持多种通知方式,包括电子邮件、Discord、Pushover、Telegram、Gotify 和 Webhooks。你可以设置接收即将到期付款的通知,避免逾期。
- 多语言支持: Wallos 支持多种语言,方便不同国家和地区的用户使用。
- OIDC 认证: Wallos 支持 OIDC (OpenID Connect) 认证,可以使用 OAuth 协议与支持的身份提供商集成,实现单点登录。
- AI 推荐: Wallos 集成了 ChatGPT、Gemini 或本地 Ollama,提供 AI 推荐功能,帮助你更好地管理财务。
3. 在线演示
如果你想体验 Wallos 的功能,可以访问 https://demo.wallosapp.com 查看在线演示。演示数据库每 2 小时重置一次。
演示账号:
- 用户名:demo
- 密码:demo
4. 快速上手
以下是在你的服务器上运行 Wallos 的步骤。
5. 环境要求
- 裸机安装:
- 运行 PHP 8.3 的 Nginx 或 Apache Web 服务器,并启用以下模块:curl、dom、gd、imagick、intl、openssl、sqlite3、zip、mbstring、fpm。
- Docker 安装:
- Docker 环境
6. 安装指南:裸机与 Docker
- 裸机安装:
- 下载或克隆 Wallos 代码库,并将文件移动到你的 Web 根目录(通常是
/var/www/html)。 - 将
/db/wallos.empty.db重命名为/db/wallos.db。 - 在浏览器中运行
http://domain.example/endpoints/db/migrate.php。 - 使用
crontab -e命令将以下脚本添加到你的 cronjobs 中:
0 1 * * * php /var/www/html/endpoints/cronjobs/updatenextpayment.php >> /var/log/cron/updatenextpayment.log 2>&1 0 2 * * * php /var/www/html/endpoints/cronjobs/updateexchange.php >> /var/log/cron/updateexchange.log 2>&1 0 8 * * * php /var/www/html/endpoints/cronjobs/sendcancellationnotifications.php >> /var/log/cron/sendcancellationnotifications.log 2>&1 0 9 * * * php /var/www/html/endpoints/cronjobs/sendnotifications.php >> /var/log/cron/sendnotifications.log 2>&1 */2 * * * * php /var/www/html/endpoints/cronjobs/sendverificationemails.php >> /var/log/cron/sendverificationemail.log 2>&1 */2 * * * * php /var/www/html/endpoints/cronjobs/sendresetpasswordemails.php >> /var/log/cron/sendresetpasswordemails.log 2>&1 0 */6 * * * php /var/www/html/endpoints/cronjobs/checkforupdates.php >> /var/log/cron/checkforupdates.log 2>&1 30 1 * * 1 php /var/www/html/endpoints/cronjobs/storetotalyearlycost.php >> /var/log/cron/storetotalyearlycost.log 2>&1如果你的 Web 根目录不是
/var/www/html/,请相应地调整 cronjobs 中的路径。 - 下载或克隆 Wallos 代码库,并将文件移动到你的 Web 根目录(通常是
- Docker 安装:
docker run -d --name wallos \ -v /path/to/config/wallos/db:/var/www/html/db \ -v /path/to/config/wallos/logos:/var/www/html/images/uploads/logos \ -e TZ=Europe/Berlin \ -p 8282:80 \ --restart unless-stopped \ bellamy/wallos:latest禁用健康检查(可选,例如,对于 Docker <25 或更快的启动报告):
docker run -d --name wallos \ -v /path/to/config/wallos/db:/var/www/html/db \ -v /path/to/config/wallos/logos:/var/www/html/images/uploads/logos \ -e TZ=Europe/Berlin \ -p 8282:80 \ --restart unless-stopped \ --health-cmd=NONE \ bellamy/wallos:latest - Docker Compose:
services: wallos: container_name: wallos image: bellamy/wallos:latest ports: - "8282:80/tcp" environment: TZ: 'America/Toronto' volumes: - './db:/var/www/html/db' - './logos:/var/www/html/images/uploads/logos' restart: unless-stopped禁用健康检查(可选,例如,对于 Docker <25 或更快的启动报告):
services: wallos: container_name: wallos image: bellamy/wallos:latest ports: - "8282:80/tcp" environment: TZ: 'America/Toronto' volumes: - './db:/var/www/html/db' - './logos:/var/www/html/images/uploads/logos' restart: unless-stopped healthcheck: test: ["NONE"]
7. 升级指南:裸机与 Docker
- 裸机升级:
- 重新下载代码库,并将文件移动到正确的文件夹,或者执行
git pull(如果你之前使用git clone)。 - 检查环境要求,并安装/启用任何缺失的模块。
- 运行
http://domain.example/endpoints/db/migrate.php。
- 重新下载代码库,并将文件移动到正确的文件夹,或者执行
- Docker 升级:
- 重新拉取最新的 Docker 镜像并重新启动容器。
8. Docker Compose 用法
使用 Docker Compose 可以更方便地管理 Wallos 容器。你可以使用 docker-compose up -d 命令启动容器,使用 docker-compose down 命令停止容器。
9. 界面截图
(此处应包含 Wallos 应用程序的界面截图,展示其主要功能和美观的界面设计。)
10. OIDC 支持
Wallos 支持 OIDC (OpenID Connect) 认证,可以在管理页面启用。你可以使用支持 OAuth 的身份提供商进行身份验证。
11. API 文档
Wallos 提供了一个全面的 API,允许你以编程方式与应用程序交互。API 文档可在 https://api.wallosapp.com/ 找到。
12. 贡献指南
欢迎提交 Pull Requests,修复 Bug 和添加新功能。请随时提交 Issues,报告 Bug 或提出功能请求。Bug 修复将优先处理。期待与你合作,共同改进 Wallos 项目。
13. 贡献者名单
(此处应包含 Wallos 项目的贡献者名单,感谢他们的付出。)
14. 翻译指南
如果你想贡献 Wallos 的翻译:
- 将你的语言代码添加到
includes/i18n/languages.php文件中,格式为"en" => ["name" => "English", "dir" => "ltr"],。请使用原始语言名称,而不是英语翻译。 - 复制
includes/i18n/en.php文件,并将其重命名为你的语言代码。例如,pt.php用于"pt" => ["name" => "Português", "dir" => "ltr"],。 - 将语言文件中的所有值翻译成新语言。(不完整的翻译将不被接受)。
- 复制
scripts/i18n/en.js文件,并将其重命名为你的语言代码。例如,pt.js用于"pt" => ["name" => "Português", "dir" => "ltr"],。 - 将语言文件中的所有值翻译成新语言。(不完整的翻译将不被接受)。
15. 许可证说明
本项目采用 GNU General Public License, Version 3 许可证。详情请参阅 LICENSE.md 文件。
选择 GPLv3 的原因:
选择 GNU General Public License version 3 (GPLv3) 是为了确保 Wallos 始终保持开源,并免费提供给社区使用。GPLv3 规定,任何衍生作品或修改都必须在相同的许可证下发布,从而促进软件自由的原则。
16. 相关链接
- 作者:henrique.pt
- Wallos Landingpage: wallosapp.com
- 加入讨论:Discord Server
ellite/Wallos: Wallos: Open-Source Personal Subscription Tracker
https://github.com/ellite/Wallos








暂无评论内容