commit b8c4e671c226805def369f05c74c3bfef7fbc7a0 Author: Simon Bruder Date: Sat Oct 10 13:01:07 2020 +0200 Initial commit diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..e33d835 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,14 @@ +kind: pipeline +name: default + +steps: + - name: docker + image: plugins/docker + settings: + registry: r.sbruder.de + username: + from_secret: docker_username + password: + from_secret: docker_password + repo: r.sbruder.de/drone-nix-runner + squash: true # since we move the nix store and don’t want to store it twice diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..caf10a8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM nixos/nix + +RUN mv /nix/store/ /nix/store-upstream/ + +# installed from alpine to not pollute nix store +RUN apk add --no-cache \ + git \ + git-lfs \ + rsync \ + su-exec + +ARG DRONE_RUNNER_EXEC_VERSION=1.0.0-beta.9 +RUN wget -O- https://github.com/drone-runners/drone-runner-exec/releases/download/v${DRONE_RUNNER_EXEC_VERSION}/drone_runner_exec_linux_amd64.tar.gz | tar -C /usr/local/bin -xzvf- +COPY entrypoint.sh / + +ENTRYPOINT ["/entrypoint.sh"] +ENV DRONE_RUNNER_ENVIRON=NIX_PATH:nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixpkgs + +EXPOSE 3000 diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100755 index 0000000..0474b89 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh +echo "Restoring upstream nix store…" +mkdir -p /nix/store +chmod 1775 /nix/store +chgrp nixbld /nix/store +rsync -a /nix/store-upstream/./ /nix/store +nix-daemon & +exec su-exec nobody:nogroup /usr/local/bin/drone-runner-exec