mirror of
https://github.com/AbdBarho/stable-diffusion-webui-docker.git
synced 2025-10-27 00:04:16 -04:00
This commit refactors the `docker-compose.yml` and `Dockerfile` to simplify the management of environment variables and user/group configurations. The following changes were made: 1. **Environment Variables via `.env` File:** - Added `env_file: .env` in the base service configuration within `docker-compose.yml`. This allows for centralized management of environment variables, making it easier to configure different environments without modifying Docker files directly. 2. **User/Group Configuration Simplification:** - Removed hardcoded user and group settings (`USE_UID`, `USE_GID`, `USE_USER`, `USE_GROUP`) from the `docker-compose.yml` file. - Updated the `Dockerfile` to use default values of `0` for `USE_UID` and `USE_GID`, and `root` for `USE_USER` and `USE_GROUP`. This aligns with common practices where root is often used in containerized environments unless specified otherwise. 3. **Conditional Dependency Handling:** - Introduced conditional logic to enable dependencies like Krita based on the value of `USE_KRITA`. - Simplified the environment variable assignments within the Dockerfile, ensuring that only necessary variables are set. 4. **Entrypoint Script Enhancements:** - Added a feature in the `entrypoint.sh` script to update custom nodes by pulling the latest changes from their respective repositories if `UPDATE_CUSTOM_NODES` is set to `true`. These changes improve the maintainability and flexibility of the Docker setup, making it easier to adapt to different deployment scenarios.
61 lines
1.2 KiB
YAML
61 lines
1.2 KiB
YAML
x-base_service: &base_service
|
|
ports:
|
|
- "${WEBUI_PORT:-7860}:7860"
|
|
volumes:
|
|
- &v1 ./data:/data
|
|
- &v2 ./output:/output
|
|
stop_signal: SIGKILL
|
|
tty: true
|
|
env_file: .env
|
|
deploy:
|
|
resources:
|
|
reservations:
|
|
devices:
|
|
- driver: nvidia
|
|
device_ids: ['0']
|
|
capabilities: [compute, utility]
|
|
|
|
name: webui-docker
|
|
|
|
services:
|
|
download:
|
|
build: ./services/download/
|
|
profiles: ["download"]
|
|
volumes:
|
|
- *v1
|
|
|
|
auto: &automatic
|
|
<<: *base_service
|
|
profiles: ["auto"]
|
|
build: ./services/AUTOMATIC1111
|
|
image: sd-auto:78
|
|
environment:
|
|
- CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api
|
|
env_file: .env
|
|
|
|
auto-cpu:
|
|
<<: *automatic
|
|
profiles: ["auto-cpu"]
|
|
deploy: {}
|
|
environment:
|
|
- CLI_ARGS=--no-half --precision full --allow-code --enable-insecure-extension-access --api
|
|
env_file: .env
|
|
|
|
comfy: &comfy
|
|
<<: *base_service
|
|
profiles: ["comfy"]
|
|
build: ./services/comfy/
|
|
image: sd-comfy:7
|
|
environment:
|
|
- CLI_ARGS=
|
|
env_file: .env
|
|
|
|
|
|
comfy-cpu:
|
|
<<: *comfy
|
|
profiles: ["comfy-cpu"]
|
|
deploy: {}
|
|
environment:
|
|
- CLI_ARGS=--cpu
|
|
env_file: .env
|