Compare commits

..

8 commits

4 changed files with 13 additions and 12 deletions

View file

@ -10,6 +10,7 @@
server = { server = {
baseDomain = "jsw.tf"; baseDomain = "jsw.tf";
derek-bot.enable = true; derek-bot.enable = true;
derek-site.enable = true;
forgejo = { forgejo = {
enable = true; enable = true;
subDomain = "git"; subDomain = "git";

View file

@ -23,7 +23,7 @@ in {
owner = "derek-bot"; owner = "derek-bot";
}; };
derek-site = isEnabled "derek-site" { derek-site = isEnabled "derek-site" {
file = ./derek-bot.age; file = ./derek-site.age;
owner = "derek-site"; owner = "derek-site";
}; };
# matrix-registration = isEnabled "matrix" { # matrix-registration = isEnabled "matrix" {

Binary file not shown.

View file

@ -18,17 +18,14 @@
programDir = "${mainDir}/program"; programDir = "${mainDir}/program";
denoDir = "${mainDir}/deno"; denoDir = "${mainDir}/deno";
path = builtins.concatStringsSep ":" (map (x: "${x}/bin/") [pkgs.coreutils pkgs.deno pkgs.git]); path = builtins.concatStringsSep ":" (map (x: "${x}/bin/") [pkgs.coreutils pkgs.deno pkgs.git pkgs.nodejs]);
run = pkgs.writeShellScriptBin "geen-dolfijn" ''
cd "${programDir}"
export $(grep -v '^#' "${config.age.secrets.${userGroup}.path}" | xargs)
deno run preview
'';
in { in {
options.niksos.server.${name}.enable = mkEnableOption name; options.niksos.server.${name}.enable = mkEnableOption name;
config = mkIf cfg { config = mkIf cfg {
services.caddy.virtualHosts."geen-dolfijn.nl".extraConfig = ''
reverse_proxy http://127.0.0.1:9010
'';
systemd.services.${userGroup} = { systemd.services.${userGroup} = {
enable = true; enable = true;
after = ["network.target"]; after = ["network.target"];
@ -54,24 +51,27 @@ in {
cd "${programDir}" cd "${programDir}"
git fetch git fetch
git reset --hard origin/HEAD git reset --hard origin/HEAD
rm -rf build || echo no build here lol
DENO_DIR=${denoDir} deno i cp "${config.age.secrets.${userGroup}.path}" "./src/lib/secrets.json"
DENO_DIR=${denoDir} deno i --allow-scripts=npm:workerd,npm:sharp
DENO_DIR=${denoDir} deno run build || echo oopsie woopsie error
''; '';
serviceConfig = { serviceConfig = {
StateDirectory = userGroup; StateDirectory = userGroup;
ExecStart = getExe run; ExecStart = "${bash} -c 'cd ${programDir} && deno run preview --host --port 9010'";
User = userGroup; User = userGroup;
Group = userGroup; Group = userGroup;
Restart = "always"; Restart = "always";
RuntimeMaxSec = 1 * 60 * 60; # 1h * 60min * 60s
}; };
}; };
users.groups.${userGroup} = {}; users.groups.${userGroup} = {};
users.users.${userGroup} = { users.users.${userGroup} = {
group = userGroup; group = userGroup;
isSystemUser = true; isNormalUser = true;
}; };
}; };
} }