From 2884baf0001b454c8939bc6c107eba8c064f7454 Mon Sep 17 00:00:00 2001 From: geoffsee <> Date: Wed, 4 Jun 2025 14:56:17 -0400 Subject: [PATCH] Add Docker Compose setup for Ollama and Open-WebUI services - Replaced single Docker command for Ollama with a `docker-compose` setup. - Updated `start_inference_server.sh` to use `ollama-compose.yml`. - Updated README with new usage instructions for Ollama web UI access. --- README.md | 5 +-- packages/scripts/ollama-compose.yml | 38 ++++++++++++++++++++++ packages/scripts/start_inference_server.sh | 5 +-- 3 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 packages/scripts/ollama-compose.yml diff --git a/README.md b/README.md index 06dbe55..60e41d9 100644 --- a/README.md +++ b/README.md @@ -93,8 +93,7 @@ bun run server:dev # Restart server ~~~bash # See https://ollama.com/library for available models -MODEL_TO_ADD=gemma3 -docker exec -it ollama ollama run ${MODEL_TO_ADD} +use the ollama web ui @ http://localhost:8080 ~~~ @@ -141,3 +140,5 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ~~~ + + diff --git a/packages/scripts/ollama-compose.yml b/packages/scripts/ollama-compose.yml new file mode 100644 index 0000000..675ceeb --- /dev/null +++ b/packages/scripts/ollama-compose.yml @@ -0,0 +1,38 @@ +services: + ollama: + volumes: + - ollama:/root/.ollama + container_name: ollama + pull_policy: always + tty: true + restart: unless-stopped + image: ollama/ollama:${OLLAMA_DOCKER_TAG-latest} + expose: + - 11434 + ports: + - "11434:11434" + + open-webui: + build: + context: . + args: + OLLAMA_BASE_URL: '/ollama' + dockerfile: Dockerfile + image: ghcr.io/open-webui/open-webui:${WEBUI_DOCKER_TAG-main} + container_name: open-webui + volumes: + - open-webui:/app/backend/data + depends_on: + - ollama + ports: + - ${OPEN_WEBUI_PORT-8080}:8080 + environment: + - 'OLLAMA_BASE_URL=http://ollama:11434' + - 'WEBUI_SECRET_KEY=' + extra_hosts: + - host.docker.internal:host-gateway + restart: unless-stopped + +volumes: + ollama: {} + open-webui: {} \ No newline at end of file diff --git a/packages/scripts/start_inference_server.sh b/packages/scripts/start_inference_server.sh index 1de83b1..17a96c5 100755 --- a/packages/scripts/start_inference_server.sh +++ b/packages/scripts/start_inference_server.sh @@ -5,8 +5,9 @@ if [ "$1" = "mlx-omni-server" ]; then mlx-omni-server --log-level debug elif [ "$1" = "ollama" ]; then echo "starting ollama" - docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama + SCRIPT_DIR=$(dirname $(realpath "$0")) + docker-compose -f "${SCRIPT_DIR}/ollama-compose.yml" up -d else - printf "Error: First argument must be 'mlx-omni-server'\n" + printf "Error: First argument must be 'mlx-omni-server' or 'ollama'\n" exit 1 fi