Eagle matches metadata.json "name" to the actual filename stem exactly. Prettifying names (replacing hyphens, stripping numbers) caused Eagle to show empty folders. Also add Python import script (replaces bash version).
Eagle Viewer
A proof-of-concept web app for browsing Eagle libraries stored on a Synology NAS, from Linux or any browser (Chromebook included).
Built because Eagle only runs on Mac and Windows.
How it works
- Bulk metadata load via a single SSH
find | catcommand (~3.5s for 372 images, ~30s for 10k+) - Thumbnails and files served directly from the SMB mount
- Thumbnails cached in memory after first load
Features
- Lists all Eagle libraries on the NAS
- Dark grid UI with adjustable thumbnail size
- Folder tree sidebar
- Search by name or tag
- Lightbox on click
- "Open original" streams the file (mp4, png, pdf, etc.) via HTTP with range support
Known limitations
- Thumbnail cache is in-memory only — resets on server restart
- Large libraries (10k+ images) take ~30s to load on first click (no disk cache yet)
- "Open original" for large video files is slow over SMB — a production version would want a proper media server
Requirements
- Node.js
sshpassinstalled (sudo apt install sshpass)- NAS SMB share mounted at
/run/user/1000/gvfs/smb-share:server=synologynas.local,share=steve/Eagle_Libraries - SSH access to
synologynas.local
Setup
cd ~/workspace/gitea/eagle-viewer
npm install
node server.js
Then open http://localhost:3737 in your browser.
Gitea
Description
Languages
HTML
31.5%
Python
29%
JavaScript
19.7%
Shell
19.1%
Dockerfile
0.7%