nasindex · Installation
Installation guide · as of 8 October 2026

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.

LanguageThe setup wizard, the install script and the log messages are in German. This guide quotes them exactly as they appear and explains them in English.
Before you start

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>.zip from 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
Stage A · on the Mac

Read the archive once

The Mac accesses the NAS over the network and only reads. Nothing in the archive changes.

  1. Unpack the package

    Double-click the zip. A folder nasindex appears. Put it in a permanent place, for example your home folder. Do not rename or move the folder afterwards.

  2. Start the wizard

    In the nasindex folder, double-click Installieren.command. If macOS blocks the file, open System Settings → Privacy & Security and click «Open Anyway».

  3. Answer the questions

    The wizard asksYou 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.20
    Freigabename des ArchivsShare name of the archivee.g. Projekte
    SMB-Benutzer (nur Leserechte)SMB user (read-only)the read-only user
    SMB-DomäneSMB domainEnter
    SMB-PasswortSMB passwordPassword 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 addressEnter accepts the suggestion
    PortEnter
    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.

  4. 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 the nasindex folder:

    docker compose logs --tail 20 nasindex
    Done whenthe window or the log shows zyklus fertig (rc=0) (cycle finished).
  5. Take the catalogue off the Mac

    Open Terminal, type cd and a space, drag the nasindex folder 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 nasindex folder now contains nasindex-katalog with exactly four entries: two catalogue files and the folders text and meta.

Handover

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.

Stage B · on the NAS

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.

  1. 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.sh

    The script asks once for the administrator password and then starts the same wizard.

  2. Answer the questions

    The wizard asksYou 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 Mac
    Katalog von einem anderen Rechner (Seed-Pfad)Catalogue from another computer (seed path)/volume1/docker/nasindex-katalog
    Tailscale-IP-AdresseTailscale IP addressEnter accepts the suggestion, now the address of the NAS
    PortEnter
    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.
  3. 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.
  4. Shut down the Mac side

    On the Mac, in the nasindex folder:

    docker compose down

    The Mac is no longer needed. You can keep or delete the nasindex-katalog folder on the NAS, the NAS does not need it any more.

Finally

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.

  1. Read the key

    cat /volume1/docker/nasindex/docker/mcp.token

    Treat it like a password. It opens the whole archive. Do not send it by email or chat.

  2. 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>"
  3. Upload the skill and test

    In Claude under Settings → Capabilities, upload the file claude/archiv-skill.zip from the package. Then ask: «What is the status of the archive?» Claude reports «erreichbar» (reachable) and the list of projects.

If something goes wrong

The most common cases

What you seeWhat 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 stillHas the Mac gone to sleep? Wake it, the work continues. Check the status with docker compose logs --tail 20 nasindex.
The NAS reads everything againCheck the archive path. It must be the same share as on the Mac.
Claude cannot find the serverIs 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.