9 Commits

Author SHA1 Message Date
c090ec9282 Merge pull request 'nrec-actions-runner' (#47) from nrec-actions-runner into master
Reviewed-on: #47
2026-03-08 22:22:49 +00:00
8c909837ab workflows: remove flake-check and flake-update
Removing to rewrite with improvements.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:21:03 +01:00
93aa91f307 nrec-nixos02: add Forgejo Actions runner with Podman
Adds a container-based Forgejo Actions runner on nrec-nixos02
connecting to code.t-juice.club, using Podman for sandboxed
job execution with nix, node-bookworm, and alpine labels.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:17:27 +01:00
00f46af628 nrec-nixos01: use code.t-juice.club for Forgejo
Some checks failed
Run nix flake check / flake-check (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 18:50:54 +01:00
97ad5f6a35 Merge pull request 'nrec-nixos02: add Pocket ID with Caddy reverse proxy' (#46) from nrec-pocket-id into master
Some checks failed
Run nix flake check / flake-check (push) Has been cancelled
Reviewed-on: #46
2026-03-08 17:13:15 +00:00
a27e2ec213 nrec-nixos02: add Pocket ID with Caddy reverse proxy
Some checks failed
Run nix flake check / flake-check (push) Has been cancelled
Run nix flake check / flake-check (pull_request) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 18:11:49 +01:00
01906e81f9 nrec-nixos01: use lfs.enable instead of raw setting
Some checks failed
Run nix flake check / flake-check (push) Failing after 10m28s
The NixOS module's lfs.enable option properly handles LFS JWT secret
generation via forgejo-secrets.service, fixing the permission denied
error on app.ini.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 15:15:35 +01:00
09ec4f9e8c nrec-nixos01: enable Git LFS and hide explore page
Some checks failed
Run nix flake check / flake-check (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 15:12:26 +01:00
fc53681b2a Merge pull request 'nrec-nixos01: add Forgejo with Caddy reverse proxy' (#45) from nrec-forgejo into master
Some checks failed
Run nix flake check / flake-check (push) Failing after 4m25s
Reviewed-on: #45
2026-03-08 13:50:47 +00:00
8 changed files with 140 additions and 44 deletions

View File

@@ -1,14 +0,0 @@
name: Run nix flake check
on:
push:
pull_request:
jobs:
flake-check:
runs-on: ubuntu-latest
container:
image: ghcr.io/catthehacker/ubuntu:runner-latest
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v27
- run: nix flake check

View File

@@ -1,27 +0,0 @@
---
name: Periodic flake update
on: # yamllint disable-line rule:truthy
schedule:
- cron: "0 0 * * *"
permissions:
contents: write
jobs:
flake-update:
runs-on: ubuntu-latest
container:
image: ghcr.io/catthehacker/ubuntu:runner-latest
steps:
- uses: actions/checkout@v3
with:
ref: master
- uses: cachix/install-nix-action@v27
- name: configure git
run: |
git config --global user.name 'torjus-bot'
git config --global user.email 'torjus-bot@git.t-juice.club'
- name: flake update
run: nix flake update --commit-lock-file
- name: push
run: git push

View File

@@ -227,6 +227,15 @@
./hosts/nrec-nixos01
];
};
nrec-nixos02 = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit inputs self;
};
modules = commonModules ++ [
./hosts/nrec-nixos02
];
};
openstack-template = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {

View File

@@ -65,7 +65,7 @@
services.caddy = {
enable = true;
virtualHosts."nrec-nixos01.t-juice.club" = {
virtualHosts."code.t-juice.club" = {
extraConfig = ''
reverse_proxy 127.0.0.1:3000
'';

View File

@@ -0,0 +1,85 @@
{ lib, pkgs, ... }:
{
services.openssh = {
enable = true;
settings = {
PermitRootLogin = lib.mkForce "no";
PasswordAuthentication = false;
};
};
users.users.nixos = {
isNormalUser = true;
extraGroups = [ "wheel" ];
shell = pkgs.zsh;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAwfb2jpKrBnCw28aevnH8HbE5YbcMXpdaVv2KmueDu6 torjus@gunter"
];
};
security.sudo.wheelNeedsPassword = false;
programs.zsh.enable = true;
homelab.dns.enable = false;
homelab.monitoring.enable = false;
homelab.host.labels.ansible = "false";
fileSystems."/" = {
device = "/dev/disk/by-label/nixos";
fsType = "ext4";
autoResize = true;
};
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/vda";
networking.hostName = "nrec-nixos02";
networking.useNetworkd = true;
networking.useDHCP = false;
services.resolved.enable = true;
systemd.network.enable = true;
systemd.network.networks."ens3" = {
matchConfig.Name = "ens3";
networkConfig.DHCP = "ipv4";
linkConfig.RequiredForOnline = "routable";
};
time.timeZone = "Europe/Oslo";
networking.firewall.enable = true;
networking.firewall.allowedTCPPorts = [
22
80
443
];
nix.settings.substituters = [
"https://cache.nixos.org"
];
nix.settings.trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
];
services.pocket-id = {
enable = true;
settings = {
APP_URL = "https://oidc.t-juice.club";
TRUST_PROXY = true;
ANALYTICS_DISABLED = true;
VERSION_CHECK_DISABLED = true;
HOST = "127.0.0.1";
};
};
services.caddy = {
enable = true;
virtualHosts."oidc.t-juice.club" = {
extraConfig = ''
reverse_proxy 127.0.0.1:1411
'';
};
};
zramSwap.enable = true;
system.stateVersion = "25.11";
}

View File

@@ -0,0 +1,9 @@
{ modulesPath, ... }:
{
imports = [
./configuration.nix
../../system/packages.nix
../../services/actions-runner
(modulesPath + "/profiles/qemu-guest.nix")
];
}

View File

@@ -0,0 +1,32 @@
{ config, pkgs, ... }:
{
virtualisation.podman = {
enable = true;
dockerCompat = true;
dockerSocket.enable = true;
};
services.gitea-actions-runner = {
package = pkgs.forgejo-runner;
instances.actions1 = {
enable = true;
name = config.networking.hostName;
url = "https://code.t-juice.club";
tokenFile = "/var/lib/forgejo-runner/token";
labels = [
"nix:docker://nixos/nix:latest"
"node-bookworm:docker://node:lts-bookworm-slim"
"alpine:docker://alpine:latest"
];
settings = {
runner.capacity = 2;
cache = {
enabled = true;
dir = "/var/cache/forgejo-runner";
};
container.privileged = false;
};
};
};
}

View File

@@ -3,14 +3,16 @@
services.forgejo = {
enable = true;
database.type = "sqlite3";
lfs.enable = true;
settings = {
server = {
DOMAIN = "nrec-nixos01.t-juice.club";
ROOT_URL = "https://nrec-nixos01.t-juice.club/";
DOMAIN = "code.t-juice.club";
ROOT_URL = "https://code.t-juice.club/";
HTTP_ADDR = "127.0.0.1";
HTTP_PORT = 3000;
};
service.DISABLE_REGISTRATION = true;
"service.explore".REQUIRE_SIGNIN_VIEW = true;
session.COOKIE_SECURE = true;
};
};