The stable-diffusion-docker-project by bean980310 is an open-source initiative that streamlines the deployment of various generative AI applications using Docker. By containerizing these tools, the project ensures consistent environments across different systems, simplifying setup and enhancing reproducibility.
Key Features:
- Comprehensive AI Suite: The project integrates multiple generative AI applications, including:
- Stable Diffusion WebUI: A user-friendly interface for generating images from text prompts.
- KohyaSS: Tools for fine-tuning and training AI models.
- ComfyUI: An intuitive interface for managing AI workflows.
- InvokeAI: A streamlined toolkit for creative AI applications.
- Fooocus: An AI-driven image generation tool.
- Docker Integration: By leveraging Docker, the project ensures that each application runs in a consistent environment, reducing compatibility issues and simplifying the deployment process.
- Scalability and Flexibility: The modular design allows users to deploy individual services as needed, facilitating customization based on specific requirements.
Setup and Installation:
- Prerequisites:
- Hardware: An NVIDIA GPU is required.
- Software:
- CUDA 12.4
- Docker
- NVIDIA Container Toolkit
- For Windows 10/11 users: Enable WSL2 (Windows Subsystem for Linux 2).
- Installation Steps:
- Clone the repository:bashCopy code
git clone https://github.com/bean980310/stable-diffusion-docker-project.git - Navigate to the project directory:bashCopy code
cd stable-diffusion-docker-project - Run the initial setup script using Jupyter Notebook:
- Execute
run_first.ipynbto install necessary dependencies. - Execute
download.ipynbto download required models.
- Execute
- Place the downloaded models in the appropriate directory:bashCopy code
mv <downloaded_models> stable-diffusion-models/models/ - Deploy the desired service using Docker Compose:bashCopy code
docker compose -f docker-compose.pull.yml up -d <service_name>Replace<service_name>with the specific application you wish to deploy (e.g.,stable-diffusion-webui).
- Clone the repository:bashCopy code
Available Services and Their Default Ports:
| Service Name | Default Port Mapping |
|---|---|
| stable-diffusion-webui | 3010:7860 |
| kohya_ss | 3020:7860 |
| comfyui | 3030:8188 |
| invokeai | 9090:9090 |
| fooocus | 3040:7860 |
| stable-diffusion-webui-forge | 3050:7860 |
| sdnext | 3060:7860 |
| open-webui | 3000:8080 |
| easy-diffusion | 9000:9000 |
| swarmui | 7801:7801 |
| facefusion | 3070:7860 |
| omost | 3080:8080 |
| stable-audio-tools | 3090:7860 |
Extending Functionality:
- Adding Extensions to Stable Diffusion WebUI:
- Navigate to the extensions directory:bashCopy code
cd workspace/stable-diffusion-webui/extensions - Clone the desired extension repository:bashCopy code
git clone <extension_repository_url>
- Navigate to the extensions directory:bashCopy code
- Installing ComfyUI Manager:
- Navigate to the custom nodes directory:bashCopy code
cd workspace/ComfyUI/custom_nodes - Clone the ComfyUI Manager repository:bashCopy code
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
- Navigate to the custom nodes directory:bashCopy code
Usage:
- To start all services:bashCopy code
docker compose -f docker-compose.pull.yml up -d - To start a specific service:bashCopy code
docker compose -f docker-compose.pull.yml up -d <service_name>
Benefits:
- Simplified Deployment: The use of Docker containers abstracts the complexities involved in setting up AI applications, allowing users to focus on development and experimentation.
- Consistency: Containerization ensures that applications run uniformly across different environments, reducing the likelihood of system-specific issues.
- Modularity: Users can deploy only the services they need, conserving system resources and tailoring the setup to their specific use cases.
Conclusion:
The stable-diffusion-docker-project by bean980310 offers a robust and flexible solution for deploying a suite of generative AI tools using Docker. Its modular architecture, combined with comprehensive documentation, makes it an invaluable resource for both novices and experienced practitioners in the AI community.
For more detailed information and access to the repository, visit: https://github.com/bean980310/stable-diffusion-docker-project