Ghostfolio完整部署教程:NAS搭建开源资产追踪系统,统一管理多平台持仓

前言

不知道你有没有这样的困扰:资金分散在不同的平台,股票、场内 ETF、场外基金、数字资产、现金理财各占一处。想要算清楚自己的总资产、今年整体收益率、各大类资产占比,就要来回打开多个 APP,手动摘抄数据;每次调仓之后,还要更新 Excel 表格,费时费力,还很容易算错。

市面上也有不少现成的资产记账工具,但多多少少存在短板:要么部分高级功能需要付费解锁,要么需要授权第三方接口同步持仓,你的全部投资数据交由服务商保管,存在隐私顾虑;还有一些工具对国内标的适配差、广告繁多,使用体验并不理想。

如果你重视数据主权,希望把所有持仓数据存放在自己的设备上,那开源项目 Ghostfolio 会是非常合适的选择。Ghostfolio 是一款面向个人的自托管资产组合追踪系统,支持股票、基金、ETF、贵金属、加密货币、现金等几乎主流资产类型,依托行情源自动获取实时价格,自动计算持仓盈亏、年化收益、最大回撤,同时自带资产配置饼图、历史净值曲线、交易记录台账等可视化看板。它不会强制要求对接券商自动同步,所有交易记录由你自主录入,数据完全由自己掌控。

本篇教程适配 fnOS、群晖、威联通等主流 NAS,采用 Docker Compose 方式部署,提供开箱即用的配置文件。教程里除了基础的安装步骤,还专门整理了部署时高频遇到的报错,比如环境变量缺失、PostgreSQL 容器不健康、数据库密码不匹配等问题,同时包含数据库备份、版本升级、cpolar 内网穿透远程访问等实用内容。跟着步骤操作,就能在自己的 NAS 上搭建一套专属私有资产看板,告别多平台来回切换的麻烦,清晰掌握自己的投资全貌。

12a5d7a0cf7496f97247c3f4d3cc026d

1.Ghostfolio是什么?

Ghostfolio 是优先保护隐私的开源个人资产 / 投资组合仪表盘(AGPLv3),GitHub 约 9.5k Star,基于 Angular + NestJS,支持 Docker 一键自托管,用来统一管理多平台投资、查看资产净值与收益,自己掌握全部财务数据GitHub。

✅ 核心功能

  • 多品类资产:股票、ETF、债券、加密货币、现金、奢侈品等自定义资产;支持多账户、多币种管理ghostfol.i…
  • 收益统计:TWR(时间加权收益率),按日 / 月 / 年 / 5 年等周期统计,资产配置饼图、走势图表
  • 组合 X 光分析(X-ray):识别持仓风险、集中度,支持对标基准对比
  • 交易记录:手动录入、CSV 批量导入导出,追踪分红、手续费
  • PWA 网页应用:手机浏览器直接使用,暗色模式;支持匿名注册,不用邮箱
  • 行情源:Yahoo Finance、CoinGecko,高级版有官方专业数据源ghostfol.i…

✅ 和同类工具的区别

  • 和 Sharesight、Personal Capital:它们是闭源 SaaS,会收集你的财务数据;Ghostfolio 自托管版本数据完全在你服务器,无追踪、无广告
  • 和 Portfolio Performance:后者是桌面软件,移动端只能看;Ghostfolio 是 B/S 架构,浏览器随时随地访问,适合 Docker 部署
  • 短板:不支持券商自动同步、原生税务报表较弱,交易需要手动导入或录入

✅ 适合人群

适合喜欢自托管、看重财务隐私,资产分散在多个券商 / 交易所,想要一个统一看板做长期资产配置跟踪的人;可以搭配 cpolar 把内网部署的 Ghostfolio 安全暴露外网,随时随地查看持仓。

✅ 小结

一句话:开源、可自建、隐私优先的投资组合追踪面板,主打资产可视化与收益分析,没有券商自动同步能力,胜在数据主权可控。

2.安装前提条件

2.1ssh远程连接到飞牛

  • 开启【SSH服务】
  • 使用终端(Windows PowerShell / Mac Terminal)登录:

在设置—>SSH中开启SSH服务:

463c5f2aa280d7887420494b8b8f852e

27abe7f94baeaebc1738b60b1ba78933

e16c7480a399e50f627439329422c5a7

2.2验证docker是否开启

使用命令:

docker -v
systemctl status -v

也可以直接在飞牛主页查看(其他机器也是这样的哦~)

bc2a0952beed8ca143a171bb000b2b23

3.安装Ghostfolio

首先创建一下安装的目录并进入到该目录:

mkdir -p /docker/Ghostfolio
cd /docker/Ghostfolio

image-20261022152218077

创建并编辑 docker-compose.yml文件:

services:
  ghostfolio:
    image: ghostfolio/ghostfolio:latest
    container_name: ghostfolio
    restart: unless-stopped
    ports:
      - "3333:3333"
    environment:
      DATABASE_URL: postgresql://ghostfolio:${POSTGRES_PASSWORD}@postgres:5432/ghostfolio
      REDIS_HOST: redis
      REDIS_PORT: 6379
      ACCESS_TOKEN_SALT: ${ACCESS_TOKEN_SALT}
      JWT_SECRET_KEY: ${JWT_SECRET_KEY}
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_started

  postgres:
    image: postgres:16-alpine
    container_name: ghostfolio-db
    restart: unless-stopped
    environment:
      POSTGRES_DB: ghostfolio
      POSTGRES_USER: ghostfolio
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
    volumes:
      - postgres-data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ghostfolio"]
      interval: 10s
      timeout: 5s
      retries: 5

  redis:
    image: redis:7-alpine
    container_name: ghostfolio-redis
    restart: unless-stopped
    volumes:
      - redis-data:/data

