{ lib, pkgs, config, ... }: { services.podman.networks = { vlan50 = { driver = "macvlan"; gateway = "192.168.50.1"; subnet = "192.168.50.0/24"; extraPodmanArgs= [ "--opt parent=ens18" ]; }; }; services.podman.enable = true; services.podman.autoUpdate.enable = true; 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; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/actual:/data" ]; ports = [ "5006:5006" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; archivebox = { image = "docker.io/archivebox/archivebox:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/archivebox" ]; volumes = [ "/pool/services/podman/archivebox:/data" ]; ports = [ "8002:8000" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; caddy = { image = "docker.io/caddy"; autoStart = true; autoUpdate = "registry"; network = "vlan50_web"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/caddy/conf:/etc/caddy" "/pool/services/podman/caddy/site:/srv" "/pool/services/podman/caddy/data:/data" "/pool/services/podman/caddy/config:/config" ]; ports = [ "80:80" "443:443" "443:443/udp" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; bazarr = { image = "lscr.io/linuxserver/bazarr:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/bazarr:/config" "/pool/media/video/movies:/movies" "/pool/media/video/tv:/tv" ]; ports = [ "6767:6767" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; ddclient = { image = "lscr.io/linuxserver/ddclient:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/ddclient:/config" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; eclipse-mosquitto = { image = "docker.io/eclipse-mosquitto:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/eclipse-mosquitto:/mosquitto" ]; ports = [ "1883:1883" "9001:8080" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; freshrss = { image = "lscr.io/linuxserver/freshrss:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/freshrss:/config" ]; ports = [ "8555:80" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; frigate = { image = "ghcr.io/blakeblackshear/frigate:0.17.0-beta2-tensorrt"; autoStart = true; autoUpdate = "registry"; network = "bridge"; devices = [ "nvidia.com/gpu=all" ]; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/frigate" ]; volumes = [ "/etc/localtime:/etc/localtime:ro" "/pool/services/podman/frigate:/config" "/pool/services/cctv:/media/frigate" ]; ports = [ "5005:5000" "5001:8971" "1935:1935" "8554:8554" ]; extraPodmanArgs = [ "--shm-size=128m" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; gitea = { image = "docker.gitea.com/gitea:1.23.7"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/gitea" ]; volumes = [ "/pool/services/podman/gitea:/data" ]; ports = [ "3001:3000" "222:22" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; gitea-anubis = { image = "ghcr.io/techarohq/anubis:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/anubis-default" #WHY DOES THIS NOT WORK???? "/pool/services/secrets/anubis-nginx" ]; environment = { DIFFICULTY = "4"; SERVE_ROBOTS_TXT = "true"; POLICY_FNAME = "/data/cfg/botPolicy.json"; OG_PASSTHROUGH = "true"; OG_EXPIRY_TIME = "24h"; BIND = ":3002"; METRICS_BIND = ":9090"; TARGET = "http://192.168.0.30:3001"; }; volumes = [ "/pool/services/podman/anubis/botPolicy.json:/data/cfg/botPolicy.json:ro" ]; ports = [ "3002:3002" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; home-assistant = { image = "ghcr.io/home-assistant/home-assistant:stable"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/etc/localtime:/etc/localtime:ro" "/pool/services/podman/homeassistant:/config" ]; ports = [ "8123:8123" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; homer = { image = "docker.io/b4bz/homer"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/homer:/www/assets" ]; ports = [ "1000:8080" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; hugo = { image = "docker.io/hugomods/hugo:latest"; autoStart = true; autoUpdate = "registry"; network = "vlan50_web"; exec = "server -s /src/mektem.com -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; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/immich" ]; volumes = [ "/pool/services/podman/immich/db:/var/lib/postgresql/data:z" ]; ports = [ "5433:5432" ]; userNS = "keep-id"; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; immich-machine-learning = { image = "ghcr.io/immich-app/immich-machine-learning:release-cuda"; autoStart = true; autoUpdate = "registry"; network = "bridge"; # devices = [ "nvidia.com/gpu=all" ]; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/immich" ]; volumes = [ "/pool/services/podman/immich/cache:/cache" ]; ports = [ "3003:3003" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; immich-redis = { image = "registry.hub.docker.com/library/redis:6.2-alpine"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/immich" ]; ports = [ "6379:6379" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; immich-server = { image = "ghcr.io/immich-app/immich-server:release"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/immich" ]; volumes = [ "/pool/services/immich:/usr/src/app/upload" "/etc/localtime:/etc/localtime:ro" ]; ports = [ "2283:2283" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; jellyfin = { image = "docker.io/jellyfin/jellyfin:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; devices = [ "nvidia.com/gpu=all" ]; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/jellyfin:/config" "/pool/media/video/movies:/movies" "/pool/media/video/tv:/tv" "/pool/media/audio/music/flac:/music" "/pool/media/video/family:/family" "/pool/media/video/livetv:/livetv" ]; ports = [ "8096:8096" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; jellyseerr = { image = "ghcr.io/fallenbagel/jellyseerr"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/jellyseerr:/app/config" ]; ports = [ "5055:5055" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; joplin = { image = "docker.io/joplin/server:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/joplin" ]; ports = [ "22300:22300" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; joplin-db = { image = "docker.io/postgres:15"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/joplin" ]; volumes = [ "/pool/services/podman/joplin-db:/var/lib/postgresql/data" ]; ports = [ "5432:5432" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; kiwix = { image = "ghcr.io/kiwix/kiwix-serve:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; exec = "*.zim"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/media/kiwix:/data" ]; ports = [ "8088:8080" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; 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; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/lidarr:/config" "/pool/media/audio/music/flac:/music" "/pool/media/torrents:/downloads" ]; ports = [ "8686:8686" ]; 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"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/synapse" ]; volumes = [ "/pool/services/podman/synapse:/data" ]; ports = [ "8008:8008" "8448:8448" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; metube = { image = "ghcr.io/alexta69/metube:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/media/youtube-dl:/downloads" "/pool/media/audio/music/flac:/music" ]; ports = [ "8081:8081" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; nginx = { image = "docker.io/nginx:latest"; autoStart = true; autoUpdate = "registry"; network = "vlan50"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/nginx" ]; volumes = [ "/pool/services/podman/nginx/nginx.conf:/etc/nginx/nginx.conf:ro" "/pool/services/podman/hugo/src/mektem.com/public:/usr/share/nginx/html" ]; ports = [ "888:80" ]; extraPodmanArgs = [ "--privileged" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; nginx-anubis = { image = "ghcr.io/techarohq/anubis:latest"; autoStart = true; autoUpdate = "registry"; network = "vlan50_web"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/anubis-default" #WHY DOES THIS NOT WORK???? "/pool/services/secrets/anubis-nginx" ]; environment = { DIFFICULTY = "4"; SERVE_ROBOTS_TXT = "true"; POLICY_FNAME = "/data/cfg/botPolicy.json"; OG_PASSTHROUGH = "true"; OG_EXPIRY_TIME = "24h"; BIND = ":8881"; METRICS_BIND = ":9090"; TARGET = "http://192.168.0.30:888"; }; volumes = [ "/pool/services/podman/anubis/botPolicy.json:/data/cfg/botPolicy.json:ro" ]; ports = [ "8881:8881" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; #nginx-proxy-manager = { # image = "docker.io/jc21/nginx-proxy-manager:2.9.22"; # autoStart = true; # autoUpdate = "registry"; # network = "bridge"; # environmentFile = [ # "/pool/services/secrets/default" # ]; # volumes = [ # "/pool/services/podman/nginx-proxy-manager:/data" # "/pool/services/podman/letsencrypt:/etc/letsencrypt" # ]; # ports = [ # "80:80" # "443:443" # "81:81" # ]; # extraConfig = { # Service = { # TimeoutStartSec = 900; # }; # }; #}; ntfy = { image = "docker.io/binwiederhier/ntfy"; autoStart = true; autoUpdate = "registry"; network = "bridge"; exec = "serve"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/ntfy" ]; volumes = [ "/pool/services/podman/ntfy:/var/lib/ntfy" ]; ports = [ "81:80" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; ntp = { image = "docker.io/cturra/ntp"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; ports = [ "123:123/udp" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; 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; autoUpdate = "registry"; network = "bridge"; devices = [ "nvidia.com/gpu=all" ]; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/ollama" ]; volumes = [ "/pool/services/podman/ollama:/root/.ollama" ]; ports = [ "11434:11434" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; open-webui = { image = "ghcr.io/open-webui/open-webui:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/open-webui" ]; volumes = [ "/pool/services/podman/open-webui:/app/backend/data" ]; ports = [ "3000:8080" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; paperless-ngx = { image = "ghcr.io/paperless-ngx/paperless-ngx:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/paperless-ngx" ]; volumes = [ "/pool/services/podman/paperless-ngx/data:/usr/src/paperless/data" "/pool/services/podman/paperless-ngx/media:/usr/src/paperless/media" "/pool/services/podman/paperless-ngx/export:/usr/src/paperless/export" "/pool/data/scans:/usr/src/paperless/consume" ]; ports = [ "8010:8000" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; paperless-ngx-redis = { image = "registry.hub.docker.com/library/redis:6.2-alpine"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; ports = [ "6380:6379" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; privatebin = { image = "docker.io/privatebin/nginx-fpm-alpine:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/media/privatebin:/srv/data" ]; ports = [ "8082:8080" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; prowlarr = { image = "lscr.io/linuxserver/prowlarr:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/prowlarr:/config" ]; ports = [ "9696:9696" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; radarr = { image = "lscr.io/linuxserver/radarr:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/radarr:/config" "/pool/media/video/movies:/movies" "/pool/media/torrents:/downloads" ]; ports = [ "7878:7878" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; 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/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 = [ "8011:8080" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; romm-db = { image = "docker.io/mariadb:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/romm" ]; volumes = [ "/pool/services/podman/romm/db:/var/lib/mysql" ]; ports = [ "3306:3306" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; # 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"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/rutorrent/passwd:/passwd" "/pool/services/podman/rutorrent/data:/data" "/pool/media/torrents:/downloads" ]; ports = [ "8888:8080" "5000:8000" "50000:50000" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; searxng = { image = "docker.io/searxng/searxng:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/searxng:/etc/searxng" ]; ports = [ "8880:8080" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; sonarr = { image = "lscr.io/linuxserver/sonarr:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/sonarr:/config" "/pool/media/video/tv:/tv" "/pool/media/torrents:/downloads" ]; ports = [ "8989:8989" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; tandoor = { image = "docker.io/vabene1111/recipes"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/tandoor" ]; volumes = [ "/pool/services/podman/tandoor/staticfiles:/opt/recipes/staticfiles" "/pool/services/podman/tandoor/mediafiles:/opt/recipes/mediafiles" ]; ports = [ "9092:80" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; tandoor-db = { image = "docker.io/postgres:16-alpine"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/tandoor" ]; volumes = [ "/pool/services/podman/tandoor/db:/var/lib/postgresql/data" ]; ports = [ "5434:5432" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; thelounge = { image = "lscr.io/linuxserver/thelounge:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/thelounge:/config" ]; ports = [ "9000:9000" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; tubearchivist = { image = "docker.io/bbilly1/tubearchivist"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/tubearchivist" ]; volumes = [ "/pool/media/video/youtube:/youtube" "/pool/services/podman/tubearchivist/cache:/cache" ]; ports = [ "8005:8000" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; tubearchivist-redis = { image = "docker.io/redis"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/tubearchivist/redis:/data" ]; ports = [ "6381:6379" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; tubearchivist-es = { image = "docker.io/bbilly1/tubearchivist-es"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/tubearchivist-es" ]; volumes = [ "/pool/services/podman/tubearchivist/es:/usr/share/elasticsearch/data" ]; ports = [ "9200:9200" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; uptime-kuma = { image = "docker.io/louislam/uptime-kuma"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/uptime-kuma:/app/data" ]; ports = [ "3005:3001" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; vaultwarden = { image = "docker.io/vaultwarden/server:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/vaultwarden" ]; volumes = [ "/pool/services/podman/vaultwarden:/data/" ]; ports = [ "8000:80" "3012:3012" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; webdav = { image = "docker.io/bytemark/webdav:latest"; autoStart = true; autoUpdate = "registry"; network = "bridge"; environmentFile = [ "/pool/services/secrets/default" "/pool/services/secrets/webdav" ]; volumes = [ "/pool/services/webdav:/var/lib/dav" ]; ports = [ "8009:80" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; zigbee2mqtt = { image = "docker.io/koenkk/zigbee2mqtt"; autoStart = true; autoUpdate = "registry"; network = "bridge"; devices = [ "/dev/ttyACM0:/dev/ttyACM0" ]; environmentFile = [ "/pool/services/secrets/default" ]; volumes = [ "/pool/services/podman/zigbee2mqtt:/app/data" ]; ports = [ "8808:8080" ]; extraConfig = { Service = { TimeoutStartSec = 900; }; }; }; }; # Don't touch home.stateVersion = "24.11"; }