Sign inSign up

scratchy/ollama

By scratchy

•Updated 22 days ago

Image
0

998

scratchy/ollama repository overview

⁠scratchy/ollama

Ollama on NVIDIA CUDA 12.4.1, ready for GPU containers.

⁠Dockerfile
FROM nvidia/cuda:12.4.1-base-ubuntu22.04

ENV DEBIAN_FRONTEND=noninteractive
ENV OLLAMA_HOST=0.0.0.0:11434
ENV OLLAMA_CONTEXT_LENGTH=65536

RUN apt-get update && apt-get install -y \
    curl \
    ca-certificates \
    zstd \
    && rm -rf /var/lib/apt/lists/*

# Install Ollama
RUN curl -fsSL https://ollama.com/install.sh | sh

COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

EXPOSE 11434

ENTRYPOINT ["/entrypoint.sh"]
⁠entrypoint.sh
#!/bin/bash
set -euo pipefail

NODE_ID="$(hostname | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9-]/-/g')-$(printf '%04x' $RANDOM)"

echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "  DYNAMIC GPU NODE INSTALLER  –  $NODE_ID"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""

# ── Export Docker env vars so SSH sessions can see them ─────────────────
printenv | grep -v '^_=' > /etc/environment

# ── [1/2] Start Ollama ──────────────────────────────────────────────────
echo "▶ [1/2] Starting Ollama..."
ollama serve &
OLLAMA_PID=$!

echo "  Waiting for Ollama..."
for i in $(seq 1 30); do
  curl -sf "http://localhost:11434/api/version" > /dev/null 2>&1 && echo "  Ollama is up!" && break
  echo "  Attempt $i/30..." && sleep 3
done
curl -sf "http://localhost:11434/api/version" || { echo "ERROR: Ollama not responding"; exit 1; }

# ── [2/2] placeholder — add your step 2 logic here ─────────────────────
echo ""
echo "▶ [2/2] (step 2 not provided — add your logic here)"

# If additional commands were passed, exec them now
if [ "$#" -gt 0 ]; then
  echo ""
  echo "▶ Running: $*"
  exec "$@"
fi

# Keep container alive by waiting on Ollama process
wait $OLLAMA_PID
⁠Environment Variables
VariableDefaultDescription
OLLAMA_HOST0.0.0.0:11434Bind address for Ollama
OLLAMA_CONTEXT_LENGTH65536Context window size
⁠Usage
docker run --gpus all -p 11434:11434 scratchy/ollama

Tag summary

Content type

Image

Digest

sha256:d96547adb…

Size

2.9 GB

Last updated

7 months ago

docker pull scratchy/ollama