Skip to content

On a Linux server

deploy/bootstrap.sh turns a Linux machine into a collection site with one command. It works the same on a cloud VM, a server in your own machine room or a laptop. It installs Docker if needed, builds the index once, then serves the site and keeps it running across reboots.

Terminal window
sudo deploy/bootstrap.sh install --name my-collection --source /path/to/images
sudo deploy/bootstrap.sh status --name my-collection
sudo deploy/bootstrap.sh uninstall --name my-collection # add --keep-data to keep the index

Indexing can be interrupted. It continues where it left off the next time the machine starts.

Add --collection-file collection.json to install to give the site its title, introduction and suggested searches from the start. To change them later, while the site keeps running:

Terminal window
sudo deploy/bootstrap.sh describe --name my-collection --collection-file collection.json

See Describing a collection to visitors for what the file holds.

A collection indexed on another machine, or written by a pipeline of its own, needs no indexing here. --from starts a site from a folder, and import with the same options replaces the data of a site that is running. The site keeps serving its current data until the copy is complete, and keeps the old data in a folder next to the new one until you delete it.

Terminal window
sudo deploy/bootstrap.sh install --name my-collection --from /path/to/my-collection
sudo deploy/bootstrap.sh import --name my-collection --from /path/to/my-collection
  • --image runs another version of the container image, and update --image switches a running site to it without indexing again.
  • --mcp and --public-url turn on the MCP server.
  • --base-path /maps serves the site under a path of an existing website.
  • configure --set changes the limits of a running site.