First the Mac, then the NAS.
The Mac reads the whole archive once, because it is much faster at it. The NAS then takes over the finished index and runs it permanently. Both runs use the same setup wizard.
What you need
On the Mac
- Docker Desktop, installed and running
- Tailscale, signed in
- Space for the index: about a tenth of the archive size, at least 5 GB
- Power adapter connected
On the NAS
- Container Manager installed
- SSH enabled: Control Panel → Terminal & SNMP
- Tailscale, signed in
- An administrator account, for the installation only
From us and from you
- The package
nasindex-<version>.zipfrom Digital Apes - The address of the NAS, e.g.
192.168.1.20 - The name of the archive share, e.g.
Projekte - A NAS user with read-only access to this share, with its password
Read the archive once
The Mac accesses the NAS over the network and only reads. Nothing in the archive changes.
Unpack the package
Double-click the zip. A folder
nasindexappears. Put it in a permanent place, for example your home folder. Do not rename or move the folder afterwards.Start the wizard
In the
nasindexfolder, double-clickInstallieren.command. If macOS blocks the file, open System Settings → Privacy & Security and click «Open Anyway».Answer the questions
The wizard asks You answer Läuft der Container auf dem NAS selbst?Is the container running on the NAS itself? Enter for no SMB-Server (NAS-Adresse)SMB server (NAS address) Address of the NAS, e.g. 192.168.1.20Freigabename des ArchivsShare name of the archive e.g. ProjekteSMB-Benutzer (nur Leserechte)SMB user (read-only) the read-only user SMB-DomäneSMB domain Enter SMB-PasswortSMB password Password of the read-only user. It stays invisible while you type. Katalog von einem anderen Rechner (Seed-Pfad)Catalogue from another computer (seed path) Enter, because the Mac indexes itself Tailscale-IP-AdresseTailscale IP address Enter accepts the suggestion Port Enter Abschnitt FeldextraktionSection «field extraction» Enter for every question. Leave the key empty, approval no. The wizard checks the credentials against the NAS right away. If something is wrong, it asks again.
Wait until the Mac is done
The window shows the progress, for example
Schritt 5 von 7: Texte auslesen … noch ~3 h(step 5 of 7: reading texts, about 3 h left). A large archive takes a few hours. Keep the Mac awake and on the network during that time. You can close the window, the work continues. You can check at any time in Terminal, in thenasindexfolder:docker compose logs --tail 20 nasindexDone whenthe window or the log showszyklus fertig (rc=0)(cycle finished).Take the catalogue off the Mac
Open Terminal, type
cdand a space, drag thenasindexfolder from Finder into Terminal, press Enter. Then these five lines:mkdir nasindex-katalog docker cp nasindex:/daten/catalog.jsonl.gz nasindex-katalog/ docker cp nasindex:/daten/catalog.json nasindex-katalog/ docker cp nasindex:/daten/text nasindex-katalog/ docker cp nasindex:/daten/meta nasindex-katalog/The
nasindexfolder now containsnasindex-katalogwith exactly four entries: two catalogue files and the folderstextandmeta.
Copy two things to the NAS
In Finder: Go → Connect to Server → smb://<NAS address>/docker. Sign in with a user that may write there. The read-only user may not.
The folder nasindex-katalog
Drag it from the Mac into the docker share. On the NAS it is then /volume1/docker/nasindex-katalog.
The package
Drag the zip into docker as well and unpack it in File Station. This creates /volume1/docker/nasindex. Do not copy the Mac folder, start fresh from the zip.
The NAS takes over, for good
The NAS reads the archive directly from its own disks. It takes over the catalogue from the Mac and does not need to read anything again.
Sign in to the NAS
In Terminal on the Mac, with the administrator account of the NAS:
ssh <admin>@<NAS address> cd /volume1/docker/nasindex sh installieren.shThe script asks once for the administrator password and then starts the same wizard.
Answer the questions
The wizard asks You answer Läuft der Container auf dem NAS selbst?Is the container running on the NAS itself? j for yes Pfad zum Archiv auf diesem HostPath to the archive on this host /volume1/Projekte, i.e./volume1/plus the same share name as on the MacKatalog von einem anderen Rechner (Seed-Pfad)Catalogue from another computer (seed path) /volume1/docker/nasindex-katalogTailscale-IP-AdresseTailscale IP address Enter accepts the suggestion, now the address of the NAS Port Enter Abschnitt FeldextraktionSection «field extraction» same as on the Mac: Enter, leave empty, no ImportantThe archive path must be exactly the share the Mac read. A different folder does not match the catalogue, and the NAS would read everything again.Wait briefly
The NAS first loads the catalogue and then compares it with the archive. This usually takes only minutes. Files added or changed since stage A are read along the way.
Done whenzyklus fertig (rc=0)appears. From now on the NAS checks the archive every hour by itself and starts on its own after every restart.Shut down the Mac side
On the Mac, in the
nasindexfolder:docker compose downThe Mac is no longer needed. You can keep or delete the
nasindex-katalogfolder on the NAS, the NAS does not need it any more.
Connect Claude
At the end, the wizard on the NAS prints both recipes ready-filled. Use the ones from the NAS, not from the Mac: address and key are new.
Read the key
cat /volume1/docker/nasindex/docker/mcp.tokenTreat it like a password. It opens the whole archive. Do not send it by email or chat.
Enter it on every workstation
Claude Desktop needs Node.js. Add this to
claude_desktop_config.json, then quit Claude Desktop completely and restart it:{ "mcpServers": { "archiv": { "command": "npx", "args": ["-y", "mcp-remote", "http://<NAS-Tailscale-IP>:8765/mcp", "--allow-http", "--header", "Authorization: Bearer <key>"] } } }Claude Code:
claude mcp add --transport http archiv http://<NAS-Tailscale-IP>:8765/mcp --header "Authorization: Bearer <key>"Upload the skill and test
In Claude under Settings → Capabilities, upload the file
claude/archiv-skill.zipfrom the package. Then ask: «What is the status of the archive?» Claude reports «erreichbar» (reachable) and the list of projects.
The most common cases
| What you see | What helps |
|---|---|
macOS does not open Installieren.command | «Open Anyway» in Privacy & Security, or in Terminal in the nasindex folder: sh installieren.sh |
| «nasindex erreicht das Archiv nicht» (cannot reach the archive) | Address, share, user or password are wrong. Start the wizard again and answer the questions anew. |
| Progress on the Mac stands still | Has the Mac gone to sleep? Wake it, the work continues. Check the status with docker compose logs --tail 20 nasindex. |
| The NAS reads everything again | Check the archive path. It must be the same share as on the Mac. |
| Claude cannot find the server | Is Tailscale active on both devices? Address of the NAS, not of the Mac? Claude Desktop restarted? |
If you have questions, send us the output of docker compose logs --tail 200 nasindex, on the NAS with sudo in front. It contains no credentials.