1
Files
flake-nixinator/system/services/comfyui.nix

78 lines
2.6 KiB
Nix

{
mylib,
config,
lib,
pkgs,
...
}: let
# comfyuiVersion = "cu128-slim-20260316";
# comfyuiVersion = "cu128-megapak-20260413";
# comfyuiVersion = "cu130-megapak-pt211-20260330";
comfyuiVersion = "cu130-megapak-pt211-20260413";
in {
virtualisation.oci-containers.containers = {
comfyui = {
image = "yanwk/comfyui-boot:${comfyuiVersion}";
autoStart = false;
login = mylib.containers.mkDockerLogin config;
dependsOn = [];
ports = [
"8188:8188"
];
volumes = let
rootDir = "/home/christoph/Games/ComfyUI";
in [
# cu128-slim / cu128-megapak
# "${rootDir}/storage:/root"
# "${rootDir}/storage-models/models:/root/ComfyUI/models"
# "${rootDir}/storage-models/hf-hub:/root/.cache/huggingface/hub"
# "${rootDir}/storage-models/torch-hub:/root/.cache/torch/hub"
# "${rootDir}/storage-user/input:/root/ComfyUI/input"
# "${rootDir}/storage-user/output:/root/ComfyUI/output"
# "${rootDir}/storage-user/workflows:/root/ComfyUI/user/default/workflows"
# cu130-megapak
"${rootDir}/storage-cache/dot-cache:/root/.cache"
"${rootDir}/storage-cache/dot-config:/root/.config"
"${rootDir}/storage-nodes/dot-local:/root/.local"
"${rootDir}/storage-nodes/comfy-extras:/root/ComfyUI/comfy_extras"
"${rootDir}/storage-nodes/custom_nodes:/root/ComfyUI/custom_nodes"
"${rootDir}/storage-models/models:/root/ComfyUI/models"
"${rootDir}/storage-models/hf-hub:/root/.cache/huggingface/hub"
"${rootDir}/storage-models/torch-hub:/root/.cache/torch/hub"
"${rootDir}/storage-user/input:/root/ComfyUI/input"
"${rootDir}/storage-user/output:/root/ComfyUI/output"
"${rootDir}/storage-user/user-profile:/root/ComfyUI/user"
"${rootDir}/storage-user/user-scripts:/root/user-scripts"
];
environment = {
PUID = "1000";
PGID = "1000";
TZ = "Europe/Berlin";
# https://github.com/Comfy-Org/ComfyUI/blob/master/comfy/cli_args.py
CLI_ARGS = lib.concatStringsSep " " [
# "--cache-none" # Leads to single nodes being executed multiple times for each output connection :/
"--lowvram"
"--disable-smart-memory"
"--disable-pinned-memory"
"--disable-xformers"
"--use-sage-attention" # Crashes
# "--reserve-vram 1" # (1 or 2) => Assume less vram is available to mitigate OOM due to wrong vram estimation
];
};
extraOptions = [
"--privileged"
"--device=nvidia.com/gpu=all"
# "--net=behind-nginx"
];
};
};
}