- Ubuntu 22.04 LTS
- CUDA 12.1
- Python 3.11.9
- Torch 2.2.2
- xformers 0.0.25.post1
- Jupyter Lab
- code-server
- InvokeAI v4.2.7post1
- runpodctl
- OhMyRunPod
- RunPod File Uploader
- croc
- rclone
- Application Manager
- CivitAI Downloader
This image is designed to work on RunPod. You can use my custom RunPod template to launch it on RunPod.
Note
You will need to edit the docker-bake.hcl
file and update REGISTRY_USER
,
and RELEASE
. You can obviously edit the other values too, but these
are the most important ones.
Important
In order to cache the models, you will need at least 32GB of CPU/system
memory (not VRAM) due to the large size of the models. If you have less
than 32GB of system memory, you can comment out or remove the code in the
Dockerfile
that caches the models.
# Clone the repo
git clone https://github.com/ashleykleynhans/invokeai-docker.git
# Log in to Docker Hub
docker login
# Build the image, tag the image, and push the image to Docker Hub
docker buildx bake -f docker-bake.hcl --push
# Same as above but customize registry/user/release:
REGISTRY=ghcr.io REGISTRY_USER=myuser RELEASE=my-release docker buildx \
bake -f docker-bake.hcl --push
docker run -d \
--gpus all \
-v /workspace \
-p 2999:2999 \
-p 3000:3001 \
-p 7777:7777 \
-p 8000:8000 \
-p 8888:8888 \
-e JUPYTER_PASSWORD=Jup1t3R! \
ashleykza/invokeai:latest
You can obviously substitute the image name and tag with your own.
Connect Port | Internal Port | Description |
---|---|---|
3000 | 3001 | InvokeAI |
7777 | 7777 | Code Server |
8000 | 8000 | Application Manager |
8888 | 8888 | Jupyter Lab |
2999 | 2999 | RunPod File Uploader |
Variable | Description | Default |
---|---|---|
JUPYTER_LAB_PASSWORD | Set a password for Jupyter lab | not set - no password |
DISABLE_AUTOLAUNCH | Disable application from launching automatically | (not set) |
DISABLE_SYNC | Disable syncing if using a RunPod network volume | (not set) |
InvokeAI creates a log file, and you can tail it instead of killing the service to view the logs
Application | Log file |
---|---|
InvokeAI | /workspace/logs/invokeai.log |
A special word of thanks to Madiator2011 for advice and suggestions on improving these images, as well as all of the code for the code-server which was borrowed from his madiator-docker-runpod GitHub repository.
Pull requests and issues on GitHub are welcome. Bug fixes and new features are encouraged.