Run Fooocus in a docker container locally or in the cloud.
Note
These images do not bundle models or third-party configurations. You should use a provisioning script to automatically configure your container. You can find examples in config/provisioning
.
All AI-Dock containers share a common base which is designed to make running on cloud services such as vast.ai as straightforward and user friendly as possible.
Common features and options are documented in the base wiki but any additional features unique to this image will be detailed below.
The :latest
tag points to :latest-cuda
Tags follow these patterns:
-
:v2-cuda-[x.x.x]-[base|runtime]-[ubuntu-version]
-
:latest-cuda
→:v2-cuda-12.1.1-base-22.04
-
:rocm-[x.x.x]-runtime-[ubuntu-version]
-
:latest-rocm
→:v2-rocm-6.0-core-22.04
-
:cpu-ubuntu-[ubuntu-version]
-
:latest-cpu
→:v2-cpu-22.04
Browse ghcr.io for an image suitable for your target environment. You can also find CUDA images at DockerHub.
Supported Python versions: 3.10
Supported Platforms: NVIDIA CUDA
, AMD ROCm
, CPU
Variable | Description |
---|---|
AUTO_UPDATE |
Update Fooocus on startup (default false ) |
FOOOCUS_REF |
Fooocus branch/tag/commit hash for auto update. (default to latest release) |
FOOOCUS_ARGS |
Startup arguments. eg. --preset realistic |
FOOOCUS_PORT_HOST |
Web UI port (default 7865 ) |
FOOOCUS_URL |
Override $DIRECT_ADDRESS:port with URL for Web UI |
See the base environment variables here for more configuration options.
Environment | Packages |
---|---|
fooocus |
Fooocus and dependencies |
The fooocus
environment will be activated on shell login.
If you have a storage volume mounted at $WORKSPACE
, you may wish to persist your environment for future use after destroying the container. To do this you can run:
venv-sync fooocus && sudo supervisorctl restart fooocus
See the base micromamba environments here.
The following services will be launched alongside the default services provided by the base image.
The service will launch on port 7865
unless you have specified an override with FOOOCUS_PORT_HOST
.
If variable AUTO_UPDATE=true
, Fooocus will be updated to the latest version on container start. You can pin the version to a branch or commit hash by setting the FOOOCUS_BRANCH
variable.
You can set startup flags by using variable FOOOCUS_ARGS
.
To manage this service you can use supervisorctl [start|stop|restart] fooocus
.
Note
All services are password protected by default. See the security and environment variables documentation for more information.
Vast.ai
The author (@robballantyne) may be compensated if you sign up to services linked in this document. Testing multiple variants of GPU images in many different environments is both costly and time-consuming; This helps to offset costs