Skip to main content

Upload operations

The Go server runs the upload worker and the per-source scanner in one process.

Before you deploy, read:

photoly migrate applies the schema for a fresh library. photoly serve also migrates on start.

Limits​

VariableDefaultPurpose
MAX_CONTENT_LENGTH600 MiBSize of each request
UPLOAD_ZIP_MAX_BYTES50 GBExpanded ZIP content
UPLOAD_DISK_RESERVE_BYTES512 MiBReserved free disk space
UPLOAD_TEMP_HOURS24Retention of temporary sources
UPLOAD_HISTORY_DAYS30Retention of activity

The server checks ZIP paths, entry types, size and quota.

Directories​

  • Sources live in .uploads.
  • Transaction backups live in .staging.

Normal failures undo their file changes.

PostgreSQL and filesystem or remote writes are not one distributed transaction. After a host crash:

  1. Inspect the backups.
  2. Reconcile the library.
  3. Only then remove orphaned files.

Do not delete active upload source files.