What do I need to run PhotoStructure?

Friendly guide for the less-nerdy

What OS?

PhotoStructure for Desktops runs on

  • macOS (64-bit, Mojave, Catalina, and Big Sur),
  • Windows 10 (64-bit), and
  • Ubuntu 20.04 LTS.

PhotoStructure for Servers supports

  • any x64/amd64 compatible Docker host,
  • macOS (64-bit),
  • Windows 10 (64-bit), and
  • most recent Linux distributions (64-bit).

How much free disk space?

What kind of disk?

If your previews and database are on an SSD, that’s ideal: your thumbnails (even in “tiny”, on a 4k display) will show up instantly.

I test regularly with a library that’s on an aging Synology NAS with 5400 RPM disk, SMB-mounted. The thumbnails still show up within a second, but you can see them streaming in.

How much RAM do I need? How many CPUs?

The size of your library determines this to some extent: large libraries (250k+ assets) will take ~100-250MiB to run the web service (which always runs).

Importing and synchronizing concurrency is automatically adjusted based on RAM and CPU.

The cpuLoadPercent system setting defaults to 75%. From that setting’s description:

PhotoStructure runs many things in parallel during library synchronization. The maximum number of concurrent file imports that PhotoStructure will schedule at a time will be the number of CPUs that this system has multiplied by this percent. A higher value here will allow PhotoStructure to run more tasks in parallel, but may impact your system’s responsiveness. 75% should be a reasonable balance between keeping your system responsive and importing your library quickly. Setting this value to 0 will still allow 1 task to run concurrently. System memory will also be taken into account to try to prevent swapping.

Basically, give PhotoStructure a CPU + 1GiB of RAM for however parallel you want your imports to run, up to ~8-12, at which point you’re probably bumping up against iowait.