51 lines
1.7 KiB
YAML
51 lines
1.7 KiB
YAML
# documentation: https://www.traccar.org/documentation/
|
|
# slogan: Traccar is a free and open source modern GPS tracking system.
|
|
# tags: traccar,gps,tracking,open,source
|
|
# logo: svgs/traccar.png
|
|
# port: 8082
|
|
|
|
services:
|
|
traccar:
|
|
image: traccar/traccar:latest
|
|
environment:
|
|
- SERVICE_FQDN_TRACCAR_8082
|
|
- SERVICE_FQDN_TRACCARAPI_5159
|
|
- CONFIG_USE_ENVIRONMENT_VARIABLES=${CONFIG_USE_ENVIRONMENT_VARIABLES:-true}
|
|
- DATABASE_USER=${SERVICE_USER_POSTGRES}
|
|
- DATABASE_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
|
volumes:
|
|
- type: bind
|
|
source: ./srv/traccar/conf/traccar.xml
|
|
target: /opt/traccar/conf/traccar.xml
|
|
content: |
|
|
<?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>
|
|
<entry key='database.driver'>org.postgresql.Driver</entry>
|
|
<entry key='database.url'>jdbc:postgresql://postgres:5432/traccar</entry>
|
|
</properties>
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:8082/ping"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 15s
|
|
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
environment:
|
|
- POSTGRES_USER=$SERVICE_USER_POSTGRES
|
|
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
|
- POSTGRES_DB=${POSTGRESQL_DATABASE:-traccar}
|
|
volumes:
|
|
- traccar-postgresql-data:/var/lib/postgresql/data/
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
|
interval: 5s
|
|
timeout: 20s
|
|
retries: 10
|