什么是 AdventureLog ?
AdventureLog
是一种记录您的旅行并与世界分享的简单方法。您可以在日志中添加照片、笔记等。跟踪您访问过的国家、探索去过的地区和地方。您还可以查看您的旅行统计数据和里程碑。AdventureLog
旨在成为您终极的旅行伴侣,帮助您记录您的冒险经历并轻松规划新的冒险经历。
主要功能:
- 使用姓名、日期、地点、描述和评级等字段记录过去的冒险经历。
- 规划未来在类似领域的冒险。
- 标记不同的活动类型以便更好地组织。
- 查看国家、地区并标记访问过的地区。
安装
在群晖上以 Docker 方式安装。
docker-compose.yml
采用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: "3.9"
services:
web:
image: ghcr.io/seanmorley15/adventurelog-frontend:latest
container_name: adventurelog-web
ports:
- "8130:3000"
environment:
- PUBLIC_SERVER_URL=http://server:8000
- ORIGIN=http://192.168.0.197:8130
- BODY_SIZE_LIMIT=Infinity
depends_on:
- server
db:
image: postgres:latest
container_name: adventurelog-db
volumes:
- ./data:/var/lib/postgresql/data/
environment:
POSTGRES_DB: database
POSTGRES_USER: adventure
POSTGRES_PASSWORD: changeme123
server:
image: ghcr.io/seanmorley15/adventurelog-backend:latest
container_name: adventurelog-server
ports:
- "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:
- db
nginx:
image: nginx:latest
container_name: adventurelog-nginx
ports:
- "8132:80" # Using port 8131 to avoid conflict with your existing setup
volumes:
- ./media:/app/media
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
depends_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/