os/pkgs/drone-docker-runner.nix
Benjamin Bädorf e3f7f43338
Add docker drone runner wrapper
Adds a small sh wrapper around a drone runner docker container. The
`stop` and `logs` functionality is barely better than using straight up
docker, but at least it saves you from having to know any of the
implementation details.
2022-05-02 23:44:31 +02:00

33 lines
870 B
Nix

self: with self; ''
case $1 in
start)
${self.docker}/bin/docker run --detach \
--volume=/var/run/docker.sock:/var/run/docker.sock \
--env=DRONE_RPC_PROTO=$DRONE_RPC_PROTO \
--env=DRONE_RPC_HOST=$DRONE_RPC_HOST \
--env=DRONE_RPC_SECRET=$(${self.libsecret}/bin/secret-tool lookup drone rpc-secret) \
--env=DRONE_RUNNER_CAPACITY=4 \
--env=DRONE_RUNNER_NAME=$(${self.inetutils}/bin/hostname) \
--publish=3000:3000 \
--restart=always \
--name=drone-runner \
drone/drone-runner-docker:1
;;
stop)
${self.docker}/bin/docker stop drone-runner
${self.docker}/bin/docker rm drone-runner
;;
logs)
${self.docker}/bin/docker logs drone-runner
;;
*)
echo "Usage: drone-docker-runner <start|stop|logs>"
exit 1;
;;
esac
''