From 2b3c2a8d4a991a983d95b1b9bacbc9c7fc344ed5 Mon Sep 17 00:00:00 2001 From: kalipso Date: Tue, 19 Nov 2024 22:35:33 +0100 Subject: [PATCH] [wikijs] init --- machines/configuration.nix | 9 +++++ machines/wikijs/configuration.nix | 56 +++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 machines/wikijs/configuration.nix diff --git a/machines/configuration.nix b/machines/configuration.nix index a2c2456..062e3ec 100644 --- a/machines/configuration.nix +++ b/machines/configuration.nix @@ -99,4 +99,13 @@ in ./lucia/hardware_configuration.nix ]; }; + + wikijs = nixosSystem { + system = "x86_64-linux"; + specialArgs.inputs = inputs; + modules = makeMicroVM "wikijs" "10.0.0.7" [ + ./wikijs/configuration.nix + ]; + }; + } diff --git a/machines/wikijs/configuration.nix b/machines/wikijs/configuration.nix new file mode 100644 index 0000000..7c7d2d2 --- /dev/null +++ b/machines/wikijs/configuration.nix @@ -0,0 +1,56 @@ +{ config, lib, pkgs, inputs, ... }: + +with lib; + +{ + networking = { + hostName = mkDefault "wikijs"; + useDHCP = false; + nameservers = [ "1.1.1.1" ]; + }; + + networking.firewall.allowedTCPPorts = [ 3000 ]; + + imports = [ + ../modules/malobeo_user.nix + ../modules/sshd.nix + ../modules/minimal_tools.nix + ../modules/autoupdate.nix + ]; + + malobeo.autoUpdate = { + enable = true; + url = "https://hydra.dynamicdiscord.de"; + project = "malobeo"; + jobset = "infrastructure"; + cacheurl = "https://cache.dynamicdiscord.de"; + }; + + systemd.services.wiki-js = { + requires = [ "postgresql.service" ]; + after = [ "postgresql.service" ]; + }; + + services.wiki-js = { + enable = true; + settings.db = { + db = "wiki-js"; + host = "/run/postgresql"; + type = "postgres"; + user = "wiki-js"; + }; + }; + + services.postgresql = { + enable = true; + ensureDatabases = [ "wiki-js" ]; + ensureUsers = [{ + name = "wiki-js"; + ensureDBOwnership = true; + }]; + }; + + + system.stateVersion = "22.11"; # Did you read the comment? +} +