forked from pub-solar/os
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.
This commit is contained in:
parent
59c1a23660
commit
e3f7f43338
|
@ -20,4 +20,5 @@ with final; {
|
|||
ps-signal-desktop = writeShellScriptBin "signal-desktop" (import ./ps-signal-desktop.nix final);
|
||||
|
||||
scan2paperless = writeShellScriptBin "scan2paperless" (import ./scan2paperless.nix final);
|
||||
drone-docker-runner = writeShellScriptBin "drone-docker-runner" (import ./drone-docker-runner.nix final);
|
||||
}
|
||||
|
|
32
pkgs/drone-docker-runner.nix
Normal file
32
pkgs/drone-docker-runner.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
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
|
||||
|
||||
''
|
Loading…
Reference in a new issue