Docker
Ensure your Docker setup is able to use your GPU. Then:
docker run --runtime=nvidia --gpus=all --publish 9090:9090 ghcr.io/invoke-ai/invokeaiOnce the container starts up, open http://localhost:9090 in your browser, install some models, and start generating.
Build-It-Yourself
Section titled “Build-It-Yourself”All the docker materials are located inside the docker directory in the Git repo.
cd dockercp .env.sample .envdocker compose upWe also ship the run.sh convenience script. See the docker/README.md file for detailed instructions on how to customize the docker setup to your needs.
Prerequisites
Section titled “Prerequisites”On the Docker Desktop app, go to Preferences -> Resources -> Advanced. Increase the CPUs and Memory to avoid this Issue. You may need to increase Swap and Disk image size too.
Set up your environment variables. In the docker directory, make a copy of .env.sample and name it .env. Make changes as necessary.
Any environment variables supported by InvokeAI can be set here - please see Configurations for further detail.
At the very least, you might want to set the INVOKEAI_ROOT environment variable
to point to the location where you wish to store your InvokeAI models, configuration, and outputs.
| Environment Variable | Default value | Description |
|---|---|---|
INVOKEAI_ROOT | ~/invokeai | Required - the location of your InvokeAI root directory. It will be created if it does not exist. |
HUGGING_FACE_HUB_TOKEN | InvokeAI will work without it, but some of the integrations with HuggingFace (like downloading from models from private repositories) may not work | |
GPU_DRIVER | cuda | Optionally change this to rocm to build the image for AMD GPUs. NOTE: Use the build.sh script to build the image for this to take effect. |
Build the Image
Section titled “Build the Image”Use the standard docker compose build command from within the docker directory.
If using an AMD GPU:
a: set the GPU_DRIVER=rocm environment variable in docker-compose.yml and continue using docker compose build as usual, or
b: set GPU_DRIVER=rocm in the .env file and use the build.sh script, provided for convenience
Run the Container
Section titled “Run the Container”Use the standard docker compose up command, and generally the docker compose CLI as usual.
Once the container starts up (and configures the InvokeAI root directory if this is a new installation), you can access InvokeAI at http://localhost:9090
Troubleshooting / FAQ
Section titled “Troubleshooting / FAQ””I am running Windows under WSL2, and am seeing a ‘no such file or directory’ error.”
Your docker-entrypoint.sh might have has Windows (CRLF) line endings, depending how you cloned the repository.
To solve this, change the line endings in the docker-entrypoint.sh file to LF. You can do this in VSCode
(Ctrl+P and search for “line endings”), or by using the dos2unix utility in WSL.
Finally, you may delete docker-entrypoint.sh followed by git pull; git checkout docker/docker-entrypoint.sh
to reset the file to its most recent version.
For more information on this issue, see Docker Desktop documentation