50 lines
2.1 KiB
Markdown
50 lines
2.1 KiB
Markdown
# Photo Pipeline documentation
|
|
|
|
One local application that takes a photo library from discovery to a verified Immich
|
|
upload: duplicate detection, safety review, content analysis, album naming, guarded
|
|
renaming, upload, and archive — one visible, resume-safe workflow.
|
|
|
|
These pages are readable three ways, and they are the same files each time: in the
|
|
repository under `docs/`, on Gitea, and inside the running application under
|
|
**Docs**. There is no separate copy to fall out of date.
|
|
|
|
## Read in this order
|
|
|
|
1. [Overview](overview.md) — what the application does, the stages it moves a photo
|
|
through, and the rules it will not break.
|
|
2. [Installation and operations](installation.md) — host and container installation,
|
|
every setting, the first-run checklist, upgrades, backup and restore, and what
|
|
each refusal at startup means.
|
|
3. [A guided first pass](first-pass.md) — one library from scan to verified upload,
|
|
with the point of no return named in each stage.
|
|
4. [Architecture](architecture.md) — the context and runtime diagrams, what each
|
|
module owns, the three journals a restart reads, and where every invariant is
|
|
enforced.
|
|
|
|
## The stages, one page each
|
|
|
|
Every page answers the same four questions: what the stage is for, what you decide,
|
|
what it changes on disk or on the server, and what it refuses.
|
|
|
|
1. [Inventory and discovery](stages/inventory.md)
|
|
2. [Duplicate review](stages/duplicates.md)
|
|
3. [Safety review](stages/safety.md)
|
|
4. [Analysis](stages/analysis.md)
|
|
5. [Album proposals](stages/albums.md)
|
|
6. [Renames](stages/renames.md)
|
|
7. [Upload](stages/uploads.md)
|
|
8. [Archive](stages/archive.md)
|
|
9. [Diagnostics and library statistics](stages/diagnostics.md)
|
|
|
|
## When something goes wrong
|
|
|
|
- [Errors and refusals](errors.md) — every error code, what caused it, what to do.
|
|
- [Recovery](recovery.md) — what the application resolves by itself, and what needs
|
|
you.
|
|
|
|
## Conventions
|
|
|
|
A page tells you what a stage **changes on disk or on the server** before it tells
|
|
you how to run it. Refusals are documented as intentional: this application would
|
|
rather stop and explain than guess about somebody's photographs.
|