Go to file
Alexis Couvreur ad4e9ffb8c Add 'plugins/traefik/' from commit 'aef1f9e0dd205ea9cdea9e3ccf11900c5fe79b1f'
git-subtree-dir: plugins/traefik
git-subtree-mainline: 1a14070131
git-subtree-split: aef1f9e0dd
2022-09-30 14:32:09 +00:00
2022-07-23 12:53:23 -04:00
2022-07-23 12:53:23 -04:00
2020-10-21 23:04:33 +02:00
2022-07-23 12:53:23 -04:00
2022-07-23 12:53:23 -04:00
2022-07-23 12:53:23 -04:00

Traefik Ondemand Plugin
Traefik Ondemand Service

Traefik Ondemand Service for traefik-ondemand-plugin to control containers and services.

Github Actions

Features

  • Support for Docker containers
  • Support for Docker swarm mode, scale services
  • Support for Kubernetes Deployments and Statefulsets
  • Start your container/service on the first request
  • Dynamic loading page (cloudflare or grafana cloud style)
  • Automatic scale to zero after configured timeout upon last request the service received
  • Support container/service healthcheck and will not redirect until service is healthy

Usage

CLI

./traefik-ondemand-service --swarmMode=true --kubernetesMode=false

Argument Value Description
swarmMode true,false (default true) Enable/Disable swarm mode. Used to determine the scaler implementation.
kubernetesMode true,false (default false) Enable/Disable Kubernetes mode. Used to determine the scaler implementation.
storagePath path/to/storage/file (default nil) Enables persistent storage, file will be used to load previous state upon starting and will sync the current content to memory into the file every 5 seconds

Docker

  • Docker Hub acouvreur/traefik-ondemand-service
  • Ghcr ghcr.io/acouvreur/traefik-ondemand-service

docker run -v /var/run/docker.sock:/var/run/docker.sock -p 10000:10000 ghcr.io/acouvreur/traefik-ondemand-service:latest --swarmode=true

Kubernetes

see KUBERNETES.md

API

GET <service_url>:10000/?name=<service_name>&timeout=<timeout>
Query param Type Description
name string The docker container name, or the swarm service name
timeout time.Duration The duration after which the container/service will be scaled down to 0
Body Status code Description
started 202 Created The container/service is available
starting 201 Accepted The container/service has been scheduled for starting but is not yet available
Description
Start your containers on demand, shut them down automatically when there's no activity. Docker, Docker Swarm Mode and Kubernetes compatible.
Readme AGPL-3.0 60 MiB
Languages
Go 89.4%
HTML 9.9%
Makefile 0.6%
Dockerfile 0.1%