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

31 lines
1.1 KiB
Markdown

# 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
```bash
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`).