Traefik authors do not see the need to add support for private plugins, forcing to use Traefik Pilot.
They have already rejected several pull requests with different implementations of private plugins (#7725, #7515) and explained their position in detail (comment)
This project adds support for private plugins.
Traefik is a big project and maintaining a fork that will contain all the latest updates is too complicated.
I decided to put the support of private plugins into a small patch, which will automatically (using Github Actions) apply to the actual Traefik sources and send the compiled containers to Docker Hub
docker run -p 80:80 -v $PWD/private-plugins-storage:/private-plugins-storage pagran/traefik:v2.4.0
To activate the private plugin, you must specify private
in the version
field and place unpacked plugin into ./private-plugins-storage/src
folder.
For example plugindemo:
experimental:
plugins:
plugindemo:
moduleName: plugindemo
version: private
private-plugins-storage/
└── src
└── plugindemo
├── demo.go
├── demo_test.go
├── .gitignore
├── .golangci.toml
├── go.mod
├── LICENSE
├── Makefile
├── readme.md
└── .traefik.yml