88 lines
3 KiB
YAML
88 lines
3 KiB
YAML
version: "3.3"
|
|
|
|
services:
|
|
traefik:
|
|
image: "traefik:v2.11"
|
|
restart: unless-stopped
|
|
container_name: "proxy"
|
|
command:
|
|
- "--log.level=DEBUG"
|
|
- "--providers.docker=true"
|
|
- "--providers.docker.exposedbydefault=false"
|
|
- "--entrypoints.web.address=:8082"
|
|
ports:
|
|
- "8082:8082"
|
|
volumes:
|
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
|
|
home:
|
|
image: "jo2024/home"
|
|
restart: unless-stopped
|
|
container_name: "home-service"
|
|
build:
|
|
context: .
|
|
dockerfile: ./home/Dockerfile
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.home-service.entrypoints=web"
|
|
- "traefik.http.routers.home.rule=PathPrefix(`/`)"
|
|
- "traefik.http.routers.home.middlewares=home-stripprefix"
|
|
- "traefik.http.middlewares.home-stripprefix.stripprefix.prefixes=/"
|
|
- "traefik.http.routers.home-service.priority=1"
|
|
- "traefik.http.routers.home-service.service=home-service"
|
|
- "traefik.http.services.home-service.loadbalancer.server.port=80"
|
|
- "traefik.http.services.home-service.loadbalancer.server.scheme=http"
|
|
- "traefik.http.services.home-service.loadbalancer.passhostheader=true"
|
|
|
|
athlete:
|
|
image: "jo2024/athlete"
|
|
restart: unless-stopped
|
|
container_name: "athlete-service"
|
|
build:
|
|
context: .
|
|
dockerfile: ./athlete/Dockerfile
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.athletes-service.entrypoints=web"
|
|
- "traefik.http.routers.athletes.rule=PathPrefix(`/athletes{regex:$$|/.*}`) || PathPrefix(`/swagger{regex:$$|/.*}`)"
|
|
- "traefik.http.routers.athletes.middlewares=athletes-stripprefix"
|
|
- "traefik.http.middlewares.athletes-stripprefix.stripprefix.prefixes=/athletes"
|
|
volumes:
|
|
- "athlete:/app/data"
|
|
|
|
discipline:
|
|
image: "jo2024/discipline"
|
|
restart: unless-stopped
|
|
container_name: "discipline-service"
|
|
build:
|
|
context: .
|
|
dockerfile: ./discipline/Dockerfile
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.disciplines-service.entrypoints=web"
|
|
- "traefik.http.routers.disciplines.rule=PathPrefix(`/disciplines{regex:$$|/.*}`)"
|
|
- "traefik.http.routers.disciplines.middlewares=disciplines-stripprefix"
|
|
- "traefik.http.middlewares.disciplines-stripprefix.stripprefix.prefixes=/disciplines"
|
|
volumes:
|
|
- "discipline:/app/data"
|
|
|
|
medaille:
|
|
image: "jo2024/medaille"
|
|
restart: unless-stopped
|
|
container_name: "medaille-service"
|
|
build:
|
|
context: .
|
|
dockerfile: ./medaille/Dockerfile
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.medaille-service.entrypoints=web"
|
|
- "traefik.http.routers.medaille.rule=PathPrefix(`/medailles{regex:$$|/.*}`)"
|
|
- "traefik.http.routers.medaille.middlewares=medaille-stripprefix"
|
|
- "traefik.http.middlewares.medaille-stripprefix.stripprefix.prefixes=/medailles"
|
|
volumes:
|
|
- "medaille:/app/data"
|
|
|
|
volumes:
|
|
athlete:
|
|
discipline:
|
|
medaille: |