From 3e078a2d1baa04b71aee3d0e25da4dd71e731b32 Mon Sep 17 00:00:00 2001 From: Tigor Hutasuhut Date: Sun, 28 Jul 2024 22:18:27 +0700 Subject: [PATCH] homeserver: added memos podman service --- options/podman.nix | 1 + profiles/homeserver.nix | 1 + system/podman/default.nix | 1 + system/podman/memos.nix | 47 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 50 insertions(+) create mode 100644 system/podman/memos.nix diff --git a/options/podman.nix b/options/podman.nix index 3834d19..6d818d3 100644 --- a/options/podman.nix +++ b/options/podman.nix @@ -14,6 +14,7 @@ in qbittorrent.enable = lib.mkEnableOption "qbittorrent podman"; openobserve.enable = lib.mkEnableOption "openobserve podman"; minecraft.enable = mkEnableOption "minecraft server podman"; + memos.enable = mkEnableOption "memos podman"; servarr = { enable = mkEnableOption "servarr group"; diff --git a/profiles/homeserver.nix b/profiles/homeserver.nix index 2ef51e3..b4402cc 100644 --- a/profiles/homeserver.nix +++ b/profiles/homeserver.nix @@ -38,6 +38,7 @@ servarr.rdtclient.enable = true; openobserve.enable = true; minecraft.enable = true; + memos.enable = true; }; docker = { diff --git a/system/podman/default.nix b/system/podman/default.nix index 4aae289..e3d81fd 100644 --- a/system/podman/default.nix +++ b/system/podman/default.nix @@ -41,6 +41,7 @@ in # 10.88.0.6 -> Suwayomi Flaresolverr # 10.88.1.1 -> Pihole imports = [ + ./memos.nix ./minecraft.nix ./openobserve.nix ./pihole.nix diff --git a/system/podman/memos.nix b/system/podman/memos.nix new file mode 100644 index 0000000..1b30305 --- /dev/null +++ b/system/podman/memos.nix @@ -0,0 +1,47 @@ +{ config, lib, ... }: +let + name = "memos"; + podman = config.profile.podman; + inherit (lib) mkIf; + ip = "10.88.88.1"; + image = "docker.io/neosmemo/memos:stable"; + rootVolume = "/nas/podman/memos"; + domain = "${name}.tigor.web.id"; + user = config.profile.user; + uid = toString user.uid; + gid = toString user.gid; +in +{ + config = mkIf (podman.enable && podman.${name}.enable) { + services.caddy.virtualHosts.${domain}.extraConfig = '' + reverse_proxy ${ip}:5230 + ''; + + system.activationScripts."podman-${name}" = '' + mkdir -p ${rootVolume} + chown ${uid}:${gid} ${rootVolume} + ''; + + virtualisation.oci-containers.containers.${name} = { + inherit image; + hostname = name; + autoStart = true; + user = "${uid}:${gid}"; + environment = { + TZ = "Asia/Jakarta"; + # MEMOS_PUBLIC = "true"; + }; + volumes = [ + "${rootVolume}:/var/opt/memos" + ]; + extraOptions = [ + "--network=podman" + "--ip=${ip}" + ]; + labels = { + "io.containers.autoupdate" = "registry"; + }; + }; + }; + +}