Files
nix/packages/docker/gitea-act-runner/default.nix
2025-08-18 11:11:12 +03:00

58 lines
1.4 KiB
Nix

{ pkgs, ... }:
let
entrypoint = pkgs.writeTextFile {
name = "entrypoint";
executable = true;
destination = "/bin/entrypoint";
text = builtins.readFile ./entrypoint.sh;
};
runnerConfig = pkgs.writeTextDir "/etc/gitea-act-runner/config.yaml" (
builtins.readFile (
(pkgs.formats.yaml { }).generate "config.yaml" {
runner = {
file = "/var/lib/gitea-act-runner/registration";
capacity = 4;
labels = [
"ubuntu-latest:docker://catthehacker/ubuntu:act-latest"
"ubuntu-22.04:docker://catthehacker/ubuntu:act-22.04"
"ubuntu-20.04:docker://catthehacker/ubuntu:act-20.04"
"ubuntu-18.04:docker://catthehacker/ubuntu:act-18.04"
];
};
cache.dir = "/tmp/gitea-act-runner/";
# https://gitea.com/gitea/act_runner/issues/223#issuecomment-743748
container.docker_host = "-";
}
)
);
in
pkgs.dockerTools.buildImage {
name = "gitea-act-runner";
fromImage = pkgs.docker-image-base;
copyToRoot = pkgs.buildEnv {
name = "root";
paths = with pkgs; [
entrypoint
gitea-actions-runner
runnerConfig
curl
jq
];
pathsToLink = [
"/bin"
"/etc"
];
};
config = {
Entrypoint = [ "entrypoint" ];
WorkDir = "/var/lib/gitea-act-runner";
Volumes = {
"/var/lib/gitea-act-runner" = { };
"/tmp/gitea-act-runner" = { };
};
};
}