58 lines
2.0 KiB
YAML
58 lines
2.0 KiB
YAML
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:
|