Files
afilmory/docs/builder.md
Innei d5a2ea4db2 feat: enhance documentation and add new features for Afilmory
- Introduced a comprehensive `DEVELOPMENT.md` guide for contributors and self-hosters, detailing workspace layout and common commands.
- Updated `README.md` to include links to the new development guide and improved deployment instructions.
- Added new documentation files covering architecture, builder pipeline, configuration, and deployment strategies.
- Implemented new storage provider documentation for Backblaze B2, Eagle, GitHub, and local storage options.
- Enhanced the UI components with new features, including a navigation context and improved theme handling.
- Removed outdated GitHub Action deployment documentation.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-23 19:40:51 +08:00

1.1 KiB

Builder Pipeline

The builder ingests photos from storage, processes them, and outputs thumbnails plus photos-manifest.json for the SPA/SSR.

Pipeline Steps

  1. Sync photos from the configured provider (S3/B2/GitHub/local/Eagle).
  2. Convert formats (HEIC/TIFF), extract EXIF, detect Live Photos, and compute Blurhash.
  3. Generate thumbnails and store under apps/web/public/thumbnails.
  4. Serialize manifest to apps/web/src/data/photos-manifest.json.
  5. (Optional) Sync thumbnails + manifest to a Git repo via githubRepoSyncPlugin.

Commands

pnpm run build:manifest             # incremental
pnpm run build:manifest -- --force # full rebuild
pnpm run build:manifest -- --force-thumbnails
pnpm run build:manifest -- --force-manifest

Storage Providers

  • s3 (default): AWS S3 or compatible endpoints (MinIO, OSS). Supports concurrency and connection tuning.
  • b2: Backblaze B2.
  • github: Uses a repo as object storage.
  • local: Reads from disk (handy for testing).
  • eagle: Reads from Eagle app library.

Configure providers in builder.config.ts (see examples in builder.config.default.ts).