first commit
This commit is contained in:
commit
86a3f773dc
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019 RafaelMiquelino
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
102
README.md
Normal file
102
README.md
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
# Traccar server
|
||||||
|
This is the repository to create the traccar-server with a standalone MySQL database and Traefik reverse proxy via docker-compose file.
|
||||||
|
## Minimum VPS configuration
|
||||||
|
- OS: Ubuntu 16.04 x64
|
||||||
|
- RAM: 512 MB
|
||||||
|
- CPU: 1
|
||||||
|
- Disk space: 10 GB
|
||||||
|
- 1GB swap: see https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04
|
||||||
|
## Setup Instructions
|
||||||
|
### Install Docker
|
||||||
|
1. First, in order to ensure the downloads are valid, add the GPG key for the official Docker repository to your system:
|
||||||
|
`curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -`
|
||||||
|
2. Add the Docker repository to APT sources:
|
||||||
|
`sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"`
|
||||||
|
3. Next, update the package database with the Docker packages from the newly added repo:
|
||||||
|
`sudo apt-get update`
|
||||||
|
4. Make sure you are about to install from the Docker repo instead of the default Ubuntu 16.04 repo:
|
||||||
|
`apt-cache policy docker-ce`
|
||||||
|
You should see output similar to the follow:
|
||||||
|
```
|
||||||
|
docker-ce:
|
||||||
|
Candidate: 18.06.1~ce~3-0~ubuntu
|
||||||
|
Version table:
|
||||||
|
18.06.1~ce~3-0~ubuntu 500
|
||||||
|
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
|
||||||
|
```
|
||||||
|
5. Finally, install Docker:
|
||||||
|
`sudo apt-get install -y docker-ce`
|
||||||
|
6. Docker should now be installed, the daemon started, and the process enabled to start on boot. Check that it's running:
|
||||||
|
`sudo systemctl status docker`
|
||||||
|
7. If you want to avoid typing sudo whenever you run the docker command, add your username to the docker group:
|
||||||
|
`sudo usermod -aG docker ${USER}`
|
||||||
|
8. To apply the new group membership, log out of the server and back in.
|
||||||
|
9. Afterwards, you can confirm that your user is now added to the docker group by typing:
|
||||||
|
`id -nG`
|
||||||
|
|
||||||
|
- For more info, visit: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04
|
||||||
|
### Install Docker Compose
|
||||||
|
1. We'll check the current release and if necessary, update it in the command below:
|
||||||
|
`ssudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose`
|
||||||
|
2. Next we'll set the permissions:
|
||||||
|
`sudo chmod +x /usr/local/bin/docker-compose`
|
||||||
|
3. Then we'll verify that the installation was successful by checking the version:
|
||||||
|
`docker-compose -v`
|
||||||
|
|
||||||
|
- For more info, visit: https://www.digitalocean.com/community/tutorials/how-to-install-docker-compose-on-ubuntu-16-04
|
||||||
|
### Install the repository into the VPS
|
||||||
|
1. Clone the repository.
|
||||||
|
1. Step into the just created folder
|
||||||
|
|
||||||
|
### Configure environment variables
|
||||||
|
1. Set your mysql username and password parameters as environment variables:
|
||||||
|
`export MYSQL_USER=YOUR_USERNAME` `export MYSQL_ROOT_PASSWORD=YOUR_ROOT_PASSWORD` `export MYSQL_PASSWORD=YOUR_USER_PASSWORD` `export MYSQL_DATABASE=YOUR_DATABASE_NAME`
|
||||||
|
2. Set your domain:
|
||||||
|
`export DOMAIN=YOUR_DOMAIN.com`
|
||||||
|
2. Alternatively you can set all these variables in `.env` file and export all at once on the system startup by adding the following command to your .bashrc:
|
||||||
|
`export $(<PATH_TO_THE_REPOSITORY/.env)`
|
||||||
|
|
||||||
|
### Create the traccar configuration file
|
||||||
|
1. Create a `traccar.xml` file with your configuration inside the folder `traccar/conf/`
|
||||||
|
1. A sample configuration file is provided on `traccar/conf/sample_traccar.xml`
|
||||||
|
1. Replace `[DATABASE]` with your MySQL database name
|
||||||
|
1. Replace `[USER]` with your MySQL username
|
||||||
|
1. Replace `[PASSWORD]` with your MySQL passoword
|
||||||
|
1. For more details on the available options fro traccar configuration file, pelase check: https://www.traccar.org/configuration-file/
|
||||||
|
|
||||||
|
### Create the traefik configuration file
|
||||||
|
1. Create a `traefik.toml` file with your configuration inside the folder `traefik/`
|
||||||
|
1. A sample configuration file is provided on `traefik/traefik_sample.toml`. The standard login\username for the Web UI is admin\admin
|
||||||
|
1. For configuration examples, including Let's Encrypt support please check https://docs.traefik.io/v1.7/user-guide/examples/
|
||||||
|
|
||||||
|
### Restore the database
|
||||||
|
#### IF YOU HAVE A DATABASE BACKUP, ENSURE YOU DO THIS BEFORE STARTING TRACCAR-SERVER
|
||||||
|
1. In the machine and the respective folder where the backup is located, transfer the backup file to the VPS:
|
||||||
|
`rsync -avzhe ssh ./backup.sql user@VPS_ip:~/backup.sql`
|
||||||
|
2. Connect to the VPS via SSH:
|
||||||
|
`ssh user@VPS_ip`
|
||||||
|
2. Step into the clonned repository:
|
||||||
|
`cd traccar-server`
|
||||||
|
2. Run the MySQL database:
|
||||||
|
`docker-compose up -d db`
|
||||||
|
2. Check if everything is working via the commands:
|
||||||
|
`docker-compose ps` or `docker ps`
|
||||||
|
`docker-compose logs`
|
||||||
|
3. Transfer the last backup to the database:
|
||||||
|
`docker exec -i db sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" "$MYSQL_DATABASE"' < ~/backup.sql`
|
||||||
|
|
||||||
|
### Execute all the services
|
||||||
|
`docker-compose up -d` or `docker-compose up -d --build --force-recreate` to force recreation of image and container
|
||||||
|
Check if everything is working via the commands:
|
||||||
|
`docker-compose ps` or `docker ps`
|
||||||
|
Check the logs of each container via the command:
|
||||||
|
`docker-compose logs container_name`
|
||||||
|
|
||||||
|
### Other useful repositories
|
||||||
|
- **[mysql-autobackup](https://github.com/RafaelMiquelino/mysql-autobackup):** Perform periodic backup of your traccar MySQL database.
|
||||||
|
- **[rclone-autobackup](https://github.com/RafaelMiquelino/rclone-autobackup):** Sync your database backups to the cloud.
|
||||||
|
- **[flask-text-reader](https://github.com/RafaelMiquelino/flask-text-reader):** Make your Traccar log file reachable from the browser
|
||||||
|
|
||||||
|
|
||||||
|
To run all the services together, clone all the repositories to your machine, define the same compose project name for all of them at the `.env` file located on each repository and run each service through the `docker-compose up -d` command on each repository.
|
||||||
|
|
||||||
BIN
data/ca.pem
Normal file
BIN
data/ca.pem
Normal file
Binary file not shown.
BIN
data/client-cert.pem
Normal file
BIN
data/client-cert.pem
Normal file
Binary file not shown.
BIN
data/public_key.pem
Normal file
BIN
data/public_key.pem
Normal file
Binary file not shown.
BIN
data/server-cert.pem
Normal file
BIN
data/server-cert.pem
Normal file
Binary file not shown.
49
docker-compose.yml
Normal file
49
docker-compose.yml
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: mysql:8.0.13
|
||||||
|
container_name: db
|
||||||
|
command: --default-authentication-plugin=mysql_native_password
|
||||||
|
restart: always
|
||||||
|
env_file: .env
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- db-datavolume:/var/lib/mysql
|
||||||
|
# - ./data:/var/lib/mysql
|
||||||
|
- ./mysql:/etc/mysql/conf.d
|
||||||
|
# ports:
|
||||||
|
# - "3306:3306"
|
||||||
|
|
||||||
|
traccar:
|
||||||
|
image: traccar/traccar:4.8-alpine
|
||||||
|
container_name: traccar
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./traccar/conf/traccar.xml:/opt/traccar/conf/traccar.xml:ro
|
||||||
|
- ./var/log/traccar:/opt/traccar/logs:rw
|
||||||
|
- ./traccar/web/favicon.ico:/opt/traccar/web/favicon.ico:ro
|
||||||
|
- ./traccar/web/icon.png:/opt/traccar/web/icon.png:ro
|
||||||
|
- ./traccar/web/logo.svg:/opt/traccar/web/logo.svg:ro
|
||||||
|
- ./traccar/web/release.html:/opt/traccar/web/release.html:ro
|
||||||
|
- ./traccar/web/app.css:/opt/traccar/web/app.css:ro
|
||||||
|
environment:
|
||||||
|
- VIRTUAL_HOST=track.franv.site
|
||||||
|
- LETSENCRYPT_HOST=track.franv.site
|
||||||
|
- LETSENCRYPT_EMAIL=ouch@thetrauma.org
|
||||||
|
- VIRTUAL_PORT=8082
|
||||||
|
- TRUSTED_PROXY=nginx-proxy
|
||||||
|
|
||||||
|
ports:
|
||||||
|
- "5055:5055"
|
||||||
|
- "8082:8082"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
volumes:
|
||||||
|
db-datavolume:
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
external:
|
||||||
|
name: franvproxy_proxy-tier
|
||||||
57
docker-compose.yml.bak
Normal file
57
docker-compose.yml.bak
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: mysql:8.0.13
|
||||||
|
container_name: db
|
||||||
|
command: --default-authentication-plugin=mysql_native_password
|
||||||
|
restart: always
|
||||||
|
env_file: .env
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- db-datavolume:/var/lib/mysql
|
||||||
|
- ./mysql:/etc/mysql/conf.d
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
labels:
|
||||||
|
- traefik.enable=false
|
||||||
|
traccar:
|
||||||
|
image: traccar/traccar:4.8-alpine
|
||||||
|
container_name: traccar
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./traccar/conf/traccar.xml:/opt/traccar/conf/traccar.xml:ro
|
||||||
|
- /var/log/traccar:/opt/traccar/logs:rw
|
||||||
|
- ./traccar/web/favicon.ico:/opt/traccar/web/favicon.ico:ro
|
||||||
|
- ./traccar/web/icon.png:/opt/traccar/web/icon.png:ro
|
||||||
|
- ./traccar/web/logo.svg:/opt/traccar/web/logo.svg:ro
|
||||||
|
- ./traccar/web/release.html:/opt/traccar/web/release.html:ro
|
||||||
|
- ./traccar/web/app.css:/opt/traccar/web/app.css:ro
|
||||||
|
ports:
|
||||||
|
- "5000-5150:5000-5150"
|
||||||
|
- "8082:8082"
|
||||||
|
labels:
|
||||||
|
- traefik.http.routers.traccar.rule=Host(`web.${DOMAIN}`)
|
||||||
|
- traefik.http.services.traccar_web.loadbalancer.server.port=8082
|
||||||
|
rev_proxy:
|
||||||
|
image: traefik:v2.2
|
||||||
|
container_name: rev_proxy
|
||||||
|
restart: always
|
||||||
|
env_file: .env
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
- "8080:8080"
|
||||||
|
labels:
|
||||||
|
- traefik.http.routers.api.rule=Host(`proxy.${DOMAIN}`)
|
||||||
|
- traefik.http.routers.api.service=api@internal
|
||||||
|
- traefik.http.routers.api.middlewares=auth
|
||||||
|
- traefik.http.middlewares.auth.basicauth.users=${AUTH_USER_PASSWORD}
|
||||||
|
volumes:
|
||||||
|
- ./traefik/traefik.toml:/traefik.toml
|
||||||
|
- ./traefik/acme.json:/acme.json
|
||||||
|
- /var/log/traefik:/logs
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
volumes:
|
||||||
|
db-datavolume:
|
||||||
38
docker-compose.yml.good
Normal file
38
docker-compose.yml.good
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: mysql:8.0.13
|
||||||
|
container_name: db
|
||||||
|
command: --default-authentication-plugin=mysql_native_password
|
||||||
|
restart: always
|
||||||
|
env_file: .env
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
# - db-datavolume:/var/lib/mysql
|
||||||
|
- ./data:/var/lib/mysql
|
||||||
|
- ./mysql:/etc/mysql/conf.d
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
|
||||||
|
traccar:
|
||||||
|
image: traccar/traccar:4.8-alpine
|
||||||
|
container_name: traccar
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./traccar/conf/traccar.xml:/opt/traccar/conf/traccar.xml:ro
|
||||||
|
- /var/log/traccar:/opt/traccar/logs:rw
|
||||||
|
- ./traccar/web/favicon.ico:/opt/traccar/web/favicon.ico:ro
|
||||||
|
- ./traccar/web/icon.png:/opt/traccar/web/icon.png:ro
|
||||||
|
- ./traccar/web/logo.svg:/opt/traccar/web/logo.svg:ro
|
||||||
|
- ./traccar/web/release.html:/opt/traccar/web/release.html:ro
|
||||||
|
- ./traccar/web/app.css:/opt/traccar/web/app.css:ro
|
||||||
|
ports:
|
||||||
|
- "5055:5055"
|
||||||
|
- "8083:8082"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
#volumes:
|
||||||
|
# db-datavolume:
|
||||||
16
index.html
Normal file
16
index.html
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||||
|
<title>Traccar</title>
|
||||||
|
<link rel="icon" sizes="192x192" href="/icon.png">
|
||||||
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
|
||||||
|
<link rel="stylesheet" href="app.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="spinner"></div>
|
||||||
|
<div id="attribution">Powered by <a href="https://www.traccar.org/">Traccar GPS Tracking System</a></div>
|
||||||
|
<script id="loadScript" src="load.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
32
mysql/my.cnf
Normal file
32
mysql/my.cnf
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
[mysqld]
|
||||||
|
local_infile=ON
|
||||||
|
performance_schema=OFF
|
||||||
|
# innodb
|
||||||
|
#innodb_buffer_pool_size=5M
|
||||||
|
#innodb_log_buffer_size=256K
|
||||||
|
#innodb_ft_cache_size=1600000
|
||||||
|
#innodb_ft_total_cache_size=32000000
|
||||||
|
|
||||||
|
# caches
|
||||||
|
#thread_cache_size=0
|
||||||
|
#host_cache_size=0
|
||||||
|
#query_cache_size=0
|
||||||
|
|
||||||
|
#max_connections=10
|
||||||
|
#key_buffer_size=8
|
||||||
|
|
||||||
|
# per thread or per operation settings
|
||||||
|
#thread_stack=131072
|
||||||
|
#sort_buffer_size=32K
|
||||||
|
#read_buffer_size=8200
|
||||||
|
#read_rnd_buffer_size=8200
|
||||||
|
#max_heap_table_size=16K
|
||||||
|
#tmp_table_size=1K
|
||||||
|
#bulk_insert_buffer_size=0
|
||||||
|
#join_buffer_size=128
|
||||||
|
#net_buffer_length=1K
|
||||||
|
#innodb_sort_buffer_size=64K
|
||||||
|
|
||||||
|
#settings that relate to the binary log (if enabled)
|
||||||
|
#binlog_cache_size=4K
|
||||||
|
#binlog_stmt_cache_size=4K
|
||||||
26
traccar/conf/sample_traccar.xml
Normal file
26
traccar/conf/sample_traccar.xml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<?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'>com.mysql.jdbc.Driver</entry>
|
||||||
|
<entry key='database.url'>jdbc:mysql://db:3306/[DATABASE]?serverTimezone=UTC&allowPublicKeyRetrieval=true&useSSL=false&allowMultiQueries=true&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8&sessionVariables=sql_mode=''</entry>
|
||||||
|
<entry key='database.user'>[USER]</entry>
|
||||||
|
<entry key='database.password'>[PASSWORD]</entry>
|
||||||
|
<entry key='database.saveOriginal'>true</entry>
|
||||||
|
|
||||||
|
</properties>
|
||||||
33
traccar/conf/traccar.xml
Normal file
33
traccar/conf/traccar.xml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?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'>com.mysql.jdbc.Driver</entry>
|
||||||
|
<entry key='database.url'>jdbc:mysql://db:3306/traccar_db?serverTimezone=UTC&allowPublicKeyRetrieval=true&useSSL=false&allowMultiQueries=true&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8&sessionVariables=sql_mode=''</entry>
|
||||||
|
<entry key='database.user'>airdog</entry>
|
||||||
|
<entry key='database.password'>chengli197</entry>
|
||||||
|
<entry key='database.saveOriginal'>true</entry>
|
||||||
|
<entry key='mail.smtp.host'>mail.desart.ca</entry>
|
||||||
|
<entry key='mail.smtp.port'>465</entry>
|
||||||
|
<entry key='mail.smtp.ssl.enable'>true</entry>
|
||||||
|
<entry key='mail.smtp.from'>xx@desart.ca</entry>
|
||||||
|
<entry key='mail.smtp.auth'>true</entry>
|
||||||
|
<entry key='mail.smtp.username'>xx@desart.ca</entry>
|
||||||
|
<entry key='mail.smtp.password'>chengli47</entry>
|
||||||
|
|
||||||
|
</properties>
|
||||||
26
traccar/conf/traccar.xml.good
Normal file
26
traccar/conf/traccar.xml.good
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<?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'>com.mysql.jdbc.Driver</entry>
|
||||||
|
<entry key='database.url'>jdbc:mysql://db:3306/traccar_db?serverTimezone=UTC&allowPublicKeyRetrieval=true&useSSL=false&allowMultiQueries=true&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8&sessionVariables=sql_mode=''</entry>
|
||||||
|
<entry key='database.user'>airdog</entry>
|
||||||
|
<entry key='database.password'>chengli197</entry>
|
||||||
|
<entry key='database.saveOriginal'>true</entry>
|
||||||
|
|
||||||
|
</properties>
|
||||||
55
traccar/web/app_sample.css
Normal file
55
traccar/web/app_sample.css
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
.view-color-green {
|
||||||
|
background-color: rgba(77, 250, 144, 0.3);
|
||||||
|
}
|
||||||
|
.view-color-yellow {
|
||||||
|
background-color: rgba(250, 190, 77, 0.3);
|
||||||
|
}
|
||||||
|
.view-color-red {
|
||||||
|
background-color: rgba(255, 84, 104, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.view-item-disabled {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toolbar-header-style {
|
||||||
|
background-color: #5fa2dd !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.x-border-layout-ct, div.x-border-layout-ct {
|
||||||
|
background-color: #bbbbbb !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.x-fieldset {
|
||||||
|
overflow: visible !important; /* workaround for Safari issue */
|
||||||
|
}
|
||||||
|
|
||||||
|
#attribution {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 10px;
|
||||||
|
right: 15px;
|
||||||
|
font-size: x-small;
|
||||||
|
}
|
||||||
|
|
||||||
|
#spinner:before {
|
||||||
|
content: '';
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
margin-top: -30px;
|
||||||
|
margin-left: -30px;
|
||||||
|
border-radius: 50%;
|
||||||
|
border-top: 6px solid #5fa2dd;
|
||||||
|
border-right: 6px solid transparent;
|
||||||
|
animation: spinner .6s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spinner {
|
||||||
|
to {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
BIN
traccar/web/favicon_sample.ico
Normal file
BIN
traccar/web/favicon_sample.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
BIN
traccar/web/icon_sample.png
Normal file
BIN
traccar/web/icon_sample.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.8 KiB |
33
traccar/web/logo_sample.svg
Normal file
33
traccar/web/logo_sample.svg
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
<svg id="svg2985" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="64" viewBox="0 0 240 64" width="240" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<metadata id="metadata2990">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
|
||||||
|
<dc:title/>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g id="layer1">
|
||||||
|
<rect id="rect3778" height="64" width="236.1" y="0" x="0" fill="none"/>
|
||||||
|
<ellipse id="path3038" rx="28.995" ry="28.995" transform="rotate(-30)" cy="43.713" cx="11.713" stroke-width="10.699" fill="#fff"/>
|
||||||
|
<g fill="#336">
|
||||||
|
<circle id="path2993" stroke-width="1.3262" transform="rotate(-30)" cy="43.713" cx="9.4364" r="2.2765"/>
|
||||||
|
<path id="path3004" d="m37.012 24.177-2.8428 3.6128c0.66345 0.52205 1.3255 1.1576 1.7734 1.9333 0.4479 0.77578 0.66726 1.6669 0.78764 2.5025l4.5502-0.65558c-0.193-1.42-0.633-2.804-1.394-4.123s-1.74-2.391-2.874-3.27z" stroke-width="1.0095"/>
|
||||||
|
<path id="path3014" d="m42.504 16.9-2.8428 3.6128c1.607 1.2355 3.0914 2.7935 4.1679 4.6581s1.6835 3.9291 1.95 5.9386l4.5502-0.65558c-0.33967-2.5954-1.1669-5.1513-2.5573-7.5594-1.3903-2.4081-3.1901-4.4025-5.268-5.9944z" stroke-width="1.0095"/>
|
||||||
|
<path id="path3036" d="m2.607 52.819a9.1058 9.1058 0 0 1 -7.8859 -4.5529 9.1058 9.1058 0 0 1 0 -9.1058 9.1058 9.1058 0 0 1 7.8859 -4.5529l-2e-7 9.1058z" transform="rotate(-30)" stroke-width="3.6204"/>
|
||||||
|
<path id="path3038-8" d="m17.502 6.8895c-13.868 8.0065-18.619 25.74-10.612 39.608 8.006 13.868 25.739 18.619 39.608 10.613 13.868-8.007 18.619-25.74 10.613-39.609-8.007-13.868-25.74-18.619-39.609-10.612zm1.706 2.9541c12.237-7.0648 27.884-2.8722 34.948 9.3644 7.065 12.237 2.873 27.884-9.364 34.948-12.237 7.065-27.884 2.873-34.948-9.364-7.0652-12.237-2.8726-27.884 9.364-34.948z" stroke-width="1.0095"/>
|
||||||
|
<g id="text3003" aria-label="Traccar">
|
||||||
|
<path id="path4172" d="m89.719 48.671h-3.915v-30.192h-10.663v-3.4775h25.241v3.4775h-10.663v30.192z"/>
|
||||||
|
<path id="path4174" d="m116.36 22.969q1.6812 0 3.0169 0.27636l-0.52968 3.5466q-1.566-0.34544-2.7636-0.34544-3.063 0-5.2508 2.4872-2.1648 2.4872-2.1648 6.195v13.541h-3.8229v-25.241h3.1551l0.43756 4.675h0.18424q1.4048-2.4642 3.3854-3.7999t4.3526-1.3357z"/>
|
||||||
|
<path id="path4176" d="m139.62 48.671-0.75998-3.5926h-0.18424q-1.8884 2.3721-3.7769 3.2242-1.8654 0.82907-4.675 0.82907-3.7538 0-5.8956-1.9345-2.1187-1.9345-2.1187-5.5041 0-7.6459 12.229-8.0143l4.2835-0.13818v-1.566q0-2.9708-1.2897-4.3756-1.2666-1.4278-4.0763-1.4278-3.1551 0-7.1392 1.9345l-1.1745-2.9248q1.8654-1.0133 4.0762-1.589 2.2339-0.57574 4.4678-0.57574 4.5138 0 6.6786 2.0036 2.1878 2.0036 2.1878 6.4253v17.226h-2.8326zm-8.6361-2.6945q3.5696 0 5.5962-1.9575 2.0496-1.9575 2.0496-5.4811v-2.2799l-3.8229 0.16121q-4.5599 0.16121-6.5865 1.4278-2.0036 1.2436-2.0036 3.892 0 2.0727 1.2436 3.1551 1.2666 1.0824 3.5236 1.0824z"/>
|
||||||
|
<path id="path4178" d="m160.44 49.131q-5.4811 0-8.498-3.3623-2.9939-3.3854-2.9939-9.5573 0-6.3332 3.0399-9.7876 3.063-3.4545 8.7052-3.4545 1.8194 0 3.6387 0.3915t2.8557 0.92119l-1.1745 3.2472q-1.2666-0.50665-2.7636-0.82907-1.4969-0.34544-2.6484-0.34544-7.6919 0-7.6919 9.8106 0 4.652 1.8654 7.1392 1.8884 2.4872 5.5732 2.4872 3.1551 0 6.4713-1.3588v3.3854q-2.5333 1.3127-6.3792 1.3127z"/>
|
||||||
|
<path id="path4180" d="m182.92 49.131q-5.4811 0-8.498-3.3623-2.9939-3.3854-2.9939-9.5573 0-6.3332 3.0399-9.7876 3.063-3.4545 8.7052-3.4545 1.8193 0 3.6387 0.3915t2.8557 0.92119l-1.1745 3.2472q-1.2666-0.50665-2.7636-0.82907-1.4969-0.34544-2.6484-0.34544-7.6919 0-7.6919 9.8106 0 4.652 1.8654 7.1392 1.8884 2.4872 5.5732 2.4872 3.1551 0 6.4714-1.3588v3.3854q-2.5333 1.3127-6.3792 1.3127z"/>
|
||||||
|
<path id="path4182" d="m210.83 48.671-0.75998-3.5926h-0.18424q-1.8884 2.3721-3.7769 3.2242-1.8654 0.82907-4.675 0.82907-3.7538 0-5.8956-1.9345-2.1187-1.9345-2.1187-5.5041 0-7.6459 12.229-8.0143l4.2835-0.13818v-1.566q0-2.9708-1.2897-4.3756-1.2666-1.4278-4.0762-1.4278-3.1551 0-7.1392 1.9345l-1.1745-2.9248q1.8654-1.0133 4.0762-1.589 2.2339-0.57574 4.4678-0.57574 4.5138 0 6.6786 2.0036 2.1878 2.0036 2.1878 6.4253v17.226h-2.8326zm-8.6361-2.6945q3.5696 0 5.5962-1.9575 2.0496-1.9575 2.0496-5.4811v-2.2799l-3.8229 0.16121q-4.5599 0.16121-6.5865 1.4278-2.0036 1.2436-2.0036 3.892 0 2.0727 1.2436 3.1551 1.2666 1.0824 3.5235 1.0824z"/>
|
||||||
|
<path id="path4184" d="m233.08 22.969q1.6812 0 3.0169 0.27636l-0.52968 3.5466q-1.566-0.34544-2.7636-0.34544-3.0629 0-5.2508 2.4872-2.1648 2.4872-2.1648 6.195v13.541h-3.8229v-25.241h3.1551l0.43757 4.675h0.18423q1.4048-2.4642 3.3854-3.7999t4.3526-1.3357z"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 4.7 KiB |
16
traccar/web/release_sample.html
Normal file
16
traccar/web/release_sample.html
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||||
|
<title>Traccar</title>
|
||||||
|
<link rel="icon" sizes="192x192" href="/icon.png">
|
||||||
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
|
||||||
|
<link rel="stylesheet" href="app.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="spinner"></div>
|
||||||
|
<div id="attribution">Powered by <a href="https://www.traccar.org/">Traccar GPS Tracking System</a></div>
|
||||||
|
<script id="loadScript" src="load.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
5
traefik/traefik_sample.toml
Normal file
5
traefik/traefik_sample.toml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[api]
|
||||||
|
dashboard = true
|
||||||
|
|
||||||
|
[providers.docker]
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user