diff options
Diffstat (limited to 'setup/unix/traccar.xml')
-rw-r--r-- | setup/unix/traccar.xml | 321 |
1 files changed, 321 insertions, 0 deletions
diff --git a/setup/unix/traccar.xml b/setup/unix/traccar.xml new file mode 100644 index 000000000..70270b7d1 --- /dev/null +++ b/setup/unix/traccar.xml @@ -0,0 +1,321 @@ +<?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'>/opt/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'>/opt/traccar/logs/tracker-server.log</entry> + + <!-- DATABASE CONFIG --> + + <entry key='database.driver'>org.h2.Driver</entry> + <entry key='database.url'>jdbc:h2:/opt/traccar/data/database</entry> + <entry key='database.user'>sa</entry> + <entry key='database.password'></entry> + + <entry key='database.checkTable'>traccar</entry> + + <entry key='database.selectSchemaVersion'> + SELECT * FROM traccar; + </entry> + + <entry key='database.createSchema'> + CREATE TABLE "user" ( + id INT PRIMARY KEY AUTO_INCREMENT, + name VARCHAR(128) NOT NULL, + email VARCHAR(128) NOT NULL UNIQUE, + hashedPassword VARCHAR(128) NOT NULL, + salt VARCHAR(128) DEFAULT '' NOT NULL, + readonly BIT DEFAULT 0 NOT NULL, + admin BIT DEFAULT 0 NOT NULL, + map VARCHAR(128), + language VARCHAR(128), + distanceUnit VARCHAR(128), + speedUnit VARCHAR(128), + latitude FLOAT DEFAULT 0 NOT NULL, + longitude FLOAT DEFAULT 0 NOT NULL, + zoom INT DEFAULT 0 NOT NULL); + + CREATE TABLE device ( + id INT PRIMARY KEY AUTO_INCREMENT, + name VARCHAR(128) NOT NULL, + uniqueId VARCHAR(128) NOT NULL UNIQUE, + status VARCHAR(128), + lastUpdate TIMESTAMP, + positionId INT, + dataId INT); + + CREATE TABLE user_device ( + userId INT NOT NULL, + deviceId INT NOT NULL, + "read" BIT DEFAULT 1 NOT NULL, + "write" BIT DEFAULT 1 NOT NULL, + FOREIGN KEY (userId) REFERENCES "user" (id) ON DELETE CASCADE, + FOREIGN KEY (deviceId) REFERENCES device (id) ON DELETE CASCADE); + + CREATE INDEX user_device_userId ON user_device(userId); + + CREATE TABLE position ( + id INT PRIMARY KEY AUTO_INCREMENT, + protocol VARCHAR(128), + deviceId INT NOT NULL, + serverTime TIMESTAMP NOT NULL, + deviceTime TIMESTAMP NOT NULL, + fixTime TIMESTAMP NOT NULL, + valid BIT NOT NULL, + latitude FLOAT NOT NULL, + longitude FLOAT NOT NULL, + altitude FLOAT NOT NULL, + speed FLOAT NOT NULL, + course FLOAT NOT NULL, + address VARCHAR(512), + other VARCHAR(4096) NOT NULL, + FOREIGN KEY (deviceId) REFERENCES device (id) ON DELETE CASCADE); + + CREATE INDEX position_deviceId_fixTime ON position (deviceId, fixTime); + + CREATE TABLE data ( + id INT PRIMARY KEY AUTO_INCREMENT, + protocol VARCHAR(128), + deviceId INT NOT NULL, + serverTime TIMESTAMP NOT NULL, + deviceTime TIMESTAMP NOT NULL, + other VARCHAR(4096) NOT NULL, + FOREIGN KEY (deviceId) REFERENCES device (id) ON DELETE CASCADE); + + ALTER TABLE device ADD + FOREIGN KEY (positionId) REFERENCES position (id) ON DELETE CASCADE; + + ALTER TABLE device ADD + FOREIGN KEY (dataId) REFERENCES data (id) ON DELETE CASCADE; + + CREATE TABLE server ( + id INT PRIMARY KEY AUTO_INCREMENT, + registration BIT NOT NULL, + map VARCHAR(128), + language VARCHAR(128), + distanceUnit VARCHAR(128), + speedUnit VARCHAR(128), + latitude FLOAT DEFAULT 0 NOT NULL, + longitude FLOAT DEFAULT 0 NOT NULL, + zoom INT DEFAULT 0 NOT NULL); + + CREATE TABLE traccar ( + version INT DEFAULT 0 NOT NULL); + + INSERT INTO traccar (version) VALUES (301); + </entry> + + <entry key='database.selectServers'> + SELECT * FROM server; + </entry> + + <entry key='database.insertServer'> + INSERT INTO server (registration, latitude, longitude, zoom) + VALUES (:registration, :latitude, :longitude, :zoom); + </entry> + + <entry key='database.updateServer'> + UPDATE server SET + registration = :registration, + map = :map, + language = :language, + distanceUnit = :distanceUnit, + speedUnit = :speedUnit, + latitude = :latitude, + longitude = :longitude, + zoom = :zoom + WHERE id = :id; + </entry> + + <entry key='database.loginUser'> + SELECT * FROM "user" + WHERE email = :email; + </entry> + + <entry key='database.selectUser'> + SELECT * FROM "user" + WHERE id = :id; + </entry> + + <entry key='database.selectUsersAll'> + SELECT * FROM "user"; + </entry> + + <entry key='database.insertUser'> + INSERT INTO "user" (name, email, hashedPassword, salt, admin) + VALUES (:name, :email, :hashedPassword, :salt, :admin); + </entry> + + <entry key='database.updateUser'> + UPDATE "user" SET + name = :name, + email = :email, + admin = :admin, + map = :map, + language = :language, + distanceUnit = :distanceUnit, + speedUnit = :speedUnit, + latitude = :latitude, + longitude = :longitude, + zoom = :zoom + WHERE id = :id; + </entry> + + <entry key='database.updateUserPassword'> + UPDATE "user" SET hashedPassword = :hashedPassword, salt = :salt WHERE id = :id; + </entry> + + <entry key='database.deleteUser'> + DELETE FROM "user" WHERE id = :id; + </entry> + + <entry key='database.getPermissionsAll'> + SELECT userId, deviceId FROM user_device; + </entry> + + <entry key='database.selectDevicesAll'> + SELECT * FROM device; + </entry> + + <entry key='database.selectDevices'> + SELECT * FROM device d INNER JOIN user_device ud ON d.id = ud.deviceId WHERE ud.userId = :userId; + </entry> + + <entry key='database.insertDevice'> + INSERT INTO device (name, uniqueId) VALUES (:name, :uniqueId); + </entry> + + <entry key='database.updateDevice'> + UPDATE device SET name = :name, uniqueId = :uniqueId WHERE id = :id; + </entry> + + <entry key='database.deleteDevice'> + DELETE FROM device WHERE id = :id; + </entry> + + <entry key='database.linkDevice'> + INSERT INTO user_device (userId, deviceId) VALUES (:userId, :deviceId); + </entry> + + <entry key='database.selectPositions'> + SELECT * FROM position WHERE deviceId = :deviceId AND fixTime BETWEEN :from AND :to; + </entry> + + <entry key='database.insertPosition'> + INSERT INTO position (deviceId, protocol, serverTime, deviceTime, fixTime, valid, latitude, longitude, altitude, speed, course, address, other) + VALUES (:deviceId, :protocol, CURRENT_TIMESTAMP(), :time, :time, :valid, :latitude, :longitude, :altitude, :speed, :course, :address, :other); + </entry> + + <entry key='database.selectLatestPositions'> + SELECT * FROM position WHERE id IN (SELECT positionId FROM device); + </entry> + + <entry key='database.updateLatestPosition'> + UPDATE device 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='maxon.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='ev603.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='xt7.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='telik.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='autofon45.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> + +</properties> |