refactor: Simplify Docker configuration by using .env file and streamline user/group settings

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.
This commit is contained in:
Self Denial
2024-11-18 00:23:30 -07:00
parent 947ef17710
commit aa03ba02ac
3 changed files with 23 additions and 16 deletions

View File

@@ -6,6 +6,7 @@ x-base_service: &base_service
- &v2 ./output:/output
stop_signal: SIGKILL
tty: true
env_file: .env
deploy:
resources:
reservations:
@@ -47,10 +48,6 @@ services:
image: sd-comfy:7
environment:
- CLI_ARGS=
- USE_UID=0
- USE_GID=0
- USE_USER=root
- USE_GROUP=root
env_file: .env