旅行追踪和行程规划工具AdventureLog

2024-08-31 20:20

本文主要是介绍旅行追踪和行程规划工具AdventureLog,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

什么是 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 访问 nginxhttp://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 AdventurePlanned 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/

这篇关于旅行追踪和行程规划工具AdventureLog的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1124894

相关文章

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

MySQL慢查询工具的使用小结

《MySQL慢查询工具的使用小结》使用MySQL的慢查询工具可以帮助开发者识别和优化性能不佳的SQL查询,本文就来介绍一下MySQL的慢查询工具,具有一定的参考价值,感兴趣的可以了解一下... 目录一、启用慢查询日志1.1 编辑mysql配置文件1.2 重启MySQL服务二、配置动态参数(可选)三、分析慢查

浅谈MySQL的容量规划

《浅谈MySQL的容量规划》进行MySQL的容量规划是确保数据库能够在当前和未来的负载下顺利运行的重要步骤,容量规划包括评估当前资源使用情况、预测未来增长、调整配置和硬件资源等,感兴趣的可以了解一下... 目录一、评估当前资源使用情况1.1 磁盘空间使用1.2 内存使用1.3 CPU使用1.4 网络带宽二、

基于Python实现进阶版PDF合并/拆分工具

《基于Python实现进阶版PDF合并/拆分工具》在数字化时代,PDF文件已成为日常工作和学习中不可或缺的一部分,本文将详细介绍一款简单易用的PDF工具,帮助用户轻松完成PDF文件的合并与拆分操作... 目录工具概述环境准备界面说明合并PDF文件拆分PDF文件高级技巧常见问题完整源代码总结在数字化时代,PD

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

基于Python实现简易视频剪辑工具

《基于Python实现简易视频剪辑工具》这篇文章主要为大家详细介绍了如何用Python打造一个功能完备的简易视频剪辑工具,包括视频文件导入与格式转换,基础剪辑操作,音频处理等功能,感兴趣的小伙伴可以了... 目录一、技术选型与环境搭建二、核心功能模块实现1. 视频基础操作2. 音频处理3. 特效与转场三、高

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过