PassNAT LogoPassNAT

无公网自建旅行日志系统 AdventureLog 开源部署,NAS 极简搭建旅行记录平台。无公网设置帕斯内网穿透远程访问!

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

AdventureLog 是一个现代化的开源旅行伴侣应用,专为记录和规划你的冒险旅程而设计。这个项目基于 SvelteKit + Django 构建,提供了完整的旅行日志解决方案。

从简单的旅行位置追踪开始,AdventureLog 已经发展成为一个功能齐全的旅行伴侣。你可以记录你的冒险经历,在世界地图上追踪你去过的地方,与朋友和家人协作规划下一次旅行,并分享你的旅行体验。

主要功能包括:

- 🌍 追踪你的冒险:记录冒险经历并在世界地图上追踪你去过的地方

- 📃 规划下一次旅行:使用易于使用的行程规划器轻松规划下一次冒险

- 📸 分享你的体验:与朋友和家人分享你的冒险经历并协作规划旅行

- 🗺️ 3D地图视图:以3D形式查看你的位置和活动,提供更沉浸式的旅行历史探索

- 📊 旅行统计:显示你的位置摘要,包括世界旅行统计数据

界面美观现代,支持多种视图模式(列表、地图、日历),让你可以随时随地记录和规划你的旅行。项目完全开源,注重隐私保护,支持私有和公开分享模式。

项目地址: 点我跳转

部署安装

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

复制下列的配置文件

1services:
2 web:
3 image: ghcr.io/seanmorley15/adventurelog-frontend:latest
4 container_name: adventurelog-frontend
5 restart: unless-stopped
6 env_file: .env
7 ports:
8 - '8015:3000'
9 depends_on:
10 - server
11
12 db:
13 image: postgis/postgis:16-3.5
14 container_name: adventurelog-db
15 restart: unless-stopped
16 env_file: .env
17 volumes:
18 - postgres_data:/var/lib/postgresql/data/
19
20 server:
21 image: ghcr.io/seanmorley15/adventurelog-backend:latest
22 container_name: adventurelog-backend
23 restart: unless-stopped
24 env_file: .env
25 ports:
26 - '8016:80'
27 depends_on:
28 - db
29 volumes:
30 - adventurelog_media:/code/media/
31
32volumes:
33 postgres_data:
34 adventurelog_media:

同时需要创建 .env 环境变量文件,内容如下:

1# 🌐 Frontend
2PUBLIC_SERVER_URL=http://server:8000
3ORIGIN=http://localhost:8015
4BODY_SIZE_LIMIT=Infinity
5FRONTEND_PORT=8015
6
7# 🐘 PostgreSQL Database
8PGHOST=db
9POSTGRES_DB=database
10POSTGRES_USER=adventure
11POSTGRES_PASSWORD=changeme123
12
13# 🔒 Django Backend
14SECRET_KEY=changeme123
15DJANGO_ADMIN_USERNAME=admin
16DJANGO_ADMIN_PASSWORD=admin
17DJANGO_ADMIN_EMAIL=admin@example.com
18PUBLIC_URL=http://localhost:8016
19CSRF_TRUSTED_ORIGINS=http://localhost:8016,http://localhost:8015
20DEBUG=False
21FRONTEND_URL=http://localhost:8015
22BACKEND_PORT=8016
23
24# Optional: disable registration
25DISABLE_REGISTRATION=False

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

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

点击 Compose -> 新建项目

这里需要改成你需要的管理员账号和密码,修改 DJANGO_ADMIN_USERNAMEDJANGO_ADMIN_PASSWORD 字段,同时建议修改 SECRET_KEY 和数据库密码 POSTGRES_PASSWORD,其他的保持不变。

如果提示端口被占用可以修改 FRONTEND_PORTBACKEND_PORT 字段,但是需要保持格式正确。

创建成功后可以访问 ip:8015 进入前端界面,管理后台可以通过 ip:8016/admin 访问 到这里就可以正常显示项目了

穿透公网

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

点击创建新隧道

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

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

本地 IP 默认就可以

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

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

本项目中如果没有修改端口的话默认前端是 8015 端口,后端是 8016 端口,这里本地端口就填 8015(前端访问端口)

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

填写完毕点击确定

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

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

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

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

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

本篇教程结束