Deploy nolock + llama.cpp: ai coding harness + local slms (micro-agents)
ai coding harness + local slms (micro-agents) - unlimited free tokens
nolock
Just deployed
llamacpp
Just deployed
/models
Deploy and Host nolock + llama.cpp: ai coding harness + local slms (micro-agents) on Railway
nolock is an AI-native coding harness — a full IDE with chat, agents, micro-agents, tools, terminal, notebooks, and git session diffs. Paired with llama.cpp, it runs local small language models (SLMs) for private, free-token micro-agent execution — all from your browser, no API keys, no per-token bills.
About Hosting nolock + llama.cpp: ai coding harness + local slms (micro-agents)
This stack deploys two isolated Railway services. nolock serves the web frontend + Rust backend (the exact same codebase as the Tauri v2 desktop app) — chat, agents, micro-agents, file tools, search, linter, sessions, and git diffs. llama.cpp runs the official server image and pulls a GGUF model from HuggingFace into a persistent volume on first boot. The services talk over Railway's private network — llama.cpp is never exposed publicly. The model is a configuration (MODEL_HF), swapped by changing a variable and redeploying; previously downloaded models persist on the volume, so switching back is instant. Tool calling works end-to-end: the SLM calls tools (file ops, search, git) and uses the results in its answer.
Common Use Cases
- Private AI coding assistant — an agentic IDE with zero per-token costs and prompts that never leave your Railway instance
- Local micro-agents — code review, research, and writing agents powered by small local models, spawned from chat
- Free-token API backend — llama.cpp exposes an OpenAI-compatible
/v1/chat/completionsendpoint you own - Self-hosted AI workspace — persistent sessions, git diffs, terminal, and notebooks, all in the browser
Dependencies for nolock + llama.cpp: ai coding harness + local slms (micro-agents) Hosting
- nolock web app — React frontend + Rust backend (
nolock-server), the same codebase as the Tauri desktop app - llama.cpp server — official
ghcr.io/ggml-org/llama.cpp:serverimage, GGUF models persisted at/models - Railway private networking — nolock reaches llama.cpp via
http://llamacpp.railway.internal:8080(never public) - Persistent volumes — one for the GGUF model (
/models), one for nolock data (/data/nolock) - HuggingFace GGUF model — any GGUF repo, e.g.
impacte/ullr:Q4_K_M
Implementation Details
llama.cpp service (raw image, no public domain):
# Start command
/app/llama-server -hf ${MODEL_HF} --host 0.0.0.0 --port 8080 --threads 4 --ctx-size 4096
# Variables
MODEL_HF=impacte/ullr:Q4_K_M # /: — the model is a configuration
LLAMA_CACHE=/models # persistent volume — model downloads once, survives redeploys
## Why Deploy
nolock + llama.cpp: ai coding harness + local slms (micro-agents) on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying nolock + llama.cpp: ai coding harness + local slms (micro-agents) on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
nolock
impacte-tech/nolockNOLOCK_WEB_TOKEN
your token
