You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Maxim Zalysin 0911d55b28 Update Docker platforms supports 11 months ago
.github/workflows Update Docker platforms supports 11 months ago
Dockerfile.alpine Update Docker platforms supports 11 months ago
Dockerfile.debian Update to v5.8 12 months ago
Dockerfile.ubuntu Update to v5.8 12 months ago
README.md Update Docker platforms supports 11 months ago

README.md

Traccar in Docker

Traccar GPS Tracking System in Docker image.

Official website: https://www.traccar.org
DockerHub image: https://hub.docker.com/r/traccar/traccar
Maintainer: Maxim Zalysin

Available tags:

5.X

  • 5.8-alpine, 5-alpine, alpine, 5.8, 5, latest
  • 5.8-debian, 5-debian, debian
  • 5.8-ubuntu, 5-ubuntu, ubuntu
  • ...
  • 5.0, 5.0-alpine / 5.0-debian / 5.0-ubuntu

4.X

  • 4.15, 4.15-alpine / 4.15-debian / 4.15-ubuntu
  • ...
  • 4.0, 4.0-alpine / 4.0-debian

3.X

  • 3.17, 3.17-alpine / 3.17-debian
  • 3.16, 3.16-alpine / 3.16-debian

Available multi-platform images:

Alpine based: linux/amd64
Debian based: linux/amd64, linux/arm64
Ubuntu based: linux/amd64, linux/arm/v7, linux/arm64

Container create example:

  1. Create work directories:

    mkdir -p /opt/traccar/logs
    
  2. Get default traccar.xml:

    docker run \
    --rm \
    --entrypoint cat \
    traccar/traccar:latest \
    /opt/traccar/conf/traccar.xml > /opt/traccar/traccar.xml
    
  3. Edit traccar.xml: https://www.traccar.org/configuration-file/

  4. Create container:

    docker run \
    --name traccar \
    --hostname traccar \
    --detach --restart unless-stopped \
    --publish 80:8082 \
    --publish 5000-5150:5000-5150 \
    --publish 5000-5150:5000-5150/udp \
    --volume /opt/traccar/logs:/opt/traccar/logs:rw \
    --volume /opt/traccar/traccar.xml:/opt/traccar/conf/traccar.xml:ro \
    traccar/traccar:latest
    

Database

The default when executing the above docker run command is an internal H2 database but this should only be for basic use.
The docker run command also doesn't create a mount point on the host for the data folder which will cause the database to be lost when the container is recreated. This point can be mitigated by adding the line -v /var/docker/traccar/data:/opt/traccar/data:rw \ after -v /var/docker/traccar/traccar.xml:/opt/traccar/conf/traccar.xml:ro \ but it will still be using the H2 database.
The recommended solution for production use is to link to an external MySQL database and update the configuration .xml-file according to the Traccar MySQL documentation and using the docker run command as-is.

Default JVM options:

  • -Xms1g
  • -Xmx1g
  • -Djava.net.preferIPv4Stack=true