70 lines
1.8 KiB
YAML
70 lines
1.8 KiB
YAML
services:
|
|
traefik:
|
|
image: traefik:3
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.traefik.service=api@internal"
|
|
- "traefik.http.routers.traefik.rule=Host(`localhost`)"
|
|
- "traefik.http.routers.traefik.entrypoints=traefik"
|
|
networks:
|
|
- traefik
|
|
ports:
|
|
- target: 8080
|
|
published: 8080
|
|
protocol: tcp
|
|
- target: 8081
|
|
published: 8081
|
|
protocol: tcp
|
|
volumes:
|
|
# So that Traefik can listen to the Docker events
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
# To persist ACME data (certificates, account, etc)
|
|
- ./traefik.yml:/traefik.yml:ro
|
|
- ./config.yml:/config/config.yml:ro
|
|
# mount plugin
|
|
- ../:/plugins-local/src/github.com/astappiev/traefik-umami-feeder
|
|
|
|
restart: unless-stopped
|
|
|
|
whoami:
|
|
image: containous/whoami
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.services.whoami.loadbalancer.server.port=80"
|
|
- "traefik.http.routers.whoami.service=whoami"
|
|
- "traefik.http.routers.whoami.rule=Host(`localhost`)"
|
|
- "traefik.http.routers.whoami.entrypoints=whoami"
|
|
# middleware
|
|
- "traefik.http.routers.whoami.middlewares=umami@file"
|
|
|
|
networks:
|
|
- traefik
|
|
|
|
umami:
|
|
image: ghcr.io/umami-software/umami:postgresql-latest
|
|
depends_on:
|
|
- postgres
|
|
environment:
|
|
- DATABASE_URL=postgres://umami:umami@postgres:5432/umami
|
|
ports:
|
|
- target: 3000
|
|
published: 3000
|
|
protocol: tcp
|
|
networks:
|
|
- traefik
|
|
- umami_postgres
|
|
|
|
postgres:
|
|
image: postgres:16
|
|
environment:
|
|
- POSTGRES_PASSWORD=umami
|
|
- POSTGRES_DB=umami
|
|
- POSTGRES_USER=umami
|
|
networks:
|
|
- umami_postgres
|
|
volumes:
|
|
- ./postgres:/var/lib/postgresql/data
|
|
|
|
networks:
|
|
traefik:
|
|
umami_postgres:
|