feat(koi): forgejo runners

This commit is contained in:
alina 🌸 2024-12-11 08:59:22 +03:00
parent e4b356f3ff
commit 662edf9561
Signed by: teidesu
SSH key fingerprint: SHA256:uNeCpw6aTSU4aIObXLvHfLkDa82HWH9EiOj9AXOIRpI
4 changed files with 49 additions and 0 deletions

View file

@ -22,6 +22,7 @@
./services/postgresql.nix
./services/landing
./services/geesefs.nix
./services/actions-runner
./containers/torrent.nix
./containers/soulseek

View file

@ -0,0 +1,12 @@
FROM node:23.4.0-alpine AS node
FROM docker:27-dind
COPY --from=node /usr/local/bin/node /usr/local/bin/node
COPY --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules
COPY --from=node /usr/local/include/node /usr/local/include/node
RUN apk add libstdc++ bash && \
ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && \
ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx && \
ln -s /usr/local/lib/node_modules/corepack/dist/corepack.js /usr/local/bin/corepack

View file

@ -0,0 +1,36 @@
{ config, pkgs, ... }:
{
desu.secrets.forgejo-runners-token = {};
systemd.services.actions-runner-build-dind = {
description = "dind image builder for actions runner";
after = [ "docker.service" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.docker}/bin/docker build -t local/actions-runner-dind -f ${./Dockerfile.dind} .";
};
};
systemd.services.gitea-runner-koi.requires = [ "actions-runner-build-dind.service" ];
services.gitea-actions-runner = {
package = pkgs.forgejo-runner;
instances.koi = {
name = "koi";
enable = true;
url = "https://codeberg.org";
tokenFile = config.desu.secrets.forgejo-runners-token.path;
labels = [
"node18:docker://node:18-bullseye"
"node20:docker://node:20-bullseye"
"node22:docker://node:22-bullseye"
"docker:docker://local/actions-runner-dind"
];
settings = {
runner.capacity = 8;
};
};
};
}

Binary file not shown.