Service that listens to docker events and runs dokku commands.
- golang 1.22+
This package tails the Docker event stream for container events and performs specific actions depending on those events.
- Container restarts that result in IP address changes will result in call to
dokku nginx:build-configfor the related app. - Containers using the
on-failurerestart policy that die after exhausting their maximum restart retry count will result in a call todokku ps:rebuildfor the related app. Containers using thealwaysorunless-stoppedrestart policies are restarted by Docker itself and are never rebuilt, avoiding an infinite rebuild loop.
Note that this is only performed for Dokku app containers with the docker label com.dokku.app-name. If the container is missing that label, then no action will be performed when that container emits events on the Docker event stream. Use docker inspect <container> to verify see Docker object labels.
Debian packages are available via packagecloud
For a prebuilt binaries, see the github releases page.
A make target is provided for building the package from source.
make buildIn addition, builds can be performed in an isolated Docker container:
make build-docker-image build-in-docker# watch dokku containers
dokku-event-listener