diff --git a/config/common.nix b/config/common.nix index 0e401c9..336be8f 100644 --- a/config/common.nix +++ b/config/common.nix @@ -12,8 +12,8 @@ { # Bootloader #boot.loader.limine.enable = true; - #boot.loader.grub.enable = false; - boot.loader.systemd-boot.enable = true; + boot.loader.grub.enable = false; + #boot.loader.systemd-boot.enable = true; #boot.loader.limine.secureBoot.enable = true; boot.loader.efi.canTouchEfiVariables = true; diff --git a/home/podman.nix b/home/podman.nix index 33127d2..a72e1d2 100644 --- a/home/podman.nix +++ b/home/podman.nix @@ -11,6 +11,29 @@ services.podman.autoUpdate.onCalendar = "*-*-* 00:00"; services.podman.containers = { +# palworld = { +# image = "docker.io/thijsvanloef/palworld-server-docker:latest"; +# autoStart = true; +# autoUpdate = "registry"; +# network = "bridge"; +# environmentFile = [ +# "/pool/services/secrets/default" +# "/pool/services/secrets/palworld" +# ]; +# volumes = [ +# "/pool/services/podman/palworld:/palworld" +# ]; +# ports = [ +# "8211:8211/udp" +# "27015:27015/udp" +# ]; +# extraConfig = { +# Service = { +# TimeoutStartSec = 900; +# }; +# }; +# }; + actual = { image = "docker.io/actualbudget/actual-server:latest"; autoStart = true; @@ -165,7 +188,7 @@ }; frigate = { - image = "ghcr.io/blakeblackshear/frigate:stable"; + image = "ghcr.io/blakeblackshear/frigate:0.17.0-beta2-tensorrt"; autoStart = true; autoUpdate = "registry"; network = "bridge"; @@ -185,6 +208,9 @@ "1935:1935" "8554:8554" ]; + extraPodmanArgs = [ + "--shm-size=128m" + ]; extraConfig = { Service = { TimeoutStartSec = 900; @@ -292,6 +318,29 @@ }; }; + hugo = { + image = "docker.io/hugomods/hugo:latest"; + autoStart = true; + autoUpdate = "registry"; + network = "bridge"; + exec = "server -D"; + environmentFile = [ + "/pool/services/secrets/default" + ]; + volumes = [ + "/pool/services/podman/hugo/src:/src" + "/pool/services/podman/hugo/cache:/tmp/hugo_cache" + ]; + ports = [ + "1313:1313" + ]; + extraConfig = { + Service = { + TimeoutStartSec = 900; + }; + }; + }; + immich-db = { image = "docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52"; autoStart = true; @@ -320,7 +369,7 @@ autoStart = true; autoUpdate = "registry"; network = "bridge"; - devices = [ "nvidia.com/gpu=all" ]; + # devices = [ "nvidia.com/gpu=all" ]; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/immich" @@ -491,6 +540,29 @@ }; }; + lazylibrarian = { + image = "lscr.io/linuxserver/lazylibrarian:latest"; + autoStart = true; + autoUpdate = "registry"; + network = "bridge"; + environmentFile = [ + "/pool/services/secrets/default" + ]; + volumes = [ + "/pool/services/podman/lazylibrarian:/config" + "/pool/media/torrents:/downloads" + "/pool/media/books:/books" + ]; + ports = [ + "5299:5299" + ]; + extraConfig = { + Service = { + TimeoutStartSec = 900; + }; + }; + }; + lidarr = { image = "lscr.io/linuxserver/lidarr:latest"; autoStart = true; @@ -514,69 +586,69 @@ }; }; - mastodon = { - image = "ghcr.io/linuxserver/mastodon:amd64-latest"; - autoStart = true; - autoUpdate = "registry"; - network = "bridge"; - environmentFile = [ - "/pool/services/secrets/default" - "/pool/services/secrets/mastodon" - ]; - volumes = [ - "/pool/services/podman/mastodon/config:/config" - ]; - ports = [ - "808:80" - "8449:443" - "3009:3000" - ]; - extraConfig = { - Service = { - TimeoutStartSec = 900; - }; - }; - }; - - mastodon-db = { - image = "docker.io/postgres:16-alpine"; - autoStart = true; - autoUpdate = "registry"; - network = "bridge"; - environmentFile = [ - "/pool/services/secrets/default" - "/pool/services/secrets/mastodon-db" - ]; - volumes = [ - "/pool/services/podman/mastodon/db:/var/lib/postgresql/data" - ]; - ports = [ - "5435:5432" - ]; - extraConfig = { - Service = { - TimeoutStartSec = 900; - }; - }; - }; - - mastodon-redis = { - image = "registry.hub.docker.com/library/redis:6.2-alpine"; - autoStart = true; - autoUpdate = "registry"; - network = "bridge"; - environmentFile = [ - "/pool/services/secrets/default" - ]; - ports = [ - "6382:6379" - ]; - extraConfig = { - Service = { - TimeoutStartSec = 900; - }; - }; - }; +# mastodon = { +# image = "ghcr.io/linuxserver/mastodon:amd64-latest"; +# autoStart = true; +# autoUpdate = "registry"; +# network = "bridge"; +# environmentFile = [ +# "/pool/services/secrets/default" +# "/pool/services/secrets/mastodon" +# ]; +# volumes = [ +# "/pool/services/podman/mastodon/config:/config" +# ]; +# ports = [ +# "808:80" +# "8449:443" +# "3009:3000" +# ]; +# extraConfig = { +# Service = { +# TimeoutStartSec = 900; +# }; +# }; +# }; +# +# mastodon-db = { +# image = "docker.io/postgres:16-alpine"; +# autoStart = true; +# autoUpdate = "registry"; +# network = "bridge"; +# environmentFile = [ +# "/pool/services/secrets/default" +# "/pool/services/secrets/mastodon-db" +# ]; +# volumes = [ +# "/pool/services/podman/mastodon/db:/var/lib/postgresql/data" +# ]; +# ports = [ +# "5435:5432" +# ]; +# extraConfig = { +# Service = { +# TimeoutStartSec = 900; +# }; +# }; +# }; +# +# mastodon-redis = { +# image = "registry.hub.docker.com/library/redis:6.2-alpine"; +# autoStart = true; +# autoUpdate = "registry"; +# network = "bridge"; +# environmentFile = [ +# "/pool/services/secrets/default" +# ]; +# ports = [ +# "6382:6379" +# ]; +# extraConfig = { +# Service = { +# TimeoutStartSec = 900; +# }; +# }; +# }; matrix = { image = "ghcr.io/element-hq/synapse"; @@ -745,6 +817,28 @@ }; }; + obsidian-livesync = { + image = "docker.io/oleduc/docker-obsidian-livesync-couchdb"; + autoStart = true; + autoUpdate = "registry"; + network = "bridge"; + environmentFile = [ + "/pool/services/secrets/default" + "/pool/services/secrets/obsidian-livesync" + ]; + volumes = [ + "/pool/services/podman/obsidian-livesync/data:/opt/couchdb/data" + ]; + ports = [ + "5984:5984" + ]; + extraConfig = { + Service = { + TimeoutStartSec = 900; + }; + }; + }; + ollama = { image = "docker.io/ollama/ollama:latest"; autoStart = true; @@ -898,21 +992,24 @@ }; }; - readarr = { - image = "lscr.io/linuxserver/readarr:develop"; + romm = { + image = "docker.io/rommapp/romm:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" + "/pool/services/secrets/romm" ]; volumes = [ - "/pool/services/podman/readarr:/config" - "/pool/media/books:/books" - "/pool/media/torrents:/downloads" + "/pool/services/podman/romm/resources:/romm/resources" + "/pool/services/podman/romm/redis:/redis-data" + "/pool/services/podman/romm/assets:/romm/assets" + "/pool/services/podman/romm/config:/romm/config" + "/pool/media/romm:/romm/library" ]; ports = [ - "8787:8787" + "8011:8080" ]; extraConfig = { Service = { @@ -921,20 +1018,20 @@ }; }; - rlcraft = { - image = "docker.io/itzg/minecraft-server:java8"; + romm-db = { + image = "docker.io/mariadb:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" - "/pool/services/secrets/rlcraft" + "/pool/services/secrets/romm" ]; volumes = [ - "/pool/services/podman/minecraft/rlcraft/data:/data" + "/pool/services/podman/romm/db:/var/lib/mysql" ]; ports = [ - "25565:25565" + "3306:3306" ]; extraConfig = { Service = { @@ -942,6 +1039,27 @@ }; }; }; +# rlcraft = { +# image = "docker.io/itzg/minecraft-server:java8"; +# autoStart = true; +# autoUpdate = "registry"; +# network = "bridge"; +# environmentFile = [ +# "/pool/services/secrets/default" +# "/pool/services/secrets/rlcraft" +# ]; +# volumes = [ +# "/pool/services/podman/minecraft/rlcraft/data:/data" +# ]; +# ports = [ +# "25565:25565" +# ]; +# extraConfig = { +# Service = { +# TimeoutStartSec = 900; +# }; +# }; +# }; rutorrent = { image = "docker.io/crazymax/rtorrent-rutorrent:latest"; diff --git a/hosts/server/settings.nix b/hosts/server/settings.nix index 325881b..734eb88 100644 --- a/hosts/server/settings.nix +++ b/hosts/server/settings.nix @@ -11,7 +11,8 @@ age.identityPaths = [ "${config.users.users.admin.home}/.ssh/id_ed25519" ]; - #boot.loader.limine.biosDevice = "/dev/vda"; + boot.loader.limine.biosDevice = "/dev/vda"; + #boot.loader.efi.efiSysMountPoint = "/boot"; networking = { hostName = "nixos-server"; @@ -169,5 +170,18 @@ }; }; + services.anki-sync-server = { + enable = true; + address = "127.0.0.1"; + #baseDirectory = "/pool/services/podman/anki-sync-server"; + openFirewall = true; + users = [ + { + username = "faris"; + passwordFile = "/pool/services/secrets/anki"; + } + ]; + }; + system.stateVersion = "24.11"; }