Add gitea runner image
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
8
flake.lock
generated
8
flake.lock
generated
@@ -511,11 +511,11 @@
|
||||
"secrets": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1757583391,
|
||||
"narHash": "sha256-q5ZXkTv0SJw7OMbu2K3b03Fbb+1Hz6ZafqdqGneyX9A=",
|
||||
"lastModified": 1757861884,
|
||||
"narHash": "sha256-s0cInWk/yrj0eY7Iee722ME9/bfjpUj9aKMlnb6q/t4=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "42df461dac05dccd22df0c36007174dd73aa0aea",
|
||||
"revCount": 40,
|
||||
"rev": "383cf08fa55a46c8aa1c5faf57160bf594e5feaa",
|
||||
"revCount": 41,
|
||||
"type": "git",
|
||||
"url": "ssh://git@karaolidis.com/karaolidis/nix-secrets.git"
|
||||
},
|
||||
|
@@ -61,7 +61,12 @@ in
|
||||
home-manager.users.${user} =
|
||||
let
|
||||
autheliaClientId = "I2ZYDFGWP1bzfiauXe94IaiReZF6SqoEskSp6phoL2L8l16Cq7YX3Vr4pkQOSYfNDOwuFjTRIpqQ8eAqK0M93NeEgpr8YoPhKHyR";
|
||||
inherit (hmConfig.virtualisation.quadlet) containers volumes networks;
|
||||
inherit (hmConfig.virtualisation.quadlet)
|
||||
containers
|
||||
volumes
|
||||
networks
|
||||
images
|
||||
;
|
||||
in
|
||||
{
|
||||
sops = {
|
||||
@@ -214,6 +219,16 @@ in
|
||||
gitea-act-runner-cache = { };
|
||||
};
|
||||
|
||||
images.gitea-act-runner-worker.imageConfig = {
|
||||
image = "docker-archive:${pkgs.dockerImages.gitea-act-runner-worker}";
|
||||
tag =
|
||||
let
|
||||
name = pkgs.dockerImages.gitea-act-runner-worker.passthru.buildArgs.name;
|
||||
tag = pkgs.dockerImages.gitea-act-runner-worker.passthru.imageTag;
|
||||
in
|
||||
"localhost/${name}:${tag}";
|
||||
};
|
||||
|
||||
containers = {
|
||||
gitea = {
|
||||
containerConfig = {
|
||||
@@ -278,8 +293,22 @@ in
|
||||
volumes =
|
||||
let
|
||||
uid = builtins.toString config.users.users.${user}.uid;
|
||||
|
||||
runnerConfig = (pkgs.formats.yaml { }).generate "config.yaml" {
|
||||
runner = {
|
||||
file = "/var/lib/gitea-act-runner/registration";
|
||||
capacity = 4;
|
||||
labels = [ "nix:docker://${images.gitea-act-runner-worker.imageConfig.tag}" ];
|
||||
};
|
||||
cache.dir = "/tmp/gitea-act-runner/";
|
||||
container = {
|
||||
privileged = true;
|
||||
docker_host = "-";
|
||||
};
|
||||
};
|
||||
in
|
||||
[
|
||||
"${runnerConfig}:/etc/gitea-act-runner/config.yaml:ro"
|
||||
"/run/user/${uid}/podman/podman.sock:/var/run/docker.sock"
|
||||
"${volumes.gitea-act-runner-data.ref}:/var/lib/gitea-act-runner"
|
||||
"${volumes.gitea-act-runner-cache.ref}:/tmp/gitea-act-runner"
|
||||
|
@@ -170,14 +170,14 @@ in
|
||||
];
|
||||
volumes =
|
||||
let
|
||||
post-setup = pkgs.writeTextFile {
|
||||
postSetup = pkgs.writeTextFile {
|
||||
name = "post-setup.sh";
|
||||
executable = true;
|
||||
text = builtins.readFile ./post-setup.sh;
|
||||
};
|
||||
in
|
||||
[
|
||||
"${post-setup}:/etc/nextcloud/post-setup.sh:ro"
|
||||
"${postSetup}:/etc/nextcloud/post-setup.sh:ro"
|
||||
"/mnt/storage/private/storm/containers/storage/volumes/nextcloud-data/_data:/var/lib/nextcloud"
|
||||
"${volumes.nextcloud-log.ref}:/var/log/nextcloud"
|
||||
"${volumes.nextcloud-config.ref}:/var/www/nextcloud/config"
|
||||
|
@@ -20,6 +20,7 @@ final: prev:
|
||||
flaresolverr = final.docker-image-flaresolverr;
|
||||
gitea = final.docker-image-gitea;
|
||||
gitea-act-runner = final.docker-image-gitea-act-runner;
|
||||
gitea-act-runner-worker = final.docker-image-gitea-act-runner-worker;
|
||||
grafana = final.docker-image-grafana;
|
||||
grafana-image-renderer = final.docker-image-grafana-image-renderer;
|
||||
jellyfin = final.docker-image-jellyfin;
|
||||
|
@@ -13,6 +13,7 @@
|
||||
docker-image-flaresolverr = import ./docker/flaresolverr { inherit pkgs; };
|
||||
docker-image-gitea = import ./docker/gitea { inherit pkgs; };
|
||||
docker-image-gitea-act-runner = import ./docker/gitea-act-runner { inherit pkgs; };
|
||||
docker-image-gitea-act-runner-worker = import ./docker/gitea-act-runner-worker { inherit pkgs; };
|
||||
docker-image-grafana = import ./docker/grafana { inherit pkgs; };
|
||||
docker-image-grafana-image-renderer = import ./docker/grafana-image-renderer { inherit pkgs; };
|
||||
docker-image-jellyfin = import ./docker/jellyfin { inherit pkgs; };
|
||||
|
37
packages/docker/gitea-act-runner-worker/default.nix
Normal file
37
packages/docker/gitea-act-runner-worker/default.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
containerPolicy = pkgs.writeTextDir "/etc/containers/policy.json" (
|
||||
builtins.readFile (
|
||||
(pkgs.formats.json { }).generate "policy.json" {
|
||||
default = [ { type = "insecureAcceptAnything"; } ];
|
||||
transports.docker-daemon."" = [ { type = "insecureAcceptAnything"; } ];
|
||||
}
|
||||
)
|
||||
);
|
||||
in
|
||||
pkgs.dockerTools.buildImage {
|
||||
name = "gitea-act-runner-worker";
|
||||
fromImage = pkgs.docker-image-base;
|
||||
|
||||
copyToRoot = pkgs.buildEnv {
|
||||
name = "root";
|
||||
paths = with pkgs; [
|
||||
git
|
||||
curl
|
||||
jq
|
||||
nix
|
||||
nodejs
|
||||
buildah
|
||||
skopeo
|
||||
containerPolicy
|
||||
];
|
||||
pathsToLink = [
|
||||
"/bin"
|
||||
"/etc"
|
||||
];
|
||||
};
|
||||
|
||||
runAsRoot = ''
|
||||
mkdir -p /var/tmp
|
||||
'';
|
||||
}
|
@@ -10,16 +10,7 @@ let
|
||||
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"
|
||||
];
|
||||
};
|
||||
runner.file = "/var/lib/gitea-act-runner/registration";
|
||||
cache.dir = "/tmp/gitea-act-runner/";
|
||||
# https://gitea.com/gitea/act_runner/issues/223#issuecomment-743748
|
||||
container.docker_host = "-";
|
||||
|
11
patches.nix
11
patches.nix
@@ -1 +1,10 @@
|
||||
{ patcher, ... }: { }
|
||||
{ patcher, ... }:
|
||||
{
|
||||
quadlet-nix.patches = [
|
||||
(patcher.fetchpatch {
|
||||
name = "feat: supports images";
|
||||
url = "https://github.com/SEIAROTg/quadlet-nix/compare/main...karaolidis:quadlet-nix:image.diff";
|
||||
hash = "sha256-XLdOrSJ/gyLARGI0psBejtpX9Z2NSRTaUbFtBi8BxPw=";
|
||||
})
|
||||
];
|
||||
}
|
||||
|
Submodule submodules/secrets updated: 42df461dac...383cf08fa5
Reference in New Issue
Block a user