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

@@ -23,6 +23,12 @@ for to_path in "${!MOUNTS[@]}"; do
echo Mounted $(basename "${from_path}")
done
if [ "${UPDATE_CUSTOM_NODES:-false}" = "true" ]; then
find /data/config/comfy/custom_nodes/ -mindepth 1 -maxdepth 1 -type d | while read NODE
do echo "---- ${NODE##*/} ----"
cd $NODE && git pull; cd ..
done
fi
if [ "${USE_KRITA}" = "true" ]; then
if [ "${KRITA_DOWNLOAD_MODELS:-false}" = "true" ]; then