Skip to content
vonhexPublic

About

Self-hosted photo manager with SIO A-EYE Docker integration

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

 

History

184 Commits

Folders and files

Repository files navigation

Eyeris

Latest Release Docker License

Self-hosted AI photo manager. Your Pictures. Fast. Easy. Simple.

Warning

Eyeris is designed for use on a trusted local network only. It has no brute-force protection on the login endpoint, no multi-user access control, and image URLs embed session tokens that appear in server logs. Do not expose it directly to the internet. If you need remote access, use a VPN or put it behind Cloudflare Access — not a plain public tunnel.


How do I install it?

Who it's for Method Guide
Unraid users Manual install via template — see the wiki Unraid →
Everyone else (Linux / Windows / macOS with Docker) Run ./docker-start.sh Docker →
Developers Run ./start.sh — Python + Node directly, no Docker Dev →

Not sure? Use the Docker path. It works on any OS and handles everything automatically.


Quick Start (Docker)

# 1. Clone the repo
git clone https://github.com/vonhex/Eyeris.git
cd Eyeris

# 2. Run the start script — it will create .env and tell you what to fill in
chmod +x docker-start.sh
./docker-start.sh

# 3. Edit .env with your NAS credentials (SMB_HOST, SMB_USERNAME, etc.)
nano .env

# 4. Run again — pulls the image and starts the container
./docker-start.sh

Open http://localhost:8000 — default username is eyeris, password is set on first run.


Features

Gallery & Browsing

  • Infinite-scroll gallery with thumbnails, favorites, and multi-select bulk actions
  • Filter by tag, category, album, folder, camera, location, date range, GPS, or quality issue
  • Sort by date taken, date added, filename, or random
  • Video support (MP4, MKV, MOV, AVI, WebM and more) with thumbnail preview
  • Untagged view shows both images and videos with no tags yet

Image Viewer

  • Desktop: mouse-wheel zoom (up to 8×), click-drag to pan, double-click to toggle zoom, keyboard ← → to navigate
  • Mobile: full-screen view, pinch-to-zoom, horizontal swipe to navigate between images, swipe-up bottom sheet to reveal metadata and editing controls
  • Scroll-to-top button appears site-wide when scrolling long pages

AI Tags & Search

  • AI descriptions and tags come from a connected A-Eye instance (below). Eyeris itself needs no GPU or local model.
  • XMP sidecar ingestion: tags and descriptions written by external tools are read automatically during scan
  • Search across tags, AI descriptions, filenames and places, ranked by relevance
  • Blurry page: photos tagged blurry, out-of-focus and so on are gathered in one place. Which tags count is configurable under Settings → Blurry Photos.

A-Eye Integration

  • Connect to a self-hosted A-Eye instance from the Settings page. Use the vonhex fork: it provides the analysis and lookup endpoints Eyeris calls.
  • Send untagged images and videos to A-Eye for AI analysis with one click from the Dashboard. Long runs carry on past individual failures; failed items are counted and retried on the next run.
  • Video thumbnails are sent automatically when a video has no tags
  • Tags and descriptions written by A-Eye are auto-imported every 5 minutes — no manual re-import needed
  • Set the A-Eye username and password in Settings: A-Eye requires them for its metadata lookups
  • A-Eye URL, username, and password persist across container updates

Metadata & EXIF

  • Date taken, GPS location with OpenStreetMap link, reverse-geocoded city/country
  • Camera make/model, lens model, aperture, shutter speed, ISO, focal length

Organisation

  • Tag editor per image + bulk tag editor across selections
  • Category and album assignment
  • Duplicate detection via perceptual hash
  • Web image search through your SearXNG instance, with one-click download into the library

System

  • Two-phase async scan pipeline with live progress bar
  • File-watcher for near-real-time new image detection
  • Settings page with runtime .env editing — all settings survive container recreation
  • Dashboard shows accurate untagged counts for both images and videos

Screenshots

Gallery & Search

Gallery

AI Tag Cloud

Tags

System Dashboard

Dashboard

Blurry Photo Detection

Blurry


License

PolyForm Noncommercial License 1.0.0 — free to use and modify, not for commercial use or resale. For commercial licensing contact lucashjantzen@gmail.com.

About

Self-hosted photo manager with SIO A-EYE Docker integration

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages