A NAS is a file server, not a fast computer — but it's always on, which makes it perfect for two jobs: being a permanent Tailscale node so your files and services are reachable anywhere, and quietly hosting Ollama so a local model is always available to the whole house.
The coding agents (Claude Code, Codex, Gemini) can run on the NAS in a container, but a PC or Mac is usually a nicer place for those. This page is honest about which jobs the NAS does well.
DSM is the Synology web interface you manage everything through. Container Manager is Synology's Docker app — it's how you run software on a NAS, because there's no winget, brew, or apt here.
Why this first: every AI tool below runs either inside a Docker container or as a Synology package. Getting Container Manager and SSH ready makes the rest copy-paste.
Open DSMIn a browser go to http://YOUR-NAS-IP:5000 (or your Synology address) and log in as an administrator.
This lets you type commands directly on the NAS. In DSM go to Control Panel → Terminal & SNMP and check Enable SSH service, then Apply.
Install Container ManagerOpen the Package Center, search for Container Manager, and click Install. On older DSM versions this same package is called Docker.
Anthropic's AI coding agent — the same kind of assistant that built this page. It lives in a terminal, reads and edits real files, and runs commands for you.
Why you want it: it does actual multi-step work (build a site, fix a script, organize files), not just chat.
Make a container to run it inThe clean way on a NAS is a Node container. SSH into the NAS, then start one:
ssh your-user@YOUR-NAS-IP sudo docker run -it --name ai-tools node:lts bash
That drops you inside a fresh Linux box with Node already installed.
Install & start itInside that container:
npm install -g @anthropic-ai/claude-code claude
The first run signs you in to your Anthropic account. After that, type what you want in plain English.
claude --version prints a version.OpenAI's command-line coding agent. Same idea as Claude Code, different brain — handy as a second opinion or when you've used up one tool's quota.
Why you want it: variety. Different models are stronger at different things; having both means you're never stuck.
Install (inside the same container)npm install -g @openai/codexStart it & log in
codex
First run lets you sign in with your ChatGPT/OpenAI account (or an API key). Then describe what you want, same as Claude.
codex --version prints a version and codex opens its prompt.Google's command-line AI agent. Notable for a very generous free tier and an enormous memory (context window) for long documents.
Why you want it: free headroom. Great for big, sprawling tasks before you spend on the others.
Install (inside the same container)npm install -g @google/gemini-cliStart it & log in
gemini
First run opens a browser sign-in with a Google account. The free tier is large — you likely won't pay anything to start.
gemini --version prints a version and gemini opens its prompt.A coding agent from Nous Research — "the agent that grows with you." Same idea as Claude Code, Codex, and Gemini, with two twists: it's self-improving (it learns your preferences over time), and it's model-agnostic — you point it at whichever brain you want (Nous, OpenAI, Anthropic, OpenRouter, and more).
Why you'd add it: it's a fourth tool in the rotation and the most model-flexible of the bunch — handy for staying un-locked-in (see the future-proofing principles).
pip install hermes-agent hermes postinstallSet it up & start it
hermes setup # configure it the first time hermes --tui # start it (modern terminal UI)
During setup it asks how you want to sign in — an API key, or an OAuth login via hermes setup --portal. It works with the Nous Portal, OpenAI, Anthropic, OpenRouter, and others, so you can reuse an account you already have.
hermes --version prints a version.A private network (a "mesh VPN") that connects all your devices to each other securely — your PCs, Macs, phone, and this NAS — as if they were in the same room, from anywhere in the world. An always-on NAS is the ideal permanent node.
Why you want it: this is the glue. Once the NAS is on Tailscale, its files and the Ollama you set up next are reachable from every device, privately, no matter where you are.
Install the official packageSynology publishes an official Tailscale package. Open the Package Center, search Tailscale, and click Install.
Sign inOpen the Tailscale package and click Log in. Sign in with the same account you use on your other devices, so they all join one private network.
100.x.y.z address, and the NAS appears in your Tailscale admin list.Runs AI models on your own NAS instead of the cloud — free, private, offline-capable. Because the NAS never sleeps, the model is always available to the whole house.
Why you want it: no per-use cost, nothing leaves your network, and paired with Tailscale (Step 5) every device can share this one model server.
Run the Ollama containerRun the official Ollama image in Container Manager — easiest via SSH:
sudo docker run -d --name ollama -p 11434:11434 -v /volume1/docker/ollama:/root/.ollama ollama/ollamaPull and run a small model
sudo docker exec -it ollama ollama run llama3.2
curl http://localhost:11434/api/tags lists your model, or the run command gives you a >>> prompt.11434 is published and the NAS is on Tailscale, every device in the house can use this one model server at the NAS's Tailscale address on port 11434.Your NAS is now a permanent Tailscale node and an always-on Ollama server the whole house can reach — plus a container ready to run the coding agents when you want them. The heavy coding work is happier on a PC or Mac, but the always-on jobs are exactly what a NAS is for.