# Docker image for the Text Generation Web UI: A Gradio web UI for Large Language Models. Supports Transformers, AWQ, GPTQ, llama.cpp (GGUF), Llama models ![Docker Pulls](https://img.shields.io/docker/pulls/ashleykza/oobabooga?style=for-the-badge&logo=docker&label=Docker%20Pulls&link=https%3A%2F%2Fhub.docker.com%2Frepository%2Fdocker%2Fashleykza%2Foobabooga%2Fgeneral) ![Template Version](https://img.shields.io/github/v/tag/ashleykleynhans/text-generation-docker?style=for-the-badge&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjUuMywgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAyMDAwIDIwMDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDIwMDAgMjAwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiM2NzNBQjc7fQo8L3N0eWxlPgo8Zz4KCTxnPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMDE3Ljk1LDcxMS4wNGMtNC4yMiwyLjM2LTkuMTgsMy4wMS0xMy44NiwxLjgyTDM4Ni4xNyw1NTUuM2MtNDEuNzItMTAuNzYtODYuMDItMC42My0xMTYuNiwyOS43MwoJCQlsLTEuNCwxLjM5Yy0zNS45MiwzNS42NS0yNy41NSw5NS44LDE2Ljc0LDEyMC4zbDU4NC4zMiwzMjQuMjNjMzEuMzYsMTcuNCw1MC44Miw1MC40NSw1MC44Miw4Ni4zMnY4MDYuNzYKCQkJYzAsMzUuNDktMzguNDEsNTcuNjctNjkuMTUsMzkuOTRsLTcwMy4xNS00MDUuNjRjLTIzLjYtMTMuNjEtMzguMTMtMzguNzgtMzguMTMtNjYuMDJWNjY2LjYzYzAtODcuMjQsNDYuNDUtMTY3Ljg5LDEyMS45Mi0yMTEuNjYKCQkJTDkzMy44NSw0Mi4xNWMyMy40OC0xMy44LDUxLjQ3LTE3LjcsNzcuODMtMTAuODRsNzQ1LjcxLDE5NC4xYzMxLjUzLDguMjEsMzYuOTksNTAuNjUsOC41Niw2Ni41N0wxMDE3Ljk1LDcxMS4wNHoiLz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTUyNy43NSw1MzYuMzhsMTI4Ljg5LTc5LjYzbDE4OS45MiwxMDkuMTdjMjcuMjQsMTUuNjYsNDMuOTcsNDQuNzMsNDMuODIsNzYuMTVsLTQsODU3LjYKCQkJYy0wLjExLDI0LjM5LTEzLjE1LDQ2Ljg5LTM0LjI1LDU5LjExbC03MDEuNzUsNDA2LjYxYy0zMi4zLDE4LjcxLTcyLjc0LTQuNTktNzIuNzQtNDEuOTJ2LTc5Ny40MwoJCQljMC0zOC45OCwyMS4wNi03NC45MSw1NS4wNy05My45Nmw1OTAuMTctMzMwLjUzYzE4LjIzLTEwLjIxLDE4LjY1LTM2LjMsMC43NS00Ny4wOUwxNTI3Ljc1LDUzNi4zOHoiLz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTUyNC4wMSw2NjUuOTEiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K&logoColor=%23ffffff&label=Template%20Version&color=%23673ab7)
> [!NOTE] > The legacy APIs no longer work with the latest version of the > Text Generation Web UI. They were deprecated in > November 2023 and have now been completely removed. > If you want to use the LEGACY APIs, please set the image tag > to `1.9.5`. You will also have to add port 6000 for the > legacy REST API and/or port 6005 for the legacy Websockets API. ## Installs * Ubuntu 22.04 LTS * CUDA 12.1.1 * Python 3.10.12 * [Text Generation Web UI]( https://github.com/oobabooga/text-generation-webui) * Torch 2.2.1 * Jupyter Lab * [runpodctl](https://github.com/runpod/runpodctl) * [OhMyRunPod](https://github.com/kodxana/OhMyRunPod) * [RunPod File Uploader](https://github.com/kodxana/RunPod-FilleUploader) * [croc](https://github.com/schollz/croc) * [rclone](https://rclone.org/) * speedtest-cli * screen * tmux ## Available on RunPod This image is designed to work on [RunPod](https://runpod.io?ref=2xxro4sy). You can use my custom [RunPod template]( https://runpod.io/gsc?template=el5m58e1to&ref=2xxro4sy) to launch it on RunPod. ## Building the Docker image > [!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. ```bash # Clone the repo git clone https://github.com/ashleykleynhans/text-generation-docker.git # Log in to Docker Hub docker login # Build the image, tag the image, and push the image to Docker Hub cd text-generation-docker 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 ``` ## Running Locally ### Install Nvidia CUDA Driver - [Linux](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html) - [Windows](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html) ### Start the Docker container ```bash docker run -d \ --gpus all \ -v /workspace \ -p 3000:3001 \ -p 5000:5001 \ -p 8888:8888 \ -p 2999:2999 \ -e VENV_PATH="/workspace/venvs/text-generation-webui" \ ashleykza/oobabooga:latest ``` You can obviously substitute the image name and tag with your own. ## Ports | Connect Port | Internal Port | Description | |--------------|---------------|------------------------| | 3000 | 3001 | Text Generation Web UI | | 5000 | 5001 | Open AI Compatible API | | 8888 | 8888 | Jupyter Lab | | 2999 | 2999 | RunPod File Uploader | ## Environment Variables | Variable | Description | Default | |----------------------|----------------------------------------------|----------------------------------------| | VENV_PATH | Set the path for the Python venv for the app | /workspace/venvs/text-generation-webui | | JUPYTER_LAB_PASSWORD | Set a password for Jupyter lab | not set - no password | | DISABLE_AUTOLAUNCH | Disable Web UI from launching automatically | (not set) | ## Logs Text Generation Web UI creates a log file, and you can tail the log instead of killing the service to view the logs. | Application | Log file | |------------------------|-----------------------------| | Text Generation Web UI | /workspace/logs/textgen.log | For example: ```bash tail -f /workspace/logs/textgen.log ``` ## Community and Contributing Pull requests and issues on [GitHub](https://github.com/ashleykleynhans/text-generation-docker) are welcome. Bug fixes and new features are encouraged. ## Appreciate my work? Buy Me A Coffee