什么是 AdventureLog ?
AdventureLog
是一种记录您的旅行并与世界分享的简单方法。您可以在日志中添加照片、笔记等。跟踪您访问过的国家、探索去过的地区和地方。您还可以查看您的旅行统计数据和里程碑。AdventureLog
旨在成为您终极的旅行伴侣,帮助您记录您的冒险经历并轻松规划新的冒险经历。
主要功能:
- 使用姓名、日期、地点、描述和评级等字段记录过去的冒险经历。
- 规划未来在类似领域的冒险。
- 标记不同的活动类型以便更好地组织。
- 查看国家、地区并标记访问过的地区。
安装
在群晖上以 Docker 方式安装。
docker-compose.yml
采用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: "3.9"services:web:image: ghcr.io/seanmorley15/adventurelog-frontend:latestcontainer_name: adventurelog-webports:- "8130:3000"environment:- PUBLIC_SERVER_URL=http://server:8000- ORIGIN=http://192.168.0.197:8130- BODY_SIZE_LIMIT=Infinitydepends_on:- serverdb:image: postgres:latestcontainer_name: adventurelog-dbvolumes:- ./data:/var/lib/postgresql/data/environment:POSTGRES_DB: databasePOSTGRES_USER: adventurePOSTGRES_PASSWORD: changeme123server:image: ghcr.io/seanmorley15/adventurelog-backend:latestcontainer_name: adventurelog-serverports:- "8131:8000"volumes:- ./media:/code/media/environment:- PGHOST=db- PGDATABASE=database- PGUSER=adventure- PGPASSWORD=changeme123- SECRET_KEY=changeme123- DJANGO_ADMIN_USERNAME=admin- DJANGO_ADMIN_PASSWORD=admin- DJANGO_ADMIN_EMAIL=admin@example.com- PUBLIC_URL='http://192.168.0.197:8132- CSRF_TRUSTED_ORIGINS=http://192.168.0.197:8130,http://192.168.0.197:8131,http://192.168.0.197:8132- DEBUG=False- FRONTEND_URL='http://192.168.0.197:8130'depends_on:- dbnginx:image: nginx:latestcontainer_name: adventurelog-nginxports:- "8132:80" # Using port 8131 to avoid conflict with your existing setupvolumes:- ./media:/app/media- ./nginx.conf:/etc/nginx/conf.d/default.conf:rodepends_on:- server
其中
192.168.0.197
是群晖主机的IP
数据库的环境变量
名称 | 必需 | 描述 |
---|---|---|
POSTGRES_DB | 是 | 数据库库名 |
POSTGRES_USER | 是 | 数据库用户 |
POSTGRES_PASSWORD | 是 | 数据库密码 |
前端的环境变量
名称 | 必需 | 描述 | 默认值 |
---|---|---|---|
PUBLIC_SERVER_URL | 是 | 前端 SSR 服务器使用什么来连接到后端。 | http://server:8000 |
ORIGIN | 有时 | 如果使用 HTTPS ,则不需要。如果不是,请将其设置为您将从中访问应用程序的域。 | http://localhost:8080 |
BODY_SIZE_LIMIT | 是 | 用于设置服务器的最大上传大小。应进行更改以防止有人上传过多!自定义值必须以 kb 为单位设置。 | Infinity |
后端的环境变量
名称 | 必需 | 描述 | 默认值 |
---|---|---|---|
PGHOST | 是 | 数据库主机。 | db |
PGDATABASE | 是 | 数据库库名。 | database |
PGUSER | 是 | 数据库用户。 | adventure |
PGPASSWORD | 是 | 数据库密码。 | changeme123 |
DJANGO_ADMIN_USERNAME | 是 | 默认用户名。 | admin |
DJANGO_ADMIN_PASSWORD | 是 | 默认密码,首次登录后更改。 | admin |
DJANGO_ADMIN_EMAIL | 是 | 默认用户的电子邮件。 | admin@example.com |
PUBLIC_URL | 是 | 这是 nginx 容器的公开可访问 URL 。您应该能够从访问应用程序的此 URL 访问 nginx 。 | http://127.0.0.1:81 |
CSRF_TRUSTED_ORIGINS | 是 | 需要更改为您使用后端服务器和前端的地址。这些值以逗号分隔。 | 需要改变。 |
FRONTEND_URL | 是 | 这是前端容器的公开可访问 URL 。此链接应可供所有用户访问。用于生成电子邮件。 | http://localhost:3000 |
以上内容可以在官方文档中找到原版的说明
- https://github.com/seanmorley15/AdventureLog#frontend-container-web
- https://docs.adventurelog.app/docs/Installation/docker#frontend-container-web
如果想要禁止注册,可以在环境变量中增加下面的环境变量
environment:
- DISABLE_REGISTRATION=True
# OPTIONAL: Set the message to display when registration is disabled
- DISABLE_REGISTRATION_MESSAGE='Registration is disabled for this instance of AdventureLog.'
DISABLE_REGISTRATION_MESSAGE
为可选项,用于设置禁用注册时显示的消息
nginx.conf
还需要准备一个 nginx.conf
,来定义转发规则
server {listen 80;server_name localhost;location /media/ {alias /app/media/;}
}
然后执行下面的命令
# 新建文件夹 adventurelog 和 子目录
mkdir -p /volume1/docker/adventurelog/{data,media}# 进入 adventurelog 目录
cd /volume1/docker/adventurelog# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:8130
就能看到主界面
可以注册账号,也可以用环境变量中设置的
admin/admin
登录成功后
点右下角的 +
号
分为 Visited Adventure
和 Planned Adventure
两种类型
设置详细信息
保存之后
再多加几个
对了,老苏用的版本是 v0.5.1
参考文档
seanmorley15/AdventureLog: Self-hostable travel tracker and trip planner.
地址:https://github.com/seanmorley15/AdventureLog
Home | AdventureLog
地址:https://adventurelog.app/
Adventure Log | Adventure Log
地址:https://docs.adventurelog.app/
AdventureLog: Self Hosted Travel Tracker and Planner : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1eswkgd/adventurelog_self_hosted_travel_tracker_and/