什么是 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
- <?xml version='1.0' encoding='UTF-8'?>
-
- <!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>
-
- <properties>
-
- <entry key='config.default'>./conf/default.xml</entry>
-
- <!--
-
- This is the main configuration file. All your configuration parameters should be placed in this file.
-
- Default configuration parameters are located in the "default.xml" file. You should not modify it to avoid issues
- with upgrading to a new version. Parameters in the main config file override values in the default file. Do not
- remove "config.default" parameter from this file unless you know what you are doing.
-
- For list of available parameters see following page: https://www.traccar.org/configuration-file/
-
- -->
-
- <entry key='database.driver'>org.h2.Driver</entry>
- <entry key='database.url'>jdbc:h2:./data/database</entry>
- <entry key='database.user'>sa</entry>
- <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。
本文写作版本对应为 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
Source Code - Traccar
traccar/traccar-docker: Traccar Docker