Run Forgejo actions on forge
This commit is contained in:
parent
81724b7030
commit
5d0f3077d3
2 changed files with 49 additions and 3 deletions
|
|
@ -48,6 +48,7 @@ Ship the static web change with the existing Worker asset deploy and roll the pu
|
||||||
binary to the LA nodes so their catalogs match the current watcher schema. Validate with clean-cache
|
binary to the LA nodes so their catalogs match the current watcher schema. Validate with clean-cache
|
||||||
desktop/mobile browser loads and check the app's `window.__ecPerf` marks plus a live tune through the
|
desktop/mobile browser loads and check the app's `window.__ecPerf` marks plus a live tune through the
|
||||||
public relay. The Forgejo workflows use the locally registered `namespace-profile-linux-medium`
|
public relay. The Forgejo workflows use the locally registered `namespace-profile-linux-medium`
|
||||||
runner label so the Cloudflare deploy can actually leave the queue on the self-hosted forge.
|
runner label and ecp-forge runs a persistent `forgejo-runner-agent` service with a normal shell
|
||||||
Teardown is removing the HTML seed/cache/warmup path, returning to live-API-only station rendering,
|
tool PATH so the Cloudflare deploy can actually leave the queue on the self-hosted forge. Teardown is
|
||||||
and explicitly passing `--passthrough=false` only if an older watcher path is restored.
|
removing the HTML seed/cache/warmup path, returning to live-API-only station rendering, and
|
||||||
|
explicitly passing `--passthrough=false` only if an older watcher path is restored.
|
||||||
|
|
|
||||||
|
|
@ -72,6 +72,16 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
groups.conradev = { };
|
groups.conradev = { };
|
||||||
|
groups.forgejo-runner = {
|
||||||
|
gid = 984;
|
||||||
|
};
|
||||||
|
users.forgejo-runner = {
|
||||||
|
uid = 989;
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "forgejo-runner";
|
||||||
|
home = "/var/lib/forgejo-runner-agent";
|
||||||
|
createHome = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.loader = {
|
boot.loader = {
|
||||||
|
|
@ -203,6 +213,41 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d /var/lib/forgejo-runner-agent 0750 forgejo-runner forgejo-runner -"
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.services.forgejo-runner-agent = {
|
||||||
|
description = "Forgejo Actions runner for every.channel";
|
||||||
|
after = [ "network-online.target" "forgejo.service" ];
|
||||||
|
wants = [ "network-online.target" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
path = with pkgs; [
|
||||||
|
bash
|
||||||
|
coreutils
|
||||||
|
curl
|
||||||
|
git
|
||||||
|
gnugrep
|
||||||
|
gnused
|
||||||
|
gnutar
|
||||||
|
gzip
|
||||||
|
nix
|
||||||
|
which
|
||||||
|
zstd
|
||||||
|
];
|
||||||
|
environment = {
|
||||||
|
HOME = "/var/lib/forgejo-runner-agent";
|
||||||
|
};
|
||||||
|
serviceConfig = {
|
||||||
|
User = "forgejo-runner";
|
||||||
|
Group = "forgejo-runner";
|
||||||
|
WorkingDirectory = "/var/lib/forgejo-runner-agent";
|
||||||
|
ExecStart = "${pkgs.forgejo-runner}/bin/forgejo-runner --config /var/lib/forgejo-runner-agent/runner.yaml daemon";
|
||||||
|
Restart = "always";
|
||||||
|
RestartSec = "10s";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.caddy = {
|
services.caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
email = "infra@every.channel";
|
email = "infra@every.channel";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue