Skip to content

Install Ollama for LingoLark

LingoLark can translate saved phrases using a local AI engine. When you choose Ollama as the translation model, the extension talks to an Ollama server on your computer—not to LingoLark’s servers.

This guide walks you through installing Ollama, downloading the model LingoLark expects, and checking that Chrome can reach it.

What you need

ItemWhy
Ollama running on your machineHosts the model and answers translation requests at http://127.0.0.1:11434.
Model qwen2.5:3bThe extension is configured to use this tag. Other models will not work unless you change project settings yourself.
Enough disk and RAMSmall models still need a few GB of disk; inference uses CPU or GPU depending on your hardware.
Google Chrome (or Chromium) with LingoLark installedUses the local API from the extension popup and background worker.

Quick overview

  1. Install and start Ollama.
  2. Pull the model: qwen2.5:3b.
  3. Allow browser extensions to call Ollama (see Allow LingoLark to reach Ollama—required for the desktop app on most setups).
  4. Confirm the API responds on port 11434.
  5. In LingoLark, set Translation model to Ollama.

Use this path if you want a normal desktop install without Docker.

1. Download and install

  1. Open https://ollama.com/download.
  2. Download the installer for your system (macOS, Windows, or Linux).
  3. Run the installer and start Ollama (menu bar icon on Mac, system tray on Windows, or ollama serve on Linux).

Ollama listens on http://127.0.0.1:11434 by default—the same address LingoLark uses.

2. Download the translation model

Open a terminal (Terminal.app, PowerShell, or your Linux shell) and run:

bash
ollama pull qwen2.5:3b

The first download can take several minutes depending on your connection. You only need to do this once per machine unless you remove the model.

Check that the model is present:

bash
ollama list

You should see qwen2.5:3b in the list.

3. Allow LingoLark to reach Ollama

Chrome extensions send requests with an origin like chrome-extension://…. Ollama blocks those unless you allow extension origins.

Set OLLAMA_ORIGINS so extension traffic is permitted, then restart Ollama so the setting applies.

macOS (Ollama menu bar app)

Quit Ollama completely, then in Terminal:

bash
launchctl setenv OLLAMA_ORIGINS "chrome-extension://*"

Open the Ollama app again from Applications.

Windows

  1. Open Settings → System → About → Advanced system settings → Environment Variables.
  2. Under User variables, add:
    • Name: OLLAMA_ORIGINS
    • Value: chrome-extension://*
  3. Quit Ollama from the tray, then start it again.

Linux

If you run ollama serve yourself:

bash
export OLLAMA_ORIGINS="chrome-extension://*"
ollama serve

If Ollama runs as a systemd service, add Environment=OLLAMA_ORIGINS=chrome-extension://* to the service unit (see Ollama’s FAQ), then restart the service.

Tip: For tighter security you can use your extension’s exact origin (from chrome://extensions, copy the ID) instead of chrome-extension://*.

4. Verify Ollama is running

bash
curl -s http://127.0.0.1:11434/api/tags

You should get JSON listing models, including qwen2.5:3b. An empty model list means step 2 did not finish successfully.

Option B — Run Ollama with Docker (developers / repo checkout)

If you cloned the LingoLark repository, you can run the same Ollama version and model using Docker Compose. The compose file already sets OLLAMA_ORIGINS for Chrome extensions.

From the repository root:

1. Start Ollama

bash
docker compose up -d

2. Download the model (once per Docker volume, or after docker compose down -v)

bash
docker compose --profile setup run --rm model-setup

3. Verify

bash
curl -s http://127.0.0.1:11434/api/tags

Stop later (optional):

bash
docker compose down

Model files stay in the ollama_models volume unless you remove volumes with docker compose down -v.

Use Ollama in LingoLark

  1. Make sure Ollama is running and qwen2.5:3b is pulled.
  2. Open the LingoLark toolbar popup (extension icon).
  3. Under Translation model, choose Ollama.
    • If Ollama is greyed out or missing, the extension could not reach http://127.0.0.1:11434—work through Troubleshooting below.
  4. Save a phrase (side panel + Save to LingoLark context menu). Translations run against your local model.

You can switch to Manual entry or Nano (Chrome on-device AI) without uninstalling Ollama; only the active backend changes.

Troubleshooting

“Ollama” is disabled in the translation dropdown

  • Confirm Ollama is running: curl -s http://127.0.0.1:11434/api/tags should succeed.
  • Confirm qwen2.5:3b appears in ollama list or in the /api/tags JSON.
  • Reload the extension at chrome://extensionsReload on LingoLark, then open the popup again.

curl works but the extension still cannot translate

  • Almost always OLLAMA_ORIGINS is missing for a desktop Ollama install. Set it as in step 3 and restart Ollama.
  • Open the extension’s service worker console (chrome://extensions → LingoLark → Service worker) and look for network or CORS errors mentioning 127.0.0.1:11434.

Model pull fails or is very slow

  • Check disk space (models are multi‑GB).
  • Retry: ollama pull qwen2.5:3b.
  • On Docker, ensure docker compose up -d finished before running the model-setup profile.

Port 11434 already in use

  • Another Ollama instance (app + Docker) may be running. Stop one of them.
  • Find what is bound to the port (platform-specific tools such as lsof on macOS) and stop the conflicting process.

Translations are slow or the machine gets hot

  • Local inference is CPU/GPU intensive. Smaller hardware may take longer per phrase; that is expected for on-device AI.

Reference (defaults)

SettingValue used by LingoLark
API URLhttp://127.0.0.1:11434
Model tagqwen2.5:3b

These match the project’s extension/lib/config.js and docker-compose.yml. Changing them requires editing the extension or compose file and reloading—out of scope for this user guide.

Further reading