Getting started
Local-LLM App Starter
You can read this before you buy. After checkout, unzip local-llm-app-starter. The first session is the setup script, then the page at http://127.0.0.1:8787. The app talks to Ollama on this machine.
What you need installed
- Node.js 18 or newer. nodejs.org
- Ollama. On Windows, setup.ps1 offers a winget install when the ollama command is missing. On Linux and macOS, setup.sh offers the official install script. Both tell you to install from the Ollama site if you skip that. ollama.com
- Python is optional. setup.ps1 runs the GPU check when python is on PATH and skips it with a pointer to docs/VRAM.md when it is not.
- Disk space and time for the model download. The default chat model is llama3.2:3b, and the script also pulls nomic-embed-text. A large pull can run past this first sitting.
- A network connection for the install and the model download. After that, the server listens on 127.0.0.1 and the chat goes to local Ollama.
The first 15 minutes
-
Run the setup script
From the unzipped folder. If Linux or macOS reports that setup.sh is not executable, run chmod +x setup.sh first.
# Windows powershell -ExecutionPolicy Bypass -File .\setup.ps1 # Linux and macOS ./setup.sh -
Answer the prompts
The script checks for Node, asks before it installs Ollama, runs the GPU check when Python is available, then asks which chat model to pull. Press Enter to keep llama3.2:3b. It pulls that model and nomic-embed-text, then runs npm install and npm run build. If winget has just installed Ollama, the script says to open a new PowerShell window and run setup again.
-
Open the app
Start the server and open http://127.0.0.1:8787.
npm start -
Try it with no model
The server reads the MOCK environment variable. It does not load .env.example. You still need the npm install and npm run build from setup, because npm start serves the built files in dist/.
# PowerShell $env:MOCK="1"; npm start # Command Prompt set MOCK=1&& npm start # macOS and Linux MOCK=1 npm start -
Send one message, then one file
Send a chat message. Then add a .txt, .md, .csv or source file and ask a question about it. Chunks are embedded with nomic-embed-text and stored in data/index.json. Answers cite sources like [1]. PDF and Word files are outside this first session. The README says to extract their text before /api/ingest if you add that later.
Common problems
- The browser says the UI is not built
- The server responds with "UI not built: run npm run build, or use npm run dev" when dist/ is missing. setup.ps1 and setup.sh run npm run build. Run that yourself if you skipped the script.
- Chat fails and Ollama is not running
- Start the Ollama app, or run ollama serve. The client uses OLLAMA_URL, which defaults to http://127.0.0.1:11434. The README lists this under "Ollama not reachable".
- Asking about a document fails
- Pull the embedding model: ollama pull nomic-embed-text. That is the default EMBED_MODEL. The README lists embedding errors as this missing model.
- Answers are extremely slow
- The model is bigger than the GPU. npm run gpu calls python3 tools/gpu_fit.py. On Windows, if python3 is not a command, run python tools\gpu_fit.py or tools\gpu-fit.ps1. Detection uses nvidia-smi, or Apple unified memory. When neither is found, the script tells you to pass --vram in GB and says a CPU-only machine should stay with 1B to 3B models. The table is in docs/VRAM.md.
- npm run dev never shows the UI on Windows
- That script starts the API and Vite with a shell &. Use npm start after the build. For hot reload, use two terminals: npm run dev:server (API on port 8787) and npm run dev:web (UI on port 5173).
- I edited .env.example and nothing changed
- The server reads process environment variables only. There is no dotenv dependency. Set PORT (8787), HOST (127.0.0.1), OLLAMA_URL, EMBED_MODEL, INDEX_FILE or MOCK in the shell before npm start. .env.example is a list of those names.
- Someone else on the network cannot open it
- HOST defaults to 127.0.0.1, so only this machine can connect. HOST=0.0.0.0 listens on the network. The README says to do that only on a network you trust, because the app has no login.
- I changed the embedding model and old files look wrong
- Delete data/index.json and add the files again. The README says vectors are not compatible across embedding models.
Not sure which model your GPU can run? Try the free GPU model picker and setup guides on Lila Forge Local AI. local.lilaforge.com
Back to Local-LLM App Starter for what's included and checkout.