3.5 KiB
3.5 KiB
Stable Diffusion WebUI Docker
此服务用于部署 Stable Diffusion WebUI (SD.Next) 进行 AI 图像生成。
服务
stable-diffusion-webui: 支持 GPU 的 Stable Diffusion WebUI。
先决条件
需要 NVIDIA GPU: 此服务需要支持 CUDA 的 NVIDIA GPU 和已安装的 NVIDIA Container Toolkit。
安装 NVIDIA Container Toolkit
Linux:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
Windows (Docker Desktop):
确保已安装带有 NVIDIA 驱动程序的 WSL2,并将 Docker Desktop 配置为使用 WSL2 后端。
环境变量
| 变量名 | 说明 | 默认值 |
|---|---|---|
| SD_WEBUI_VERSION | SD WebUI 镜像版本 | latest |
| CLI_ARGS | 命令行参数 | --listen --api --skip-version-check |
| NVIDIA_VISIBLE_DEVICES | 使用的 GPU | all |
| NVIDIA_DRIVER_CAPABILITIES | 驱动程序功能 | compute,utility |
| GPU_COUNT | 分配的 GPU 数量 | 1 |
| SD_WEBUI_PORT_OVERRIDE | WebUI 端口 | 7860 |
请根据实际需求修改 .env 文件。
卷
sd_webui_data: 模型文件、扩展和配置。sd_webui_output: 生成的图像输出目录。
使用方法
启动服务
docker-compose up -d
访问 WebUI
在浏览器中打开:
http://localhost:7860
下载模型
首次启动时,您需要下载模型。WebUI 会指导您完成此过程,或者您可以手动将模型放置在 /data/models 目录中。
常见模型位置:
- Stable Diffusion 模型:
/data/models/Stable-diffusion/ - VAE 模型:
/data/models/VAE/ - LoRA 模型:
/data/models/Lora/ - 嵌入:
/data/models/embeddings/
生成图像
- 从下拉列表中选择模型
- 输入您的提示词
- 调整参数(步数、CFG 比例、采样器等)
- 点击"生成"
功能
- 文本到图像: 从文本提示生成图像
- 图像到图像: 转换现有图像
- 修复: 编辑图像的特定部分
- 放大: 增强图像分辨率
- API 访问: 用于自动化的 RESTful API
- 扩展: 支持自定义扩展
- 多模型: 支持各种 SD 模型(1.5、2.x、SDXL 等)
注意事项
- 首次启动可能需要时间下载依赖项和模型
- 推荐: SD 1.5 需要 8GB+ 显存,SDXL 需要 12GB+
- 需要 GPU;纯 CPU 模式极其缓慢
- 生成的图像保存在
sd_webui_output卷中 - 模型可能很大(每个 2-7GB);确保有足够的磁盘空间
API 使用
启用 --api 标志后,在以下地址访问 API:
http://localhost:7860/docs
API 调用示例:
curl -X POST http://localhost:7860/sdapi/v1/txt2img \
-H "Content-Type: application/json" \
-d '{
"prompt": "a beautiful landscape",
"steps": 20
}'
许可证
Stable Diffusion 模型有各种许可证。使用前请检查各个模型的许可证。