什么是 Traccar ?
Traccar
是一个开源的GPS
跟踪系统。支持200
多种GPS
协议和2000
多种型号的GPS
跟踪设备。当然也包括像iOS/Android
这样的手机设备,手机设备只需要安装Traccar
的客户端即可使用。
前文介绍的 Hauk
只支持 Android
客户端,适合个人分享;而 Traccar
的应用范围显然要广泛的多,可以用于车队、出租车管理等行业应用。
官方的方法是执行一次容器来获取到缺省的 traccar.xml
第一步、创建工作目录
# 新建文件夹 traccar 和 子目录
mkdir -p /volume2/docker/traccar/logs
# 进入 traccar 目录
cd /volume2/docker/traccar
第二步、获取到缺省的 traccar.xml
文件
docker run \
--rm \
--entrypoint cat \
traccar/traccar:latest \
/opt/traccar/conf/traccar.xml > /opt/traccar/traccar.xml
当然更简单的方法是将下面的内容直接保存为 traccar.xml
DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>
<properties>
<entry key='config.default'>./conf/default.xmlentry>
<entry key='database.driver'>org.h2.Driverentry>
<entry key='database.url'>jdbc:h2:./data/databaseentry>
<entry key='database.user'>saentry>
<entry key='database.password'>entry>
properties>
关于配置文件的详细说明,可以看官方文档:https://www.traccar.org/configuration-file/
缺省设置中,采用的是 H2
数据库,这是一个用 Java
开发的嵌入式数据库,本身只是一个类库,即只有一个 jar
文件,可以直接嵌入到应用项目中,但并不建议将其用于生产环境。
如果你想改为 MySQL
,例如使用群晖自带的 MariaDB
,可以参考官方文档:https://www.traccar.org/mysql/,对 traccar.xml
文件进行修改。
不过老苏没试过,不确定会不会有问题,所以另外启个
MySQL
容器可能会简单一些;
官方提供的安装方法,需要打开端口范围是 5000-5150
,协议包括 TCP/UDP
,这种方法比较省事,但是对我们来说,一方面并没有那么多的设备需要支持,另一方面群晖本身占用了其中的部分端口,比如最常规的 5000
,如果启用了 WebDAV Server
的话,可能 5005
也被占用了
所以老苏的建议是按需开端口。打开 https://www.traccar.org/devices/ ,找到你使用的 GPS
设备
如果找不到,可以试试通过协议来识别:https://www.traccar.org/identify-protocol/
但如果你跟老苏一样,只是用移动端 app
的话,不另开端口也是可以的
在群晖上以 Docker 方式安装。
在注册表中搜索 traccar
,选择第一个 traccar/traccar
,版本选择 latest
。
本文写作时,
latest
版本对应为5.7
;
在 docker
文件夹中,创建一个新文件夹 traccar
,并在其中建一个子文件夹 logs
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/traccar/logs |
/opt/traccar/logs |
存放日志 |
docker/traccar/traccar.xml |
/opt/traccar/conf/traccar.xml |
设置文件 |
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
8082 |
8082 |
默认没有暴露端口
需要自己点 +
号添加
假如你要添加的设备要用到端口 5023
,需要同时添加 TCP
和 UDP
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 traccar 和 子目录
mkdir -p /volume2/docker/traccar/logs
# 进入 traccar 目录
cd /volume2/docker/traccar
# 获取 traccar.xml 文件
docker run \
--rm \
--entrypoint cat \
traccar/traccar:latest \
/opt/traccar/conf/traccar.xml > ./traccar.xml
# 根据需要对 traccar.xml 文件进行修改
# 运行容器(标准)
docker run -d \
--restart unless-stopped \
--name traccar \
-p 8082:8082 \
-p 5000-5150:5000-5150 \
-p 5000-5150:5000-5150/udp \
-v $(pwd)/logs:/opt/traccar/logs \
-v $(pwd)/traccar.xml:/opt/traccar/conf/traccar.xml:ro \
traccar/traccar:latest
# 运行容器(只使用手机app)
docker run -d \
--restart unless-stopped \
--name traccar \
-p 8082:8082 \
-v $(pwd)/logs:/opt/traccar/logs \
-v $(pwd)/traccar.xml:/opt/traccar/conf/traccar.xml:ro \
traccar/traccar:latest
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
traccar:
image: traccar/traccar:latest
container_name: traccar
restart: unless-stopped
ports:
- 8082:8082
volumes:
- ./logs:/opt/traccar/logs
- ./traccar.xml:/opt/traccar/conf/traccar.xml:ro
然后执行下面的命令
# 新建文件夹 traccar 和 子目录
mkdir -p /volume2/docker/traccar/logs
# 进入 traccar 目录
cd /volume2/docker/traccar
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
在浏览器中输入 http://群晖IP:8082
,第一次需要注册
注册成功后就可以登录了
进入 设置
--> 首选项
--> 地图
--> 已选地图
其中红色的地图需要
key
,黑色的不需要;
系统默认勾选了 3
种地图,你可以再选择 高德地图
,保存后就可以在首页进行切换了
点 +/-
号进行缩放
移动端的下载地址:https://www.traccar.org/client/
老苏还是下载的 Android
平台的
打开 app
修改服务器地址
保存后,直接启用 定位服务
注意你的设备编码,添加设备时会用到;
在 Web
主界面点 +
号,添加 注册您的第一台设备
填入名称和设备编号
回到首页后,左侧会有刚添加的设备
地图上也会有设备所在的位置
接下来你可以做跟踪轨迹、设置围栏等操作
Traccar
地址:https://github.com/traccar/
Source Code - Traccar
地址:https://www.traccar.org/source-code/
traccar/traccar-docker: Traccar Docker
地址:https://github.com/traccar/traccar-docker