Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

* Add WebAuthn.js and add to gulpfile (#380)

* Fix Prettier formatting of WebAuthn.js (#380)

Although probably the 3rd-party folder should be excluded from Prettier
because it is, well, 3rd-party.

* Add WebAuthn.js to frontend.js (#380)

This requires WebAuthn.js not to be included in the blade templates, as
it is already in frontend.js.

* Compile WebAuthn.js into frontend.js


Co-authored-by: Nico Kaiser <>

Git stats


Failed to load latest commit information.


This repository contains the source of the JS frontend in order to allow its use with different backends.

Build Status Quality Gate Status

A great looking and easy-to-use photo-management-system.

Since the 1st of April 2018 this project has moved to it's own Organisation ( where people are able to submit their fixes to it. We, the Organisation owners, want to thank electerious (Tobias Reich) for the opportunity to make this project live on.

Lychee Lychee

Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely. Read more on our Website.


To run Lychee, everything you need is a web-server with PHP 5.5 or later and a MySQL-Database. Follow the instructions to install Lychee on your server. Installation »


The frontend send POST requests to the server through. Calls are described in API ».

How to build

If you want to contribute and edit CSS or JS files, you need to rebuild Lychee. Build »

# Clone Lychee
git clone

# Initialize the frontend submodule
git submodule init

# Get the frontend
git submodule update

# Go into the frontend
cd Lychee-front


First you have to install the following dependencies:

After installing Node.js you can use the included npm package manager to download all dependencies:

npm install

Build and Generated Files

The Gulpfile is located in <path to lychee>/Lychee-front/ and can be executed using the npm run compile command. The generated files will placed into ../dist/ or <path to lychee>/dist/.

⚠️ Style formatting

Before submitting a pull request, please apply our formatting rules by executing:

npm run format

You can also just incorporate a git hook: .git/hooks/pre-commit


printf "\n${GREEN}pre commit hook start${NO_COLOR}\n"


if [ -x "$PRETTIER" ]; then
    git status --porcelain | grep -e '^[AM]\(.*\).php$' | cut -c 3- | while read line; do
        ${PRETTIER} --write ${line};
        git add "$line";
    echo ""
    printf "${YELLOW}Please install prettier, e.g.:${NO_COLOR}"
    echo ""
    echo "  npm install"
    echo ""

printf "\n${GREEN}pre commit hook finish${NO_COLOR}\n"

This can easily be installed by doing:

cp pre-commit ../../.git/modules/public/Lychee-front/hooks
chmod 755 ../../.git/modules/public/Lychee-front/hooks/pre-commit

Watch for changes

While developing, you might want to use the following command to automatically build Lychee everytime you save a file:

npm start