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: privateprivate-plugins-storage/
βββ src
βββ plugindemo
βββ demo.go
βββ demo_test.go
βββ .gitignore
βββ .golangci.toml
βββ go.mod
βββ LICENSE
βββ Makefile
βββ readme.md
βββ .traefik.yml