From 0384dbe056d16556832035ed24fb62c390c92ab0 Mon Sep 17 00:00:00 2001 From: mcmikemn Date: Sun, 24 Mar 2024 12:18:49 -0400 Subject: [PATCH 1/6] assign .env values to args, in addition to creating --build-arg --- docker/run.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docker/run.sh b/docker/run.sh index d413e53453b..886f54a89a8 100755 --- a/docker/run.sh +++ b/docker/run.sh @@ -9,7 +9,12 @@ run() { local profile="" touch .env - build_args=$(awk '$1 ~ /=[^$]/ && $0 !~ /^#/ {print "--build-arg " $0 " "}' .env) && + while IFS='=' read -r key value; do + if [[ ! $key =~ ^# && ! -z $value ]]; then + build_args+=" --build-arg $key=$value" + export "$key=$value" + fi + done < .env profile="$(awk -F '=' '/GPU_DRIVER/ {print $2}' .env)" [[ -z "$profile" ]] && profile="nvidia" From c258b19aca70c8812fe0ae53c1e99157397baedc Mon Sep 17 00:00:00 2001 From: mcmikemn Date: Sun, 24 Mar 2024 12:26:35 -0400 Subject: [PATCH 2/6] added compose.override.yaml --- docker/compose.override.yaml | 9 +++++++++ docker/docker-compose.yml | 4 ++-- docker/run.sh | 4 +++- 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 docker/compose.override.yaml diff --git a/docker/compose.override.yaml b/docker/compose.override.yaml new file mode 100644 index 00000000000..b955a6db6e7 --- /dev/null +++ b/docker/compose.override.yaml @@ -0,0 +1,9 @@ +services: + invokeai-cuda: + restart: unless-stopped + labels: + - traefik.enable=true + - traefik.http.routers.invokeai-cuda.rule=Host(`invokeai.example.com`) + - traefik.http.routers.invokeai-cuda.entrypoints=websecure + - traefik.http.middlewares.invokeai-cuda-ipwhitelist.ipwhitelist.sourcerange=0.0.0.0/0 + - traefik.http.routers.invokeai-cuda.middlewares=invokeai-cuda-ipwhitelist diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 2ad50e74a17..efb57af7297 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -29,7 +29,7 @@ x-invokeai: &invokeai - ${HF_HOME:-~/.cache/huggingface}:${HF_HOME:-/invokeai/.cache/huggingface} tty: true stdin_open: true - + labels: [] services: invokeai-nvidia: @@ -41,7 +41,7 @@ services: - driver: nvidia count: 1 capabilities: [gpu] - + invokeai-cpu: <<: *invokeai profiles: diff --git a/docker/run.sh b/docker/run.sh index 886f54a89a8..a49488613e8 100755 --- a/docker/run.sh +++ b/docker/run.sh @@ -30,7 +30,9 @@ run() { unset build_args printf "%s\n" "starting service $service_name" - docker compose --profile "$profile" up -d "$service_name" + # `touch compose.override.yaml` in case user doesn't use it + touch compose.override.yaml + docker compose --profile "$profile" -f docker-compose.yml -f compose.override.yaml up -d "$service_name" docker compose logs -f } From 79a083ad16ab493f53c99fc8dbe38c39d45f8f3b Mon Sep 17 00:00:00 2001 From: mcmikemn Date: Sun, 24 Mar 2024 12:29:36 -0400 Subject: [PATCH 3/6] changed service name `invokeai-nvidia` to `invokeai-cuda` --- docker/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index efb57af7297..b6b87af3fda 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -32,7 +32,7 @@ x-invokeai: &invokeai labels: [] services: - invokeai-nvidia: + invokeai-cuda: <<: *invokeai deploy: resources: From 81c3e4d21a41a3657715a3a17fc5e31bef808f2b Mon Sep 17 00:00:00 2001 From: mcmikemn Date: Sun, 24 Mar 2024 12:39:08 -0400 Subject: [PATCH 4/6] replaced `compose.override.yaml` with `compose.override.yaml.sample` --- .gitignore | 3 +++ docker/compose.override.yaml.sample | 9 +++++++++ 2 files changed, 12 insertions(+) create mode 100644 docker/compose.override.yaml.sample diff --git a/.gitignore b/.gitignore index 29d27d78ed5..53e917e0caf 100644 --- a/.gitignore +++ b/.gitignore @@ -188,3 +188,6 @@ installer/install.sh installer/update.bat installer/update.sh installer/InvokeAI-Installer/ + +# Docker +docker/compose.override.yaml \ No newline at end of file diff --git a/docker/compose.override.yaml.sample b/docker/compose.override.yaml.sample new file mode 100644 index 00000000000..b955a6db6e7 --- /dev/null +++ b/docker/compose.override.yaml.sample @@ -0,0 +1,9 @@ +services: + invokeai-cuda: + restart: unless-stopped + labels: + - traefik.enable=true + - traefik.http.routers.invokeai-cuda.rule=Host(`invokeai.example.com`) + - traefik.http.routers.invokeai-cuda.entrypoints=websecure + - traefik.http.middlewares.invokeai-cuda-ipwhitelist.ipwhitelist.sourcerange=0.0.0.0/0 + - traefik.http.routers.invokeai-cuda.middlewares=invokeai-cuda-ipwhitelist From c27b2480e5ba8a676553a64d2a2e91d97df9589b Mon Sep 17 00:00:00 2001 From: mcmikemn Date: Sun, 24 Mar 2024 13:08:11 -0400 Subject: [PATCH 5/6] Revert "added compose.override.yaml" This reverts commit c258b19aca70c8812fe0ae53c1e99157397baedc. --- docker/compose.override.yaml | 9 --------- docker/docker-compose.yml | 4 ++-- docker/run.sh | 4 +--- 3 files changed, 3 insertions(+), 14 deletions(-) delete mode 100644 docker/compose.override.yaml diff --git a/docker/compose.override.yaml b/docker/compose.override.yaml deleted file mode 100644 index b955a6db6e7..00000000000 --- a/docker/compose.override.yaml +++ /dev/null @@ -1,9 +0,0 @@ -services: - invokeai-cuda: - restart: unless-stopped - labels: - - traefik.enable=true - - traefik.http.routers.invokeai-cuda.rule=Host(`invokeai.example.com`) - - traefik.http.routers.invokeai-cuda.entrypoints=websecure - - traefik.http.middlewares.invokeai-cuda-ipwhitelist.ipwhitelist.sourcerange=0.0.0.0/0 - - traefik.http.routers.invokeai-cuda.middlewares=invokeai-cuda-ipwhitelist diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index b6b87af3fda..beeb652feb4 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -29,7 +29,7 @@ x-invokeai: &invokeai - ${HF_HOME:-~/.cache/huggingface}:${HF_HOME:-/invokeai/.cache/huggingface} tty: true stdin_open: true - labels: [] + services: invokeai-cuda: @@ -41,7 +41,7 @@ services: - driver: nvidia count: 1 capabilities: [gpu] - + invokeai-cpu: <<: *invokeai profiles: diff --git a/docker/run.sh b/docker/run.sh index a49488613e8..886f54a89a8 100755 --- a/docker/run.sh +++ b/docker/run.sh @@ -30,9 +30,7 @@ run() { unset build_args printf "%s\n" "starting service $service_name" - # `touch compose.override.yaml` in case user doesn't use it - touch compose.override.yaml - docker compose --profile "$profile" -f docker-compose.yml -f compose.override.yaml up -d "$service_name" + docker compose --profile "$profile" up -d "$service_name" docker compose logs -f } From b084fa40c22017d92ea11e255eda6b85de1a4188 Mon Sep 17 00:00:00 2001 From: mcmikemn Date: Sun, 24 Mar 2024 13:11:51 -0400 Subject: [PATCH 6/6] added compose.override.yaml --- docker/docker-compose.yml | 2 +- docker/run.sh | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index beeb652feb4..e0cc181451c 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -29,7 +29,7 @@ x-invokeai: &invokeai - ${HF_HOME:-~/.cache/huggingface}:${HF_HOME:-/invokeai/.cache/huggingface} tty: true stdin_open: true - + labels: [] services: invokeai-cuda: diff --git a/docker/run.sh b/docker/run.sh index 886f54a89a8..10d322a021d 100755 --- a/docker/run.sh +++ b/docker/run.sh @@ -30,7 +30,9 @@ run() { unset build_args printf "%s\n" "starting service $service_name" - docker compose --profile "$profile" up -d "$service_name" + # `touch compose.override.yaml` in case user doesn't use it (i.e., doesn't have it) + touch compose.override.yaml + docker compose --profile "$profile" -f docker-compose.yml -f compose.override.yaml up -d "$service_name" docker compose logs -f }