Documentation
Everlock 0.13.0
The 0.13.0 release lets a photo instance catch up with a large library:
captions run one photo after another, admin AI prompts no longer wait behind
them, and each image instance gets job settings of its own. Binaries are on
the download page; the container image is published as
cr.everlock.sh/everlock:0.13.
Highlights
-
Captions catch up with large libraries.
enhance-metadatacaptioned one photo per hourly run, about 24 a day, so a library of thousands of photos took months. It now runs continuously: one photo after another, with a 60-second pause after every job, for as long as photos are waiting.enhance-videos, which extracts cover frames for up to 20 videos per run, works the same way. A photo that fails to caption stays first in line, and every attempt leaves a failed run that names the photo and the error. From the second failure in a row the job waits two minutes, doubling up to an hour, and newer uploads go ahead of it. -
Admin AI answers while photos are captioned. The model is loaded once and serves two lanes side by side: one for admin prompts, one for the captions of every image instance. A prompt no longer waits for a caption to finish. On Linux the caption lane runs at idle priority, so it gives up the CPU to anything else on the machine. A prompt that overlaps a caption needs about 0.9 GB more memory at its peak.
-
Job settings per image instance.
/image set <name> job_cooldown=<seconds>sets the pause after every job, andjob_schedule=<job>:<schedule>sets when one job runs:manual,continuous,minutely,quarter-hourly,hourly,dailyorweekly./image listshows both in itsjobscolumn,/image unsetreturns them to the defaults, and a change applies right away. See job schedules. -
Jobs take turns. An instance runs one job at a time, and the next one is the job that has been due longest, so a caption backlog does not hold up a sync. Several instances each run their own jobs side by side and share the machine; their captions take turns on the one caption lane.
Behavior changes
-
The machine stays busy while photos wait. With a caption backlog the server captions without a break other than the cooldown, where it used to caption once an hour. To go back to the old pace, run
/image set <name> job_schedule=enhance-metadata:hourly. -
Requested jobs wait their turn. A job requested from the web UI or the API joins the same queue as the scheduled ones instead of going first, and requesting a job that is already queued returns the queued run.
Fixes
- A restart no longer blocks a background job for an hour. A job interrupted by a restart counts as failed, and it runs again after the cooldown.
- Weekly jobs run weekly. Job history was cleared after three days, so
detect-duplicatesran about every three days. Each job now keeps its last 100 runs. - A job scheduled more than an hour ahead runs. It used to be deleted before its time came.
- Job settings take effect inside Everlock. The
JOB_*environment variables are read only by the standalone apimeister-photos binary, so an image instance always ran the built-in schedules;/image setis where they are set now.
Upgrading
Self-updating servers pick 0.13.0 up on their daily check. For a manual
upgrade, download the new binary (or pull the new image tag) and restart —
stores, mail, and all versioned content carry over untouched. Captioning
starts on the photos that are waiting right after the restart, so a server
with a large library stays under load until it has caught up. Plan for the
extra 0.9 GB of memory when an admin prompt runs during a caption, or set
enhance-metadata back to hourly on a machine that has none to spare.
The full list of changes is in the changelog.