PassNAT LogoPassNAT

Ghostfolio开源财富管理软件 股票ETF加密货币投资组合分析 帕斯内网穿透远程访问教程

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

Ghostfolio 是一个开源的财富管理软件,基于现代 Web 技术构建。这个应用程序帮助忙碌的人们跟踪股票、ETF 或加密货币,并做出可靠的、数据驱动的投资决策。该软件专为个人持续使用而设计。

Ghostfolio 采用 TypeScript 编写,使用 NestJS 作为后端框架,PostgreSQL 作为数据库,Redis 用于缓存,前端基于 Angular 和 Angular Material 构建。它提供了多账户管理、投资组合性能分析、风险评估、交易记录导入导出、暗黑模式等丰富功能,并支持渐进式 Web 应用 (PWA) 和移动优先设计。

无论你是在多个平台交易股票、ETF 或加密货币,还是追求买入持有策略,或者重视隐私和数据所有权,Ghostfolio 都能为你提供专业的投资组合管理解决方案。

项目地址: 点我跳转

部署安装

如需在外也打开项目需要配置内网穿透使用,点击前往 帕斯内网穿透,先注册好账号备用。

复制下列的配置文件

1name: ghostfolio
2services:
3 ghostfolio:
4 image: docker.io/ghostfolio/ghostfolio:latest
5 container_name: ghostfolio
6 restart: unless-stopped
7 init: true
8 cap_drop:
9 - ALL
10 security_opt:
11 - no-new-privileges:true
12 environment:
13 - COMPOSE_PROJECT_NAME=ghostfolio
14 - REDIS_HOST=redis
15 - REDIS_PORT=6379
16 - REDIS_PASSWORD=your_redis_password
17 - POSTGRES_DB=ghostfolio-db
18 - POSTGRES_USER=ghostfolio_user
19 - POSTGRES_PASSWORD=your_postgres_password
20 - ACCESS_TOKEN_SALT=your_random_salt_string
21 - DATABASE_URL=postgresql://ghostfolio_user:your_postgres_password@postgres:5432/ghostfolio-db?connect_timeout=300&sslmode=prefer
22 - JWT_SECRET_KEY=your_jwt_secret_key
23 ports:
24 - 3333:3333
25 depends_on:
26 postgres:
27 condition: service_healthy
28 redis:
29 condition: service_healthy
30 healthcheck:
31 test: ['CMD-SHELL', 'curl -f http://localhost:3333/api/v1/health']
32 interval: 10s
33 timeout: 5s
34 retries: 5
35
36 postgres:
37 image: docker.io/library/postgres:15-alpine
38 container_name: gf-postgres
39 restart: unless-stopped
40 cap_drop:
41 - ALL
42 cap_add:
43 - CHOWN
44 - DAC_READ_SEARCH
45 - FOWNER
46 - SETGID
47 - SETUID
48 security_opt:
49 - no-new-privileges:true
50 environment:
51 - POSTGRES_DB=ghostfolio-db
52 - POSTGRES_USER=ghostfolio_user
53 - POSTGRES_PASSWORD=your_postgres_password
54 healthcheck:
55 test:
56 ['CMD-SHELL', 'pg_isready -d "ghostfolio-db" -U ghostfolio_user']
57 interval: 10s
58 timeout: 5s
59 retries: 5
60 volumes:
61 - postgres:/var/lib/postgresql/data
62
63 redis:
64 image: docker.io/library/redis:alpine
65 container_name: gf-redis
66 restart: unless-stopped
67 user: '999:1000'
68 cap_drop:
69 - ALL
70 security_opt:
71 - no-new-privileges:true
72 environment:
73 - REDIS_PASSWORD=your_redis_password
74 command:
75 - /bin/sh
76 - -c
77 - redis-server --requirepass "your_redis_password"
78 healthcheck:
79 test:
80 ['CMD-SHELL', 'redis-cli --pass "your_redis_password" ping | grep PONG']
81 interval: 10s
82 timeout: 5s
83 retries: 5
84
85volumes:
86 postgres:

打开飞牛 NAS 或其他的 NAS 设备

项目名称可以随便填,点击创建 docker-compose.yml

点击 Compose -> 新建项目

这里需要改成你需要的密码和密钥,其他的保持不变。请务必修改以下字段:

- `your_redis_password`: Redis 数据库密码 - `your_postgres_password`: PostgreSQL 数据库密码 - `your_random_salt_string`: 访问令牌盐值(随机字符串) - `your_jwt_secret_key`: JWT 密钥(随机字符串)

如果提示端口被占用可以修改 `3333:3333` 中的第一个端口号,但是需要保持格式正确。

创建成功后可以访问 ip:3333 到这里就可以正常显示项目了。首次访问时点击 'Get Started' 创建新用户,第一个用户将自动获得管理员权限。

穿透公网

打开帕斯内网穿透控制台,点击隧道管理-隧道列表

点击创建新隧道

隧道节点可以随便选,一般选个负载低的就可以

接下来填写信息,隧道名称可以随便填写

本地 IP 默认就可以

传输协议可以选择 TCP 也可以选择 HTTP/HTTPS

HTTP 就是域名的形式,教程以使用 TCP 为演示

本项目中如果没有修改端口的话默认是 3333 端口,这里本地端口就填 3333

远程端口可以留空也可以自定义。下图仅做参考,请按照实际项目端口添加。

填写完毕点击确定

点击刚才创建好的隧道,点击获取配置文件

回到飞牛 NAS,点击应用中心下载 frpc 客户端

打开后粘贴刚才复制的配置文件,点击确定即可

复制帕斯内网穿透控制台的访问 IP 和端口

可以看到已经正常穿透成功了

本篇教程结束