Wiki / Install

Install and run

Two ways, depending on what you already run. Both end the same way: Kustos is listening on port 8787, and you open it in a browser on that machine.

Windows — the installer

  1. Download the installer from the download page — one file, Kustos-Setup.exe.
  2. Run it. Windows will ask for administrator rights, because installing a service needs them.
  3. Let it finish. It registers Kustos as a Windows service and starts it, so it comes back on its own after a reboot and you never have to remember to launch it.
  4. Open http://localhost:8787, or use the Kustos shortcut in the Start menu, which points at the same address.

Uninstalling stops and removes the service for you.

Docker

The image runs in the foreground as the container's process, so Docker restarts it rather than a Windows service.

  1. Make a folder for the compose file and change into it. Anywhere you will remember is fine.
  2. Save the file below as docker-compose.yml in that folder.
  3. Start it. ``bash docker compose up -d ``
  4. Check it came up. docker compose ps should show the container running, and docker compose logs -f kustos shows it starting. Ctrl-C leaves the logs without stopping anything.
  5. Open it at http://localhost:8787, or the address of the machine running it on the same port, and work through the onboarding wizard below.

To update later, docker compose pull then docker compose up -d. Your data is in the volume, not the image, so it survives.

yaml
services:
  kustos:
    # Fully qualified on purpose: a bare `kustos:latest` resolves to Docker
    # Hub's `library/kustos`, which is not ours — if anyone ever publishes
    # there, `docker compose up` would quietly pull a stranger's image onto
    # your server. Pin a version instead of `latest` if you would rather
    # choose when you upgrade.
    image: ghcr.io/kustos-wiki/kustos:latest
    ports:
      - "8787:8787"
    volumes:
      - kustos-config:/config
    restart: unless-stopped

volumes:
  kustos-config:

/config is the part worth getting right. That volume holds the database and everything Kustos has learned. Mapping it somewhere you back up is the difference between a container you can rebuild and a setup you would have to recreate by hand.

Should you let Kustos install Sonarr, Radarr, Prowlarr and qBittorrent? The answer turns on one thing: where your media lives.

Your setupDo this
Media on this machine, starting freshLet Kustos install the stack. Uncomment the provisioning block in the compose file. It sets the four up, wires your indexers to both arrs, connects the download client and keeps them updated.
Media on a NAS**Install the arrs yourself* and point Kustos at them on the Connections screen.
Already running themNothing extra. Connect them and you are done.

Why a NAS is different, and it is worth knowing rather than discovering: a container Kustos launches gets the mounts your compose file declares, and Kustos cannot guess which NAS share your library is on or what credentials reach it. The result is not an error — the arr comes up with a root folder that is simply empty. Installing the *arrs yourself takes a few minutes and avoids the whole question, because you are the one who knows the share.

If you do want provisioning, it needs Kustos to talk to Docker itself, since it is launching other containers. The compose file does this through a socket proxy that permits only the container, image and network calls the feature actually makes — rather than handing over the raw Docker socket, which is full control of the host.