1.项目
Actual 是一个现代化、开源、专注于隐私和本地部署的个人财务管理系统,用于记录收支、制定预算、跟踪账户,帮助用户实现精细化的财务规划。与传统的在线记账平台不同,Actual 强调数据自主权,允许用户完全掌控自己的财务数据(可部署在本地服务器或私有云中),无云同步,不上传敏感信息。
1.1项目介绍
1. 📊 零基预算系统(Zero-Based Budgeting)
- 类似 YNAB(You Need A Budget) 的预算理念:为每一分钱指定用途
- 可将收入分配到不同类别(如餐饮、房租、娱乐等)
2. 💳 多账户管理
- 支持多个账户类型:银行账户、现金、信用卡、储蓄账户
- 账户余额自动计算,支持转账、结余等操作
3. 📥 银行流水导入
- 支持导入常见格式的银行交易文件(CSV、QFX 等)
- 可手动对交易进行分类与标签
4. 📈 可视化图表 & 报表分析
- 实时展示预算执行情况
- 收入/支出趋势分析
- 分类开支饼图、月度比较等
5. 📤 本地存储,离线可用
- 所有数据存储在本地 SQLite 数据库中
- 不依赖网络,保障隐私安全
- 即使断网也可以使用
6. 🌐 Web 与桌面端支持
- 可通过浏览器访问(自建服务器后)
- 提供官方的桌面客户端(Windows / macOS / Linux)
1.2项目展示



2.相关地址
gitHub开源项目:https://github.com/actualbudget/actual?tab=security-ov-file
3.搭建环境
- 服务器:这里为了方便搭建项目使用的是莱卡云的境外香港云服务器。(国内用户连接建议使用国内的服务器(需备案域名或者IP+端口)延迟会更低)
- 莱卡云服务器促销活动性价比会更高。查看官网购买链接:https://www.lcayun.com
- 资源配置:2核2G 30G硬盘
由于国内服务器访问海外源较慢,这边为了方便演示直接使用海外服务器搭建。 - 服务器系统:Debian-12
- 【必需】安装Docker:安装好 Docker、Docker-compose
- 【非必需】域名一枚,可用于解析到服务器上使用域名访问

4.搭建视频
哔哩哔哩:
5.搭建方式
5.1 安装docker和docker-compose
安装教程:服务器上安装docker和docker-compose教程
5.2 创建Actual的docker文件
#在opt目录下创建Actual文件夹
mkdir /opt/Actual
#打开Actual文件
cd /opt/Actual
#编辑docker-compose.yml文件
vi docker-compose.yml
5.3 安装Actual镜像
services:
actual: # 服务名
image: actualbudget/actual-server # 使用官方镜像
container_name: actual # 容器名字叫 actual
ports:
- "5006:5006" # 宿主机5006端口 → 容器5006端口
volumes:
- actual-data:/data # 数据持久化,挂载到容器内部的 /data
restart: unless-stopped # 容器异常关闭时自动重启(除非你手动停止)
volumes:
actual-data: # 定义一个名为 actual-data 的 Docker 卷,用于数据持久化

填完按esc键 输入 :wq 保存退出
5.4 运行Actual的docker镜像
我们先启动docker
# 启动docker
docker compose up -d
# 重启docker
docker compose stop
docker compose start
# 升级docker
docker compose down
docker compose pull
docker compose up -d
访问IP:5006端口就可以有界面出现了。
http://ip:5006

Actual requires access to SharedArrayBuffer… 错误说明
表示浏览器出于安全策略,阻止了 SharedArrayBuffer
的使用,而 Actual 又依赖这个功能来处理预算数据。因为没有配置服务器发送必要的 HTTP 安全响应头,或者你没有通过 HTTPS 访问服务而出现的错误。
这里我们就不配做https,如需配置https可以通过 Nginx 配置 HTTPS 并加上安全头即可。
我们这边直接跳过此风险,这里我们直接点击Advanced options

先勾选 I understand the risks, run Actual in the unsupported fallback mode
再点击Open Actual即可

然后我们就进入了以下界面,请自行设置初始化密码

设置完直接登录即可


Actual目前 默认不支持中文界面,相信很快就可以支持了,目前可以通过 修改源代码 或 浏览器插件 的方式实现“中文汉化”,具体方式大家可以自行搜索。
6.结尾
这里我们的搭建就结束了,有需求的可以自己动手试试。