mirror of
https://github.com/Afilmory/afilmory
synced 2026-02-01 22:48:17 +00:00
- 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>
1.1 KiB
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
- Sync photos from the configured provider (S3/B2/GitHub/local/Eagle).
- Convert formats (HEIC/TIFF), extract EXIF, detect Live Photos, and compute Blurhash.
- Generate thumbnails and store under
apps/web/public/thumbnails. - Serialize manifest to
apps/web/src/data/photos-manifest.json. - (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).