Three things: a phone new enough, an Opensolr account, and a few permissions. The plan decides how much of the experience you get.
API level 26. The app installs from Google Play, or as a regular APK from GitHub.
The app signs in with it and creates the phone's index in it. Create one.
Every phone uses one Opensolr Index. If the plan's index allowance is full, the app says so and links to the plans.
Sync and search talk to Opensolr. Scheduled syncs wait for a connection by themselves.
Photos are read into words, their printed text is read, and they get a search vector; search matches meaning and words.
The free plan and every current Opensolr plan include 500 AI requests a month, and bigger allowances can be added. A new photo uses a tenth of a request, so ten photos cost one; the words, the search vector and the printed text are all inside that tenth. A typed search by meaning uses a tenth too. A picture or a search Opensolr already answered costs nothing again. See plan limits.
Hold and serve the photo descriptions. When either runs out, the index pauses until you upgrade, free some disk space, or, for bandwidth, the month resets.
At setup the app asks for photos, photo locations and notifications together; only the first is required. The others are asked only when a feature needs them.
READ_MEDIA_IMAGES (storage access on Android 12 and older), to find and read the photos in your folders. On Android 14 you may allow only the photos you pick; the app works with those.
ACCESS_MEDIA_LOCATION. Without it Android removes GPS data from photos before the app sees them, and photos are indexed without a place.
Sync progress and plan alerts (Android 13 and newer ask).
ACCESS_COARSE_LOCATION and ACCESS_FINE_LOCATION, asked only if you turn on Locate new photos, after the app explains why.
CAMERA, asked only the first time you open Scan.
Only in the copy installed from GitHub, so it can install its own updates. Android asks the first time. See updating the app.
Talking to Opensolr.
So Android does not stop a long sync half way.