Skip to content

IA Ollama Installation

Lean's edited this page May 23, 2026 · 19 revisions

Local (User Space)

  • sudo pacman -S podman
  • systemctl --user enable podman.socket --now
  • vim ~/.config/containers/storage.conf
[storage]
driver = "overlay"
graphroot = "/home/user/path/to/podman-storage"
runroot = "/tmp/podman-run-1000"
  • mkdir -p /home/user/path/to/podman-storage
  • mkdir -p /home/user/path/to/ollama
  • vim /home/user/path/to/run-ollama.sh
#!/bin/sh

APP_DIR="/home/user/path/to/ollama"
mkdir -p $APP_DIR

if podman container exists ollama; then
    podman start ollama
else
    podman run -d \
      --name ollama \
      --restart=always \
      --device nvidia.com/gpu=all \
      -v /home/user/path/to/ollama:/root/.ollama \
      -p 11434:11434 \
      docker.io/ollama/ollama
fi

if ! podman exec ollama ollama list | grep -q "qwen3.5:9b"; then
    podman exec -it ollama ollama pull qwen3.5:9b
fi

if ! podman exec ollama ollama list | grep -q "nomic-embed-text"; then
    podman exec -it ollama ollama pull nomic-embed-text
fi

podman exec -it ollama ollama run qwen3.5:9b
  • chmod +x /home/user/path/to/run-ollama.sh
  • Now exec the run.sh for running the ollama and model

RAG (IA with documentation to read)

  • mkdir -p /home/user/path/to/rag-api
  • mkdir -p /home/user/path/to/documents
cat > /home/user/path/to/rag-api/Containerfile <<EOF
FROM python:3.12

WORKDIR /app

RUN pip install fastapi uvicorn \
    llama-index \
    llama-index-llms-ollama \
    llama-index-embeddings-ollama \
    chromadb \
    pypdf

COPY app.py .

CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000"]
EOF
cat > /home/user/path/to/rag-api/app.py <<EOF
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def root():
    return {"status": "ok"}
EOF
  • vim /home/user/path/to/run-chromadb.sh
#!/bin/sh

APP_DIR="/home/user/path/to/chromadb"
mkdir -p $APP_DIR

if podman container exists chromadb; then
    podman start chromadb
else
    podman run -d \
      --name chromadb \
      --restart=always \
      -v /home/user/path/to/chromadb:/chroma/chroma \
      -p 8001:8000 \
      docker.io/chromadb/chroma
fi

podman logs --tail 999 chromadb && podman exec -it chromadb sh
  • vim /home/user/path/to/run-rag-api.sh
#!/bin/sh

IMAGE_NAME="localhost/rag-api"
APP_DIR="/home/user/path/to/rag-api"
mkdir -p $APP_DIR

if ! podman image exists "$IMAGE_NAME"; then
    echo "Building rag-api..."
    podman build -t "$IMAGE_NAME" "$APP_DIR"
fi

if podman container exists rag-api; then
    podman start rag-api
else
    podman run -d \
      --name rag-api \
      --restart=always \
      -v /home/user/path/to/documents:/app/documents \
      -p 8000:8000 \
      "$IMAGE_NAME"
fi

podman logs --tail 999 rag-api && podman exec -it rag-api sh
  • (Ensure ollama is running)

  • podman exec -it ollama ollama pull nomic-embed-text

Clone this wiki locally