volumes:
  postgres-data:
  redis-data:

image-20261022152252489

启动容器:

docker compose up -d

image-20261022152303248

验证容器是否启动成功:

docker ps

image-20261022152321484

部署完成后,在浏览器中输入 http://飞牛IP:3333 就能看到Ghostfolio的界面:

image-20261022152332952

4.使用Ghostfolio

点击“立即开始”:

image-20261022152408107

创建账号:

image-20261022152523826

欢迎页:这是 Ghostfolio 部署成功后的中文欢迎首页,左侧是概述、持仓、汇总等功能导航栏,主页面展示三步使用引导:设置账户、记录投资活动、监控分析组合,下方配有「设置帐户」按钮,代表服务已正常运行,可以开始录入自己的投资持仓信息。

image-20261022152555999

持仓页:这是 Ghostfolio 的持仓页面,表格展示资产名称、首笔交易时间、数量、市值、资产占比、涨跌和收益率等信息,当前仅录入一笔美元现金资产,页面提供列表 / 网格视图切换、活跃 / 已关闭资产筛选以及管理活动按钮,在这里可以持续添加股票、基金等各类投资标的,统一查看全部持仓明细。

image-20261022152705854

汇总页:这是 Ghostfolio 的汇总统计页面,会自动汇总展示投资组合的在市时长、买卖金额、投入资本、收益、费用、净绩效、总资产、现金、负债等核心财务指标,当前仅录入现金资产,交易活动为空,后续录入交易后,这里就可以直观查看完整的投资业绩与资产统计数据。

image-20261022152733079

关注列表页:这是 Ghostfolio 的关注列表页面,可以添加想要盯盘的标的,自动展示标的上次历史最高纪录、相对高点的涨跌幅,当前还未添加任何品种,右下角加号按钮用来新增关注标的,适合用来跟踪还没有买入、持续观察的股票或者基金。

image-20261022152857115

市场页:这是 Ghostfolio 的市场页面,用于集中查看各类市场标的信息,表格可展示标的名称、历史高点、相对高点涨跌幅等行情数据,当前暂无添加标的,录入资产后就可以在这里统一浏览行情信息,快速感知市场冷暖。

image-20261022152925201

分析页面:这是 Ghostfolio 投资组合下的分析页面,左侧包含分析、活动、分配、FIRE、X-ray 多个子功能,页面展示总金额、含货币影响的涨跌与表现等核心指标,还支持将组合收益和基准对标,当前暂无交易数据,录入持仓后会自动生成收益曲线,用来评估整个投资组合的长期收益表现。

image-20261022153035649

账户管理页面:这是 Ghostfolio 的账户管理页面,可以新建多个账户区分不同资金来源,表格展示账户名称、所属平台、交易活动数、现金余额与资产价值,还支持账户之间转移现金,图中已经创建了 “我的账户” 和 “生活” 两个账户,方便我们分开管理投资资金与日常资金。

image-20261022153110996

后台管理概述页面:这是 Ghostfolio 的后台管理概述页面,左侧包含概述、设置、市场数据、任务队列、用户等管理菜单,页面展示程序版本、用户数量、交易活动统计,还可以开关用户注册、数据收集功能,支持一键刷新缓存,适合管理员进行系统维护与基础配置。

image-20261022153145737

借助 cpolar 内网穿透,部署在本地 NAS 或服务器上的 Ghostfolio 投资组合管理工具,无需公网 IP、不用配置路由器端口映射,一键生成公网访问地址,随时随地在外网打开链接查看自己的持仓资产、收益分析与账户数据,安全远程管理个人投资台账。

5.安装cpolar实现随时随地开发

5.1 什么是cpolar?

cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。

5.2 部署cpolar

cpolar可以将你本地电脑中的服务(如SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

官网在此:https://www.cpolar.com

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

image-20250725104019896

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

22e5adfaf290a17fc3384bb296055259

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

8a6698b1bf26d64ba3645827fbfb1c29

6.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:Ghostfolio,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:3333
  • 域名类型:随机域名
  • 地区:选择China Top

image-20261022153425187

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

image-20261022153445142

访问成功。

image-20261022153503414

7.保留固定公网地址

使用cpolar为其配置二级子域名(cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站),该地址为固定地址,不会随机变化。

image-20250918151358733

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是Ghostfolio,大家可以自定义。填写备注信息,点击保留。

image-20261022153540504

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。

image-20261022153558197

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20261022153629495

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20261022153651454

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20261022153711088

总结

本篇教程完整演示了在 NAS 上使用 Docker 部署开源资产追踪工具 Ghostfolio 的全过程。Ghostfolio 可以统一归集股票、基金等多平台持仓,自动统计资产、生成收益曲线、做资产配置分析,帮你一站式打理个人投资台账;搭配 cpolar 内网穿透,无需公网 IP,就能生成稳定公网链接,随时随地远程访问自己的私有资产面板,数据自留、不依赖第三方记账平台,适合想要自主管理投资组合、注重数据隐私的投资者。

感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

Share:

发表回复

目录

On Key

推荐文章