make docker-compose settings overrideable by env

This commit is contained in:
Mat 2023-05-21 14:58:57 +02:00
parent 110627415d
commit 9860307ca9
No known key found for this signature in database
GPG key ID: 120EBFC87CE63728
3 changed files with 65 additions and 21 deletions

3
.gitignore vendored
View file

@ -1,6 +1,9 @@
/.devcontainer /.devcontainer
/docker-compose.override.yml /docker-compose.override.yml
# Environment variable files
.env
# VSCode specific # VSCode specific
*.code-workspace *.code-workspace
/.vscode /.vscode

View file

@ -1,19 +1,19 @@
version: '3.9' version: "3.9"
x-base_service: &base_service x-base_service: &base_service
ports: ports:
- "7860:7860" - "${HOST_PORT:-7860}:7860"
volumes: volumes:
- &v1 ./data:/data - &v1 "${HOST_DATA_VOL:-./data}:/data"
- &v2 ./output:/output - &v2 "${HOST_OUT_VOL:-./output}:/output"
stop_signal: SIGINT stop_signal: SIGINT
deploy: deploy:
resources: resources:
reservations: reservations:
devices: devices:
- driver: nvidia - driver: nvidia
device_ids: ['0'] device_ids: ["0"]
capabilities: [gpu] capabilities: [gpu]
name: webui-docker name: webui-docker
@ -30,14 +30,14 @@ services:
build: ./services/AUTOMATIC1111 build: ./services/AUTOMATIC1111
image: sd-auto:56 image: sd-auto:56
environment: environment:
- CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api - CLI_ARGS=${AUTO_CLI_ARGS:-"--allow-code --medvram --xformers --enable-insecure-extension-access --api"}
auto-cpu: auto-cpu:
<<: *automatic <<: *automatic
profiles: ["auto-cpu"] profiles: ["auto-cpu"]
deploy: {} deploy: {}
environment: environment:
- CLI_ARGS=--no-half --precision full --allow-code --enable-insecure-extension-access --api - CLI_ARGS=${AUTO_CPU_CLI_ARGS:-"--no-half --precision full --allow-code --enable-insecure-extension-access --api"}
invoke: &invoke invoke: &invoke
<<: *base_service <<: *base_service
@ -46,14 +46,14 @@ services:
image: sd-invoke:28 image: sd-invoke:28
environment: environment:
- PRELOAD=true - PRELOAD=true
- CLI_ARGS=--xformers - CLI_ARGS=${INVOKE_CLI_ARGS:-"--xformers"}
# invoke-cpu: # invoke-cpu:
# <<: *invoke # <<: *invoke
# profiles: ["invoke-cpu"] # profiles: ["invoke-cpu"]
# environment: # environment:
# - PRELOAD=true # - PRELOAD=true
# - CLI_ARGS=--always_use_cpu # - CLI_ARGS=${INVOKE_CPU_CLI_ARGS:-"--always_use_cpu"}
comfy: &comfy comfy: &comfy
<<: *base_service <<: *base_service
@ -62,12 +62,11 @@ services:
image: sd-comfy:2 image: sd-comfy:2
tty: true tty: true
environment: environment:
- CLI_ARGS= - CLI_ARGS=${COMFY_CLI_ARGS:-""}
comfy-cpu: comfy-cpu:
<<: *comfy <<: *comfy
profiles: ["comfy-cpu"] profiles: ["comfy-cpu"]
deploy: {} deploy: {}
environment: environment:
- CLI_ARGS=--cpu - CLI_ARGS=${COMFY_CPU_CLI_ARGS:-"--cpu"}

42
example.env Normal file
View file

@ -0,0 +1,42 @@
# This file lets you change default settings without editing the docker-compose.yml
# To override settings:
# 1. Rename this file to ".env" or copy it
# 2. Uncomment the parts you want to override
# 3. to use default values, comment the line again
# Do this while the container is not running
# Don't forget to move/copy the files to the new location, if you changed mounts
# You can see the default values in docker-compose.yml
##########################
### NETWORK ###
##########################
## The port on your machine ##
#HOST_PORT=7860
##########################
### MOUNTS ###
##########################
## Models, settings and other persistent files
#HOST_DATA_VOL=./data
## Target path for generated images ##
#HOST_OUT_VOL=./output
##########################
### CONTAINER SETTINGS ###
##########################
## AUTO + AUTO using CPU ##
#AUTO_CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api
#AUTO_CPU_CLI_ARGS=--no-half --precision full --allow-code --enable-insecure-extension-access --api
## Invoke + Invoke using CPU ##
#INVOKE_CLI_ARGS=--xformers
#INVOKE_CPU_CLI_ARGS=--always_use_cpu
## Comfy + Comfy using CPU ##
#COMFY_CLI_ARGS=
#COMFY_CPU_CLI_ARGS=--cpu