stable diffusion webui nix

其他资源 2025-08-15

稳定的扩散网络UI

完全可重现的薄片包装稳定的扩散Python UI

使用这种薄片

将以下内容添加到您的输入中:

 stable-diffusion-webui-nix = {
  url = "github:Janrupf/stable-diffusion-webui-nix/main" ;
  inputs . nixpkgs . follows = "nixpkgs" ;
} ;

然后将覆盖层添加到您的系统配置:

 {
  nixpkgs . overlays = [ stable-diffusion-webui-nix . overlays . default ] ;
}

最后将您要的包装添加到系统软件包:

 environment . systemPackages = [
  pkgs . stable-diffusion-webui . forge . cuda # For lllyasviel's fork of AUTOMATIC1111 WebUI
  pkgs . stable-diffusion-webui . comfy . cuda # For ComfyUI
] ;

之后,您应该使用启动服务器的命令稳定 - 扩散 - webui或comfy-ui。

作为服务运行

这将曝光模块服务。Sd-webui-forge,该forge webui作为SystemD服务。

可用选项是:

 services . sd-webui-forge = {
    enable = true ;
    user = "sd-webui-forge" ; # The user that runs the service.
    group = "sd-webui-forge" ; # The group that runs the service.
    dataDir = "/var/lib/sd-webui-forge" ; # The directory that the webUI stores models and images in.
    package = pkgs . stable-diffusion-webui . forge . cuda ; # The package (cuda/rocm) that you want to use.
    listen = true ; # Whether to listen on all interfaces or only localhost.
    port = 7860 ; # The port for the webUI.
    extraArgs = "--cuda-malloc" ; # Extra CLI args for the server.
} ;

怪癖

我的webui(for forge)数据在哪里?

默认情况下,数据存储在$ home/.local/.local/share/stable-diffusion-webui中,在启动Web UI时,可以使用-DATA-DATA/另一个/PATH参数来覆盖此数据。

我的comfyui数据在哪里?

默认情况下,数据存储在$ home/.local/local/share/comfy-ui中,可以通过使用-base-directory/又有另一个/路径参数来撰写这一点。

这需要很长时间来编译...

运行稳定的扩散模型需要CUDA,因此取决于Nixos Cache默认情况下的软件包。将CUDA-FAINERS CACHIX添加为NIX配置的替代器。有关更多信息,请参见Nixos Wiki。

将此薄片/更新软件包开发到新版本

由于Python软件包管理的性质,这种薄片非常复杂。

  1. 更新源/软件包中的提交哈希(文件取决于您要更改哪个软件包)。
  2. 运行nix run。
  3. 尝试使用nix运行。#package(例如nix run。

注意:如果您在步骤2中遇到了磁盘空间用完的错误,则 /TMP太小。增加TMPFS大小,或者将TMPDIR设置为其他目录运行命令。通常,如果步骤2失败,则可能不会删除临时目录,则可以自由使用RM -RF,但是它对检查失败的原因可能很有用。

如果我想使用UI安装扩展名怎么办?

该片段提供的NIX软件包具有固定的依赖项,不允许通过Web界面安装其他Python软件包或扩展。如果需要此功能,则可以使用FHS(文件系统层次结构标准)环境。

使用FHS环境

FHS环境提供了Python和Cuda的标准Linux环境,您可以在其中手动安装WebUI软件和延期:

  1. 将FHS软件包添加到您的系统:
     environment . systemPackages = [
      pkgs . stable-diffusion-webui . fhs . cuda
    ] ;
  2. 输入FHS环境:在外壳中运行稳定的扩散-FHS-CUDA
  3. 在FHS环境中,手动安装您的首选WebUI:
  • 跟随自动1111,锻造或comfyui的上游安装说明
  • 使用PIP或WebUI的内置软件包经理安装扩展程序
  • 根据需要设置Python虚拟环境

重要的局限性

  • 没有预安装的软件:FHS环境仅提供基本系统(Python,Cuda,Libraries) - 您必须自己安装Webuisoftware
  • 手动管理:您负责更新,依赖性冲突和故障排除
  • 没有可重复性:与Nix软件包不同,您的FHS设置将在系统中无法重现
下载源码

通过命令行克隆项目:

git clone https://github.com/Janrupf/stable-diffusion-webui-nix.git