旅行追踪和行程规划工具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开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

基于C#实现PDF文件合并工具

《基于C#实现PDF文件合并工具》这篇文章主要为大家详细介绍了如何基于C#实现一个简单的PDF文件合并工具,文中的示例代码简洁易懂,有需要的小伙伴可以跟随小编一起学习一下... 界面主要用于发票PDF文件的合并。经常出差要报销的很有用。代码using System;using System.Col

redis-cli命令行工具的使用小结

《redis-cli命令行工具的使用小结》redis-cli是Redis的命令行客户端,支持多种参数用于连接、操作和管理Redis数据库,本文给大家介绍redis-cli命令行工具的使用小结,感兴趣的... 目录基本连接参数基本连接方式连接远程服务器带密码连接操作与格式参数-r参数重复执行命令-i参数指定命

SpringBoot如何使用TraceId日志链路追踪

《SpringBoot如何使用TraceId日志链路追踪》文章介绍了如何使用TraceId进行日志链路追踪,通过在日志中添加TraceId关键字,可以将同一次业务调用链上的日志串起来,本文通过实例代码... 目录项目场景:实现步骤1、pom.XML 依赖2、整合logback,打印日志,logback-sp

Python pyinstaller实现图形化打包工具

《Pythonpyinstaller实现图形化打包工具》:本文主要介绍一个使用PythonPYQT5制作的关于pyinstaller打包工具,代替传统的cmd黑窗口模式打包页面,实现更快捷方便的... 目录1.简介2.运行效果3.相关源码1.简介一个使用python PYQT5制作的关于pyinstall

使用Python制作一个PDF批量加密工具

《使用Python制作一个PDF批量加密工具》PDF批量加密‌是一种保护PDF文件安全性的方法,通过为多个PDF文件设置相同的密码,防止未经授权的用户访问这些文件,下面我们来看看如何使用Python制... 目录1.简介2.运行效果3.相关源码1.简介一个python写的PDF批量加密工具。PDF批量加密

使用Java编写一个文件批量重命名工具

《使用Java编写一个文件批量重命名工具》这篇文章主要为大家详细介绍了如何使用Java编写一个文件批量重命名工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录背景处理1. 文件夹检查与遍历2. 批量重命名3. 输出配置代码片段完整代码背景在开发移动应用时,UI设计通常会提供不

Python按条件批量删除TXT文件行工具

《Python按条件批量删除TXT文件行工具》这篇文章主要为大家详细介绍了Python如何实现按条件批量删除TXT文件中行的工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.简介2.运行效果3.相关源码1.简介一个由python编写android的可根据TXT文件按条件批

详解Python中通用工具类与异常处理

《详解Python中通用工具类与异常处理》在Python开发中,编写可重用的工具类和通用的异常处理机制是提高代码质量和开发效率的关键,本文将介绍如何将特定的异常类改写为更通用的ValidationEx... 目录1. 通用异常类:ValidationException2. 通用工具类:Utils3. 示例文

动态规划---打家劫舍

题目: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 思路: 动态规划五部曲: 1.确定dp数组及含义 dp数组是一维数组,dp[i]代表