朋友聚会 · 旅行分摊 · 简单透明
主页:http://你的服务器IP:1699
管理面板:http://你的服务器IP:1699/admin
默认管理员密码:admin123
| 软件 | 最低版本 |
|---|---|
| Docker | 20.10+ |
| Docker Compose | 2.0+ |
| 操作系统 | Linux / NAS (群晖/飞牛/威联通等) |
split-bill 上传到服务器,如 /vol1/1000/docker/split-billcd /vol1/1000/docker/split-billsudo docker compose up -dsudo docker ps | grep split-billhttp://你的服务器IP:1699方式一:创建 .env 文件(推荐)
echo "ADMIN_PASSWORD=你的密码" > .env
sudo docker compose restart
方式二:直接修改 docker-compose.yml 中的环境变量
environment:
- ADMIN_PASSWORD=你的密码
split-bill/
├── app.py # 后端主程序
├── Dockerfile # 镜像构建文件
├── docker-compose.yml # 容器编排配置
├── icon.png # 应用图标
├── data/ # 数据库目录(自动生成)
└── templates/
├── index.html # 用户前端页面
└── admin.html # 管理面板页面
| 方式 | 操作 | 需要密码 |
|---|---|---|
| 输入密钥 | 首页 → 加入已有房间 → 输入4位数字 | ✅ 如设置 |
| 扫码加入 | 扫描房间二维码 | ❌ 不需要 |
| 最近房间 | 首页下方最近使用列表 | ❌ 不需要 |
点击顶部 "结算" 按钮,查看每个人的应付/已付明细和结账建议。
点击顶部 "还款" 按钮,可创建还款记录并标记已还。
点击顶部 "统计" 按钮,查看消费分类饼图和成员消费柱状图。
点击成员行右侧 "预算" 按钮设置总预算,超支时红色提醒。
访问 /admin,使用管理员密码登录。
| 功能 | 说明 |
|---|---|
| 查看房间列表 | 显示所有房间的成员数和账单数 |
| 结算 | 查看任意房间的 AA 结算明细 |
| 删除房间 | 删除整个房间及所有数据(不可恢复) |
| 导出 CSV | 在结算弹窗中导出结算数据 |
| 操作 | 命令 |
|---|---|
| 启动容器 | sudo docker compose up -d |
| 停止容器 | sudo docker compose down |
| 重启容器 | sudo docker compose restart |
| 查看状态 | sudo docker ps | grep split-bill |
| 查看日志 | sudo docker logs split-bill --tail 50 |
| 进入容器 | sudo docker exec -it split-bill sh |
| 重建镜像 | sudo docker compose build |
app.py 或 templates/ 文件sudo docker compose restartsudo docker compose down && sudo docker compose up -d# 备份数据库
cp /vol1/1000/docker/split-bill/data/splitbill.db ~/backup/splitbill_$(date +%Y%m%d).db
# 设置定时备份(每天凌晨3点)
echo "0 3 * * * cp /vol1/1000/docker/split-bill/data/splitbill.db ~/backup/splitbill_\$(date +\%Y\%m\%d).db" | crontab -
# 停止容器
sudo docker compose down
# 替换数据库文件
cp ~/backup/splitbill_20260101.db /vol1/1000/docker/split-bill/data/splitbill.db
# 启动容器
sudo docker compose up -d
检查容器状态:sudo docker ps | grep split-bill,如果没有运行则 sudo docker compose up -d
浏览器缓存问题,按 Ctrl+Shift+R 强制刷新;或打开无痕窗口验证。
清除浏览器缓存后重新登录;或在控制台执行:localStorage.removeItem('aa-admin-token'); location.reload();
修改 docker-compose.yml 中 1699:1699 为其他端口,如 1700:1699
sudo docker compose down -v
rm -rf /vol1/1000/docker/split-bill
data/splitbill.db 数据库文件.env 和 data/ 目录分享给他人AA 记账本 - 部署使用维护指南 · 更新于 2026年7月