Introduction
Lychee is a self-hosted photo management application with a clean, responsive gallery interface. It lets you upload photos, organize them into albums with nested hierarchies, and share individual albums or photos via public links. The focus is on simplicity and visual presentation — it serves as a personal photo gallery rather than a social platform.
What Lychee Does
- Uploads and organizes photos into albums with drag-and-drop support
- Reads and displays EXIF metadata including camera model, lens, GPS coordinates, and timestamps
- Generates thumbnails and responsive image variants automatically
- Shares albums and individual photos via password-protected or public links
- Supports multi-user access with configurable permissions per album
Architecture Overview
Lychee is a Laravel (PHP) application with a Vue.js frontend. It stores metadata and album structure in a relational database (MySQL, PostgreSQL, or SQLite) and keeps photo files on the local filesystem or S3-compatible storage. When photos are uploaded, the backend extracts EXIF data, generates multiple thumbnail sizes, and optionally computes image hashes for deduplication. The frontend presents a responsive masonry grid that lazy-loads images and supports full-screen slideshow viewing.
Self-Hosting & Configuration
- Deploy with Docker using the official
lycheeorg/lycheeimage - Choose SQLite for small setups or MySQL/PostgreSQL for larger libraries
- Mount persistent volumes for
/uploads(photos),/conf(config), and/sym(symlinks) - Configure image processing quality and thumbnail sizes in the admin settings panel
- Set up scheduled tasks for generating missing thumbnails and cleaning temporary files
Key Features
- Clean, modern gallery UI with masonry layout and full-screen lightbox
- Album nesting supports arbitrary folder-like hierarchies
- GPS data visualization shows photo locations on an interactive map
- Bulk import from the server filesystem or via URL for migrating existing collections
- API access enables automation and integration with other tools
Comparison with Similar Tools
- PhotoPrism — AI-powered with face recognition and auto-tagging, but heavier on resources
- Immich — designed as a Google Photos replacement with mobile app sync, more complex to deploy
- Piwigo — long-established PHP gallery with a large plugin ecosystem but an older interface
- Nextcloud Photos — integrated into the Nextcloud ecosystem, less polished as a standalone gallery
FAQ
Q: How many photos can Lychee handle? A: Lychee has been tested with collections of over 100,000 photos. Performance depends on database choice and server specs.
Q: Can I import photos from my existing folder structure? A: Yes. Lychee can import photos from a directory on the server, preserving the folder structure as albums.
Q: Does it support RAW files? A: Lychee focuses on web-displayable formats (JPEG, PNG, WebP, GIF). RAW files can be stored but require a JPEG sidecar for display.
Q: Is there a mobile app? A: No dedicated mobile app, but the web interface is fully responsive and works well on phones and tablets. Third-party apps can connect via the API.