A self-hosted photo gallery that mirrors your server's folder structure as albums, built for photographers with large RAW libraries.
LycheeOrg/Lychee
A self-hosted photo management system for uploading, organizing and sharing photos from your own server or web space.
Open-source alternative to:Google Photos
iCloud
- Stars
- 4,311
- Forks
- 386
- Open issues
- 17
- Last commit
- yesterday
What is it?
Lychee is a web-based photo gallery you run on your own server or web hosting. You upload photos through the browser, organize them into albums, and share them with others, with an interface meant to feel like a native photo app.
The project is written in PHP with a Vue.js and TypeScript front end. The official way to deploy it is a Docker image, with a docker-compose example that pairs Lychee with a MariaDB database. It can also be installed from pre-built releases or built from source, which requires PHP 8.4 or newer, Composer and npm.
The maintainers also offer a paid Supporter Edition with additional features. Version 7.0 changed the Docker image, so the upgrade guide should be read before upgrading from older versions.
Key features
- 01Upload photos through the browser and organize them into albums.
- 02Share albums and photos with other people.
- 03Deploy with Docker, using a provided docker-compose template with MariaDB.
- 04Runs on PHP 8.4 or newer, installable from releases or source.
- 05Offers a paid Supporter Edition with extra functionality.
Use cases
- Hosting a private family photo archive on a home server or VPS.
- Sharing photo albums with friends, clients or colleagues from your own domain.
- Replacing a cloud photo service with a self-hosted gallery.
Quick start
- 1
Download the minimal docker-compose file
curl -O https://raw.githubusercontent.com/LycheeOrg/Lychee/master/docker-compose.minimal.yaml - 2
Start Lychee with Docker Compose
docker compose -f docker-compose.minimal.yaml up -d - 3
Open http://localhost:8000 in your browser
Things to know
- Advanced features are reserved for the paid Supporter Edition.
- Version 7.0 changes the Docker image, so existing installs need the upgrade guide.
- Self-hosting requires your own server or web space running PHP 8.4+ and a database.
In collections
Topics
FAQ
- What is Lychee?
- A self-hosted photo management system for uploading, organizing and sharing photos from your own server or web space. Lychee is a web-based photo gallery you run on your own server or web hosting. You upload photos through the browser, organize them into albums, and share them with others, with an interface meant to feel like a native photo app.
- Is Lychee free to use? What license does it have?
- Lychee is open source under the MIT license. Check the license terms before using it in commercial products.
- Is Lychee still maintained?
- Actively maintained. The last commit to Lychee was on Oct 22, 2026.
- What can I use Lychee for?
- Hosting a private family photo archive on a home server or VPS. Sharing photo albums with friends, clients or colleagues from your own domain. Replacing a cloud photo service with a self-hosted gallery.
- How do I install Lychee?
- Download the minimal docker-compose file: curl -O https://raw.githubusercontent.com/LycheeOrg/Lychee/master/docker-compose.minimal.yaml Start Lychee with Docker Compose: docker compose -f docker-compose.minimal.yaml up -d Open http://localhost:8000 in your browser
- Where can I get Lychee?
- The source code and installation instructions are on GitHub: https://github.com/LycheeOrg/Lychee
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted photo management service with face recognition, object tagging, and semantic search, built on Django and React.
Self-hosted photo gallery that extracts EXIF, identifies shooting locations, plays Live Photos and offers albums and a map explore view.
Self-hosted, privacy-first photo app that auto-labels, recognizes faces, and maps your pictures and videos.
An unofficial companion web app for Immich that adds bulk tools for managing people, albums, locations and dates in your photo library.
A static, YAML-configured homepage for your server that lists and searches your self-hosted services.