mirror of
https://github.com/open-webui/open-webui.git
synced 2026-06-14 03:30:25 +00:00
38 lines
1016 B
Bash
38 lines
1016 B
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
# ---------------------------------------------------------------------------
|
||
|
|
# Pull and run the official Ollama container with optional GPU support.
|
||
|
|
# ---------------------------------------------------------------------------
|
||
|
|
|
||
|
|
readonly CONTAINER="ollama"
|
||
|
|
readonly HOST_PORT="${OLLAMA_PORT:-11434}"
|
||
|
|
readonly CONTAINER_PORT=11434
|
||
|
|
|
||
|
|
read -rp "Enable GPU passthrough? [y/N]: " use_gpu
|
||
|
|
|
||
|
|
echo "Pulling latest Ollama image..."
|
||
|
|
docker pull ollama/ollama:latest
|
||
|
|
|
||
|
|
echo "Stopping any existing ${CONTAINER} container..."
|
||
|
|
docker rm -f "$CONTAINER" 2>/dev/null || true
|
||
|
|
|
||
|
|
gpu_flags=()
|
||
|
|
if [[ "${use_gpu,,}" =~ ^y(es)?$ ]]; then
|
||
|
|
gpu_flags=("--gpus=all")
|
||
|
|
echo "GPU passthrough enabled."
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "Starting ${CONTAINER}..."
|
||
|
|
docker run -d \
|
||
|
|
"${gpu_flags[@]}" \
|
||
|
|
-v "ollama:/root/.ollama" \
|
||
|
|
-p "${HOST_PORT}:${CONTAINER_PORT}" \
|
||
|
|
--name "$CONTAINER" \
|
||
|
|
ollama/ollama
|
||
|
|
|
||
|
|
echo "Cleaning up dangling images..."
|
||
|
|
docker image prune -f
|
||
|
|
|
||
|
|
echo "Ollama is running at http://localhost:${HOST_PORT}"
|