- Download the Traccar release from: https://github.com/tananaev/traccar/releases
- Merge these files in
docker-compose up
Created
June 23, 2016 16:29
-
-
Save mcoms/8b8ec6a6bbb0fbb860cb9f30e3439546 to your computer and use it in GitHub Desktop.
Dockerfile and docker-compose for Traccar GPS software
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version='1.0' encoding='UTF-8'?> | |
<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'> | |
<properties> | |
<!-- SERVER CONFIG --> | |
<entry key='web.enable'>true</entry> | |
<entry key='web.port'>8082</entry> | |
<entry key='web.path'>/usr/src/traccar/web</entry> | |
<entry key='geocoder.enable'>true</entry> | |
<entry key='geocoder.type'>google</entry> | |
<entry key='logger.enable'>true</entry> | |
<entry key='logger.level'>all</entry> | |
<entry key='logger.file'>/usr/src/traccar/logs/traccar.log</entry> | |
<!-- DATABASE CONFIG --> | |
<entry key='database.driver'>org.h2.Driver</entry> | |
<entry key='database.url'>jdbc:h2:/usr/src/traccar/data/db</entry> | |
<entry key='database.user'>sa</entry> | |
<entry key='database.password'></entry> | |
<entry key='database.changelog'>/usr/src/traccar/data/changelog-master.xml</entry> | |
<entry key='database.selectServers'> | |
SELECT * FROM server; | |
</entry> | |
<entry key='database.updateServer'> | |
UPDATE server SET | |
registration = :registration, | |
readonly = :readonly, | |
map = :map, | |
bingKey = :bingKey, | |
mapUrl = :mapUrl, | |
distanceUnit = :distanceUnit, | |
speedUnit = :speedUnit, | |
latitude = :latitude, | |
longitude = :longitude, | |
zoom = :zoom, | |
twelveHourFormat = :twelveHourFormat | |
WHERE id = :id; | |
</entry> | |
<entry key='database.loginUser'> | |
SELECT * FROM users | |
WHERE email = :email; | |
</entry> | |
<entry key='database.selectUser'> | |
SELECT * FROM users | |
WHERE id = :id; | |
</entry> | |
<entry key='database.selectUsersAll'> | |
SELECT * FROM users; | |
</entry> | |
<entry key='database.insertUser'> | |
INSERT INTO users (name, email, hashedPassword, salt, admin, map, distanceUnit, speedUnit, latitude, longitude, zoom, twelveHourFormat) | |
VALUES (:name, :email, :hashedPassword, :salt, :admin, :map, :distanceUnit, :speedUnit, :latitude, :longitude, :zoom, :twelveHourFormat); | |
</entry> | |
<entry key='database.updateUser'> | |
UPDATE users SET | |
name = :name, | |
email = :email, | |
admin = :admin, | |
map = :map, | |
distanceUnit = :distanceUnit, | |
speedUnit = :speedUnit, | |
latitude = :latitude, | |
longitude = :longitude, | |
zoom = :zoom, | |
twelveHourFormat = :twelveHourFormat | |
WHERE id = :id; | |
</entry> | |
<entry key='database.updateUserPassword'> | |
UPDATE users SET hashedPassword = :hashedPassword, salt = :salt WHERE id = :id; | |
</entry> | |
<entry key='database.deleteUser'> | |
DELETE FROM users WHERE id = :id; | |
</entry> | |
<entry key='database.selectDevicePermissions'> | |
SELECT userId, deviceId FROM user_device; | |
</entry> | |
<entry key='database.selectGroupPermissions'> | |
SELECT userId, groupId FROM user_group; | |
</entry> | |
<entry key='database.selectDevicesAll'> | |
SELECT * FROM devices; | |
</entry> | |
<entry key='database.insertDevice'> | |
INSERT INTO devices (name, uniqueId, groupId) VALUES (:name, :uniqueId, :groupId); | |
</entry> | |
<entry key='database.updateDevice'> | |
UPDATE devices SET name = :name, uniqueId = :uniqueId, groupId = :groupId WHERE id = :id; | |
</entry> | |
<entry key='database.updateDeviceStatus'> | |
UPDATE devices SET status = :status, lastUpdate = :lastUpdate WHERE id = :id; | |
</entry> | |
<entry key='database.deleteDevice'> | |
DELETE FROM devices WHERE id = :id; | |
</entry> | |
<entry key='database.linkDevice'> | |
INSERT INTO user_device (userId, deviceId) VALUES (:userId, :deviceId); | |
</entry> | |
<entry key='database.unlinkDevice'> | |
DELETE FROM user_device WHERE userId = :userId AND deviceId = :deviceId; | |
</entry> | |
<entry key='database.selectGroupsAll'> | |
SELECT * FROM groups; | |
</entry> | |
<entry key='database.insertGroup'> | |
INSERT INTO groups (name) VALUES (:name); | |
</entry> | |
<entry key='database.updateGroup'> | |
UPDATE groups SET name = :name, groupId = :groupId WHERE id = :id; | |
</entry> | |
<entry key='database.deleteGroup'> | |
DELETE FROM groups WHERE id = :id; | |
</entry> | |
<entry key='database.linkGroup'> | |
INSERT INTO user_group (userId, groupId) VALUES (:userId, :groupId); | |
</entry> | |
<entry key='database.unlinkGroup'> | |
DELETE FROM user_group WHERE userId = :userId AND groupId = :groupId; | |
</entry> | |
<entry key='database.selectPositions'> | |
SELECT * FROM positions WHERE deviceId = :deviceId AND fixTime BETWEEN :from AND :to ORDER BY fixTime; | |
</entry> | |
<entry key='database.insertPosition'> | |
INSERT INTO positions (deviceId, protocol, serverTime, deviceTime, fixTime, valid, latitude, longitude, altitude, speed, course, address, attributes) | |
VALUES (:deviceId, :protocol, :now, :deviceTime, :fixTime, :valid, :latitude, :longitude, :altitude, :speed, :course, :address, :attributes); | |
</entry> | |
<entry key='database.selectLatestPositions'> | |
SELECT * FROM positions WHERE id IN (SELECT positionId FROM devices); | |
</entry> | |
<entry key='database.updateLatestPosition'> | |
UPDATE devices SET positionId = :id WHERE id = :deviceId; | |
</entry> | |
<!-- PROTOCOL CONFIG --> | |
<entry key='gps103.port'>5001</entry> | |
<entry key='tk103.port'>5002</entry> | |
<entry key='gl100.port'>5003</entry> | |
<entry key='gl200.port'>5004</entry> | |
<entry key='t55.port'>5005</entry> | |
<entry key='xexun.port'>5006</entry> | |
<entry key='xexun.extended'>false</entry> | |
<entry key='totem.port'>5007</entry> | |
<entry key='enfora.port'>5008</entry> | |
<entry key='meiligao.port'>5009</entry> | |
<entry key='trv.port'>5010</entry> | |
<entry key='suntech.port'>5011</entry> | |
<entry key='progress.port'>5012</entry> | |
<entry key='h02.port'>5013</entry> | |
<entry key='jt600.port'>5014</entry> | |
<entry key='huabao.port'>5015</entry> | |
<entry key='v680.port'>5016</entry> | |
<entry key='pt502.port'>5017</entry> | |
<entry key='tr20.port'>5018</entry> | |
<entry key='navis.port'>5019</entry> | |
<entry key='meitrack.port'>5020</entry> | |
<entry key='skypatrol.port'>5021</entry> | |
<entry key='gt02.port'>5022</entry> | |
<entry key='gt06.port'>5023</entry> | |
<entry key='megastek.port'>5024</entry> | |
<entry key='navigil.port'>5025</entry> | |
<entry key='gpsgate.port'>5026</entry> | |
<entry key='teltonika.port'>5027</entry> | |
<entry key='mta6.port'>5028</entry> | |
<entry key='tzone.port'>5029</entry> | |
<entry key='tlt2h.port'>5030</entry> | |
<entry key='taip.port'>5031</entry> | |
<entry key='wondex.port'>5032</entry> | |
<entry key='cellocator.port'>5033</entry> | |
<entry key='galileo.port'>5034</entry> | |
<entry key='ywt.port'>5035</entry> | |
<entry key='tk102.port'>5036</entry> | |
<entry key='intellitrac.port'>5037</entry> | |
<entry key='gpsmta.port'>5038</entry> | |
<entry key='wialon.port'>5039</entry> | |
<entry key='carscop.port'>5040</entry> | |
<entry key='apel.port'>5041</entry> | |
<entry key='manpower.port'>5042</entry> | |
<entry key='globalsat.port'>5043</entry> | |
<entry key='atrack.port'>5044</entry> | |
<entry key='pt3000.port'>5045</entry> | |
<entry key='ruptela.port'>5046</entry> | |
<entry key='topflytech.port'>5047</entry> | |
<entry key='laipac.port'>5048</entry> | |
<entry key='aplicom.port'>5049</entry> | |
<entry key='gotop.port'>5050</entry> | |
<entry key='sanav.port'>5051</entry> | |
<entry key='gator.port'>5052</entry> | |
<entry key='noran.port'>5053</entry> | |
<entry key='m2m.port'>5054</entry> | |
<entry key='osmand.port'>5055</entry> | |
<entry key='easytrack.port'>5056</entry> | |
<entry key='gpsmarker.port'>5057</entry> | |
<entry key='khd.port'>5058</entry> | |
<entry key='piligrim.port'>5059</entry> | |
<entry key='stl060.port'>5060</entry> | |
<entry key='cartrack.port'>5061</entry> | |
<entry key='minifinder.port'>5062</entry> | |
<entry key='haicom.port'>5063</entry> | |
<entry key='eelink.port'>5064</entry> | |
<entry key='box.port'>5065</entry> | |
<entry key='freedom.port'>5066</entry> | |
<entry key='telic.port'>5067</entry> | |
<entry key='trackbox.port'>5068</entry> | |
<entry key='visiontek.port'>5069</entry> | |
<entry key='orion.port'>5070</entry> | |
<entry key='riti.port'>5071</entry> | |
<entry key='ulbotech.port'>5072</entry> | |
<entry key='tramigo.port'>5073</entry> | |
<entry key='tr900.port'>5074</entry> | |
<entry key='ardi01.port'>5075</entry> | |
<entry key='xt013.port'>5076</entry> | |
<entry key='autofon.port'>5077</entry> | |
<entry key='gosafe.port'>5078</entry> | |
<entry key='tt8850.port'>5079</entry> | |
<entry key='bce.port'>5080</entry> | |
<entry key='xirgo.port'>5081</entry> | |
<entry key='calamp.port'>5082</entry> | |
<entry key='mtx.port'>5083</entry> | |
<entry key='tytan.port'>5084</entry> | |
<entry key='avl301.port'>5085</entry> | |
<entry key='castel.port'>5086</entry> | |
<entry key='mxt.port'>5087</entry> | |
<entry key='cityeasy.port'>5088</entry> | |
<entry key='aquila.port'>5089</entry> | |
<entry key='flextrack.port'>5090</entry> | |
<entry key='blackkite.port'>5091</entry> | |
<entry key='adm.port'>5092</entry> | |
<entry key='watch.port'>5093</entry> | |
<entry key='t800x.port'>5094</entry> | |
<entry key='upro.port'>5095</entry> | |
<entry key='auro.port'>5096</entry> | |
<entry key='disha.port'>5097</entry> | |
<entry key='thinkrace.port'>5098</entry> | |
<entry key='pathaway.port'>5099</entry> | |
<entry key='arnavi.port'>5100</entry> | |
<entry key='nvs.port'>5101</entry> | |
<entry key='kenji.port'>5102</entry> | |
<entry key='astra.port'>5103</entry> | |
<entry key='homtecs.port'>5104</entry> | |
<entry key='fox.port'>5105</entry> | |
<entry key='gnx.port'>5106</entry> | |
<entry key='arknav.port'>5107</entry> | |
<entry key='supermate.port'>5108</entry> | |
<entry key='appello.port'>5109</entry> | |
</properties> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: '2' | |
services: | |
traccar: | |
build: . | |
ports: | |
- '8082:8082' | |
- '5001-5109:5001-5109' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM java:alpine | |
RUN mkdir -p /usr/src/traccar | |
COPY . /usr/src/traccar | |
VOLUME /usr/src/traccar/data | |
WORKDIR /usr/src/traccar | |
EXPOSE 8082 | |
EXPOSE 5001-5109 | |
CMD ["java", "-jar", "tracker-server.jar", "conf/traccar.xml"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment