services: traccar: image: "traccar/traccar:${TRACCAR_VERSION}" container_name: "traccar-traccar-${CONTEXT}" networks: traccar-default: profiles: ["full", "traccar"] ulimits: nproc: ${ULIMIT_NPROC-65535} nofile: soft: ${ULIMIT_NPROC-65535} hard: ${ULIMIT_NPROC-65535} extends: file: common-settings.yml service: common-settings ports: - "${TRACCAR_WEBUI_PORT}:8082" - "${TRACCAR_GPS_PORT_EXTERNAL}:${TRACCAR_GPS_PORT_INTERNAL}" volumes: - /opt/docker-data/traccar-${CONTEXT}/traccar/config/traccar.xml:/opt/traccar/conf/traccar.xml:ro - /opt/docker-data/traccar-${CONTEXT}/traccar/data/data:/opt/traccar/data:rw - /opt/docker-data/traccar-${CONTEXT}/traccar/data/logs:/opt/traccar/logs:rw - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro mysql: image: "mysql:${MYSQL_VERSION}" container_name: "traccar-mysql-${CONTEXT}" networks: traccar-default: profiles: ["full", "mysql"] ulimits: nproc: ${ULIMIT_NPROC-65535} nofile: soft: ${ULIMIT_NPROC-65535} hard: ${ULIMIT_NPROC-65535} extends: file: common-settings.yml service: common-settings ports: - "${MYSQL_PORT}:3306" volumes: - /opt/docker-data/traccar-${CONTEXT}/mysql/config/db:/etc/mysql/conf.d - /opt/docker-data/traccar-${CONTEXT}/mysql/config/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d - /opt/docker-data/traccar-${CONTEXT}/mysql/data/datadir:/var/lib/mysql - /opt/docker-data/traccar-${CONTEXT}/mysql/data/tmpdir:/tmp/mysql environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} MYSQL_ROOT_HOST: ${MYSQL_ROOT_HOST} networks: traccar-default: name: traccar-${CONTEXT} driver: bridge driver_opts: com.docker.network.enable_ipv6: "false" ipam: driver: default config: - subnet: ${SUBNET}