A runtime environment for serving large language models locally. It ships the Ollama binary, runs the server as a user service, and persists downloaded models on the host across workshop updates.
A minimal workshop:
# workshop.yaml
name: ollama-app
base: ubuntu@24.04
sdks:
- name: ollama
channel: latest/stable
actions:
pull: |
ollama pull "$@"
run: |
ollama run "$@"This demonstrates pulling and running a model with persistent model storage.
- No prerequisite SDKs are required.
- No project files are needed; the SDK provides the Ollama server and CLI.
- On launch, the SDK starts the Ollama server as a systemd user service and
configures
PATH.
Once the workshop is ready:
workshop shell
ollama pull llama3.2
ollama run llama3.2Downloaded models are stored in ~/.ollama/models, which is mapped to the host
via the models mount plug. Subsequent workshop updates reuse cached models.
The Ollama server exposes a REST API on port 11434 inside the workshop. Other
SDKs can reach it via the ollama-server tunnel slot:
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt": "Hello"
}'- Interface:
gpu - Purpose: Grants access to GPU hardware on the host for model inference.
- Interface:
mount - Workshop target:
/home/workshop/.ollama/models - Purpose: Persists downloaded models between workshop updates.
- Interface:
tunnel - Endpoint:
11434 - Purpose: Exposes the Ollama API server for use by other SDKs or host tools.
- Ollama community: Ollama Discord
- Workshop forum: Discourse
- Please review our Code of Conduct before participating.
All contributions, including code, documentation updates, and issue reports, are welcome!
- See
CONTRIBUTING.mdfor guidelines. - Open issues or pull requests on the official repository.
Copyright 2025 Canonical Ltd.
This SDK is licensed under the MIT License, the same license as Ollama.