Host forgejo
on sisko
And runner on `picard`
This commit is contained in:
parent
7f3441fc76
commit
a088e336dc
8 changed files with 113 additions and 6 deletions
|
@ -117,6 +117,7 @@
|
||||||
"autistici-password".owner = "ccr";
|
"autistici-password".owner = "ccr";
|
||||||
"restic-hetzner-password" = {};
|
"restic-hetzner-password" = {};
|
||||||
"aws-credentials".owner = "hercules-ci-agent";
|
"aws-credentials".owner = "hercules-ci-agent";
|
||||||
|
"forgejo-runners-token".owner = "forgejo-runners";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
"greetd"
|
"greetd"
|
||||||
"syncthing"
|
"syncthing"
|
||||||
"hass-poweroff"
|
"hass-poweroff"
|
||||||
|
"forgejo-runners"
|
||||||
]
|
]
|
||||||
++ [
|
++ [
|
||||||
./disko.nix
|
./disko.nix
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
"syncthing"
|
"syncthing"
|
||||||
"minio"
|
"minio"
|
||||||
"matrix"
|
"matrix"
|
||||||
|
"forgejo"
|
||||||
]
|
]
|
||||||
++ [
|
++ [
|
||||||
./disko.nix
|
./disko.nix
|
||||||
|
|
25
modules/forgejo-runners/default.nix
Normal file
25
modules/forgejo-runners/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
users.users.forgejo-runners = {
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "forgejo-runners";
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups.forgejo-runners = {};
|
||||||
|
|
||||||
|
services.gitea-actions-runner.instances.test = {
|
||||||
|
enable = true;
|
||||||
|
name = "test";
|
||||||
|
url = "https://git.aciceri.dev";
|
||||||
|
tokenFile = config.age.secrets.forgejo-runners-token.file;
|
||||||
|
labels = ["test"];
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.gitea-runner-test.serviceConfig = {
|
||||||
|
User = lib.mkForce "forgejo-runners";
|
||||||
|
Group = lib.mkForce "forgejo-runners";
|
||||||
|
};
|
||||||
|
}
|
44
modules/forgejo/default.nix
Normal file
44
modules/forgejo/default.nix
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
services.forgejo = {
|
||||||
|
enable = true;
|
||||||
|
stateDir = "/mnt/hd/forgejo";
|
||||||
|
settings = {
|
||||||
|
DEFAULT = {
|
||||||
|
RUN_MODE = "dev";
|
||||||
|
APP_NAME = "git.aciceri.dev";
|
||||||
|
};
|
||||||
|
session.COOKIE_SECURE = true;
|
||||||
|
service.DISABLE_REGISTRATION = true;
|
||||||
|
server = {
|
||||||
|
HTTP_PORT = 3002;
|
||||||
|
ROOT_URL = "https://git.aciceri.dev";
|
||||||
|
};
|
||||||
|
other = {
|
||||||
|
SHOW_FOOTER_VERSION = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dump.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d ${config.services.forgejo.stateDir} 770 forgejo forgejo"
|
||||||
|
];
|
||||||
|
|
||||||
|
backup.paths = [
|
||||||
|
config.services.forgejo.stateDir
|
||||||
|
];
|
||||||
|
|
||||||
|
imports = [../nginx-base];
|
||||||
|
|
||||||
|
services.nginx.virtualHosts = {
|
||||||
|
"git.aciceri.dev" = {
|
||||||
|
enableACME = true;
|
||||||
|
forceSSL = true;
|
||||||
|
locations."/".proxyPass = "http://127.0.0.1:${builtins.toString config.services.forgejo.settings.server.HTTP_PORT}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -41,8 +41,13 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d ${config.services.matrix-synapse.dataDir} 770 matrix-synapse matrix-synapse"
|
||||||
|
];
|
||||||
|
|
||||||
services.matrix-synapse = {
|
services.matrix-synapse = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
dataDir = "/mnt/hd/matrix-synapse";
|
||||||
settings = {
|
settings = {
|
||||||
server_name = "aciceri.dev";
|
server_name = "aciceri.dev";
|
||||||
public_baseurl = "https://matrix.aciceri.dev";
|
public_baseurl = "https://matrix.aciceri.dev";
|
||||||
|
@ -66,7 +71,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
backup.paths = [
|
backup.paths = [
|
||||||
"/var/lib/matrix-synapse"
|
config.services.matrix-synapse.dataDir
|
||||||
"/var/backup/postgresql/matrix-synapse.sql.gz"
|
"/var/backup/postgresql/matrix-synapse.sql.gz"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
29
secrets/forgejo-runners-token.age
Normal file
29
secrets/forgejo-runners-token.age
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
age-encryption.org/v1
|
||||||
|
-> ssh-rsa /AagBw
|
||||||
|
Z16SvgU6/7dOl+1UxJkOjXGRWzj6EwS2Df+4PwSaxraCN3bZmFKbS/XoHKfrl+IM
|
||||||
|
HWLtHspDOCFVDoncA4RrhjhFmZFXEYHLQhvaK6br274ALahEPf3kNZWfHntVKJyy
|
||||||
|
wLyBnGpW5hscln1X/NSC0xXkUKfmZAE6lkpFj/C3TUZpIKnQ6LFpyGs5mAj6PEuY
|
||||||
|
amPVOotBSGgbJQed8JpmWcX8XiO05cfPEi6oSiDkauXKGVSzWfXk3GSChzBl/Y2a
|
||||||
|
8llIvJ9BNy6cFC0d7pZBJrpV1FXlDxo6LxkC6WeUzMJH7s44UvOhVbjPp0dNjLLD
|
||||||
|
AqYotOWm6r4KMBlpUU8q+9t4ipBRDYhxEgjZyuEfwXcXilJJ0IYYLwGSlkTFbGUQ
|
||||||
|
RwiZnRHbdHrpkysTRemLbZl4ZqvCcV9k+uGDaVLNnYZoXmO1jd3A49lr4Pg31niQ
|
||||||
|
wdfEhbQF2m3ERERiNgz/FkO2jXp8uRKPvFnkFkeE5rf3p7rA8iNdAAIKOkMtqn23
|
||||||
|
u5RRNDXx547Z47C7DaXpzu91wa7cp1PmAgsuvvO0+7EWCIkZh+CsSuJqQwFbGuTf
|
||||||
|
RUK/cxLjU3M/1WyedNaWRt4g6WfbBGptuLJgGV7dAR+4sJdNTD2wCeovmBnAjk4z
|
||||||
|
uz0BrfQjkLgFk8h2/nNShCshHqjo6WgbS/0uhHyVFCA
|
||||||
|
-> ssh-rsa QHr3/A
|
||||||
|
EoP1VXE5X5h6XHFzfE+vdAQHA92DqOAu+d4DFPTUJMjns3roMcW1Q0p0B288H7zl
|
||||||
|
lo2Q+9MmQNkSCdeJbAZBirUidr9UHRrQqONHxa9Dc3Q9vx82Z2M+BYJ+wiVyEX3x
|
||||||
|
8yZwuVl2W0zjQzhSmkymFQJHsMLD8icMH5gQSL2nS38Dbm2qtD0zkUPg4wYchy8p
|
||||||
|
Yzu9OotRT1AigoSjBgUG4ChlZSLmKFlHPI3Fkh80OsflobhM80jkMDQ1n66G2GLv
|
||||||
|
0swhI5vBbHbwUbEl0LJpKKsY4zBLm91dIAa4m3L95WNEr21YwplLZ+FV2deExfkZ
|
||||||
|
rimqEjsS2lJMpul7ondDDuG2u3Wr7tTkKgfotu3+Es8oOtOsvnmhQOZS1uYYK9mu
|
||||||
|
kiyg3RDo0CN78VN0XSw/oPNxR6xVDA9eNbn4mnXoPf8jZHxJ9mjZ64zusNgN8TuU
|
||||||
|
Yr/GlnJoTOkbjPvqtRDA+uz6ovhq9KIExhDXMAelmoxs3BmAyAXkGX+6f8ds0ZWA
|
||||||
|
I6hrhaY1hqbnyyNf18pldvi0XhI4CoD3VVCc5qeMN4aSfKM6Sz+vlRiiKY0snwa0
|
||||||
|
2OnCbcTJbxFr/niQI27d/T2G8P9LYumY38Ez+FLhCdICTmaCKjzsIkujGzzd/M8l
|
||||||
|
nWC3BxPuWlvBs3frX5Ujun0UKyqWZCpRNZXNQwWr2L0
|
||||||
|
-> ssh-ed25519 /WmILg Q88RuUxDh5UDcN6I7sbvIcYnY8sl4wN9e72pk9MKCXo
|
||||||
|
yd0XyHfUuYAr+gcB2q95JlddvYj61IkweeRH/YA4SYo
|
||||||
|
--- 3vWlg+QLHC83h7gKBavcsZPVO/twVSbWNhRHQBwnoQA
|
||||||
|
a¡Lùw§…5‡$£^zîdF©Ôè“àºþÿ"ã—.<2E>à'·¢0*¢'^>aîyÊÚ²øÀ£ª#o£ùI.ÁœÄìqÌÞÊ@£!BÒaÉ!†•dªÎyË[ÒëÚ£(ÑWuk ¨<C2AD>Äôš³
|
|
@ -22,6 +22,7 @@ in
|
||||||
"restic-hetzner-password.age".publicKeys = [ccr-ssh ccr-gpg picard sisko kirk];
|
"restic-hetzner-password.age".publicKeys = [ccr-ssh ccr-gpg picard sisko kirk];
|
||||||
"hass-ssh-key.age".publicKeys = [ccr-ssh ccr-gpg sisko];
|
"hass-ssh-key.age".publicKeys = [ccr-ssh ccr-gpg sisko];
|
||||||
"matrix-registration-shared-secret.age".publicKeys = [ccr-ssh ccr-gpg sisko];
|
"matrix-registration-shared-secret.age".publicKeys = [ccr-ssh ccr-gpg sisko];
|
||||||
|
"forgejo-runners-token.age".publicKeys = [ccr-ssh ccr-gpg picard];
|
||||||
|
|
||||||
# WireGuard
|
# WireGuard
|
||||||
"picard-wireguard-private-key.age".publicKeys = [ccr-ssh ccr-gpg picard];
|
"picard-wireguard-private-key.age".publicKeys = [ccr-ssh ccr-gpg picard];
|
||||||
|
|
Loading…
Add table
Reference in a new issue