现代开源个人航班跟踪系统AirTrail

什么是 AirTrail ?

AirTrail 是一款 Web 应用程序,允许用户跟踪航班并查看航班历史记录。使用 AirTrail,您可以在交互式地图上查看航班,并在一个地方跟踪所有航班。

✨ 软件功能:

  • 世界地图:在互动世界地图上查看所有航班。
  • 航班历史:在一个地方跟踪所有航班。
  • 统计信息:通过统计数据获取航班历史的见解。
  • 用户认证:支持多个用户并通过用户认证保护数据。
  • 响应式设计:在任何设备上使用响应式设计的应用程序。
  • 暗黑模式:在亮模式和暗模式之间切换。
  • 导入航班:从各种来源导入航班。

从功能上来说,和老苏之前介绍的 Jetlog 非常类似

文章传送门:个人航班追踪和查看软件Jetlog

安装

在群晖上以 Docker 方式安装。

本文写作时, johly/airtraillatest 版本对应为 v0.1.1

采用 docker-compose 安装,因为变量比较少,所以没有采用 .env 文件。将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
version: '3'

services:
db:
image: postgres:16-alpine
container_name: airtrail-db
restart: always
volumes:
- ./data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=airtrail
- POSTGRES_USER=airtrail
- POSTGRES_PASSWORD=airtrail123
healthcheck:
test: ["CMD-SHELL", "pg_isready -U airtrail -d airtrail"]
interval: 15s
timeout: 50s
retries: 5

airtrail:
image: johly/airtrail:latest
container_name: airtrail-web
restart: always
ports:
- 3895:3000
environment:
- ORIGIN=http://192.168.0.197:3895
- DB_URL=postgres://airtrail:airtrail123@db:5432/airtrail
- DB_DATABASE_NAME=airtrail
- DB_USERNAME=airtrail
- DB_PASSWORD=airtrail123
depends_on:
db:
condition: service_healthy

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 airtrail 和 子目录
mkdir -p /volume1/docker/airtrail/data

# 进入 airtrail 目录
cd /volume1/docker/airtrail

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3895 就能看到注册界面

密码不能少于 8 位;

登录成功后的主界面

OpenStreetMap 地图加载的时间取决于网络

Add Flight 添加飞行信息

依次填入航班信息

  • From:指出发地,例如输入 shanghai,会显示 浦东虹桥 两个机场;

  • To:指目的地,也可以直接输入机场的 IATA 代码;

  • Departure:起飞时间;
  • Arrival:到达时间;
  • Seat Information:座位信息,包括了座位号、座位等级等;
  • Flight Information:航空信息,包括飞机类型、航空公司等;
  • Notes:可以作为备注使用;

添加完成后,就会看到飞行的轨迹

进入 List flights

会列出所有的飞行记录

进入 Statistics

则是统计报表

Settings 中可以切换主题、导入数据等

参考文档

johanohly/AirTrail: A modern, open-source personal flight tracking system
地址:https://github.com/johanohly/AirTrail

Home | AirTrail
地址:https://johanohly.github.io/AirTrail/