mirror of
https://github.com/sablierapp/sablier.git
synced 2025-12-25 14:59:16 +01:00
70 lines
3.2 KiB
YAML
70 lines
3.2 KiB
YAML
version: "3.7"
|
|
|
|
services:
|
|
traefik:
|
|
image: traefik:v2.11.5
|
|
command:
|
|
- --experimental.localPlugins.sablier.moduleName=github.com/acouvreur/sablier
|
|
- --entryPoints.http.address=:80
|
|
- --providers.docker=true
|
|
- --providers.file.filename=/etc/traefik/dynamic-config.yml
|
|
ports:
|
|
- "8080:80"
|
|
volumes:
|
|
- '/var/run/docker.sock:/var/run/docker.sock'
|
|
- '../../../..:/plugins-local/src/github.com/acouvreur/sablier'
|
|
- './dynamic-config.yml:/etc/traefik/dynamic-config.yml'
|
|
restart: "no"
|
|
|
|
sablier:
|
|
image: acouvreur/sablier:local
|
|
command:
|
|
- start
|
|
- --provider.name=docker
|
|
- --logging.level=trace
|
|
volumes:
|
|
- '/var/run/docker.sock:/var/run/docker.sock'
|
|
labels:
|
|
- traefik.enable=true
|
|
# Dynamic Middleware
|
|
- traefik.http.middlewares.dynamic.plugin.sablier.names=docker_classic_e2e-whoami-1
|
|
- traefik.http.middlewares.dynamic.plugin.sablier.sablierUrl=http://sablier:10000
|
|
- traefik.http.middlewares.dynamic.plugin.sablier.sessionDuration=1m
|
|
- traefik.http.middlewares.dynamic.plugin.sablier.dynamic.DisplayName=Dynamic Whoami
|
|
- traefik.http.middlewares.dynamic.plugin.sablier.dynamic.theme=hacker-terminal
|
|
# Blocking Middleware
|
|
- traefik.http.middlewares.blocking.plugin.sablier.names=docker_classic_e2e-whoami-1
|
|
- traefik.http.middlewares.blocking.plugin.sablier.sablierUrl=http://sablier:10000
|
|
- traefik.http.middlewares.blocking.plugin.sablier.sessionDuration=1m
|
|
- traefik.http.middlewares.blocking.plugin.sablier.blocking.timeout=30s
|
|
# Multiple Dynamic Middleware
|
|
- traefik.http.middlewares.multiple.plugin.sablier.names=docker_classic_e2e-whoami-1,docker_classic_e2e-nginx-1
|
|
- traefik.http.middlewares.multiple.plugin.sablier.sablierUrl=http://sablier:10000
|
|
- traefik.http.middlewares.multiple.plugin.sablier.sessionDuration=1m
|
|
- traefik.http.middlewares.multiple.plugin.sablier.dynamic.displayName=Multiple Whoami
|
|
# Healthy Middleware
|
|
- traefik.http.middlewares.healthy.plugin.sablier.names=docker_classic_e2e-nginx-1
|
|
- traefik.http.middlewares.healthy.plugin.sablier.sablierUrl=http://sablier:10000
|
|
- traefik.http.middlewares.healthy.plugin.sablier.sessionDuration=1m
|
|
- traefik.http.middlewares.healthy.plugin.sablier.dynamic.displayName=Healthy Nginx
|
|
|
|
whoami:
|
|
image: containous/whoami:v1.5.0
|
|
# Cannot use labels because as soon as the container is stopped, the labels are not treated by Traefik
|
|
# The route doesn't exist anymore. Use dynamic-config.yml file instead.
|
|
# labels:
|
|
# - traefik.enable
|
|
# - traefik.http.routers.whoami.rule=PathPrefix(`/whoami`)
|
|
# - traefik.http.routers.whoami.middlewares=ondemand
|
|
|
|
nginx:
|
|
image: nginx:1.27.0
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost"]
|
|
interval: 5s
|
|
# Cannot use labels because as soon as the container is stopped, the labels are not treated by Traefik
|
|
# The route doesn't exist anymore. Use dynamic-config.yml file instead.
|
|
# labels:
|
|
# - traefik.enable
|
|
# - traefik.http.routers.nginx.rule=PathPrefix(`/nginx`)
|
|
# - traefik.http.routers.nginx.middlewares=ondemand |