PassNAT LogoPassNAT

开源持仓记录工具Ghostfolio私密部署指南,NAS一键Docker快速安装配置教程

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

Ghostfolio 是一个开源的个人持仓记录工具,可以把股票、ETF、基金、加密货币的买入卖出一笔笔记下来,它自己算出每只标的的收益、整体净资产的走势,还能按资产类别、币种、地区把配置占比画成图。数据存在你自己的服务器上,不用把持仓交给任何第三方理财应用。行情默认从 Yahoo Finance、CoinGecko 这类公开数据源拉取,不需要额外申请密钥。

项目地址:点我跳转

部署安装

下面用飞牛 Docker Compose 部署 Ghostfolio,再用 帕斯内网穿透 把它开放到公网,出门在手机上也能记一笔、看一眼。

一、在飞牛 Docker 新建 Compose 项目

打开飞牛的「Docker」应用,切到「Compose」标签,点右上角的新增项目。项目名称填 ghostfolio,路径在「我的文件」里挑一个空文件夹,没有就当场新建一个。来源选择创建 docker-compose.yml,把下面整段编排贴进去,勾上「创建项目后立即启动」,点确认。

1services:
2 ghostfolio:
3 image: ghostfolio/ghostfolio:latest
4 ports:
5 - "3498:3333"
6 environment:
7 ACCESS_TOKEN_SALT: change-me-salt
8 JWT_SECRET_KEY: change-me-jwt
9 DATABASE_URL: postgresql://user:change-me-pg@postgres:5432/ghostfolio-db?connect_timeout=300
10 REDIS_HOST: redis
11 REDIS_PORT: "6379"
12 REDIS_PASSWORD: change-me-redis
13 depends_on:
14 postgres:
15 condition: service_healthy
16 redis:
17 condition: service_healthy
18 restart: unless-stopped
19
20 postgres:
21 image: postgres:15-alpine
22 environment:
23 POSTGRES_DB: ghostfolio-db
24 POSTGRES_USER: user
25 POSTGRES_PASSWORD: change-me-pg
26 healthcheck:
27 test: ["CMD-SHELL", "pg_isready -d ghostfolio-db -U user"]
28 interval: 10s
29 timeout: 5s
30 retries: 5
31 volumes:
32 - ./pgdata:/var/lib/postgresql/data
33 restart: unless-stopped
34
35 redis:
36 image: redis:alpine
37 command: redis-server --requirepass change-me-redis
38 healthcheck:
39 test: ["CMD-SHELL", "redis-cli --pass change-me-redis ping | grep PONG"]
40 interval: 10s
41 timeout: 5s
42 retries: 5
43 restart: unless-stopped

几个认的地方:3498 是 NAS 对外的端口,映射到容器里的 3333,等下建隧道要填它;ACCESS_TOKEN_SALT、JWT_SECRET_KEY 这两个,以及 DATABASE_URL 里的数据库口令、REDIS_PASSWORD,都换成你自己的随机字符串,数据库口令在 postgres 服务里也要写成同一个,redis 的口令在 command 里同样要一致;./pgdata 是数据库的数据目录,备份就拷这个文件夹。

第一次启动会先跑数据库迁移,镜像要拉一会儿,启动也比较慢,等列表里 ghostfolio 变成正在运行、再过一两分钟再去访问。注意 DATABASE_URL 保持上面这种写法,不要额外加 sslmode 参数。

二、创建隧道,开放到公网

飞牛的「应用中心」里搜 PassNAT,装上内网穿透插件,打开它,点「创建隧道」。隧道名称起 ghostfolio(12 个字符以内),接入节点自动分配,本地 IP 保持默认的 127.0.0.1,本地端口填 3498,提交。建好后点电源键,绿点亮了就是通了,列表里这一行会出现公网地址。

三、第一次访问:建账户

用公网地址打开,点「创建账户」,勾上同意,点继续。页面会给出一串安全令牌,它只显示这一次,点「复制到剪贴板」存好,之后登录靠它,丢了没办法找回。

第一个建出来的账户就是管理员,所以隧道开着之后,第一步先把它建了。

四、记一笔买入

进到页面右下角点「加号」添加活动,类型选买入,搜代码,选对标的,填日期、数量和买入时花的钱,点保存。记几笔之后回到概览,就能看到净资产、收益和走势线,持仓页按每只标的列出了数量和收益,下面还有按资产类别的占比。

五、关掉用户注册

账户建好之后,进「管理」页,把「用户注册」这个开关关掉。这样别人拿到你的公网地址也没法再注册,里面只有你自己。

备份与更新

数据都在 ./pgdata 这个文件夹里,把它整个拷走就是备份。要更新镜像,在飞牛里停掉项目,拉取新的 ghostfolio 镜像后再启动。