Skip to content
This repository was archived by the owner on Jan 7, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/nightly-alpha.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Nightly Alpha Build

on:
schedule:
- cron: '46 20 * * *'
# schedule:
# - cron: '46 20 * * *'
workflow_dispatch:

env:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Nightly Build

on:
schedule:
- cron: '46 18 * * *'
# schedule:
# - cron: '46 18 * * *'
workflow_dispatch:

env:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,9 @@ jobs:
name: Retag image
run: |
crane auth login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_TOKEN }} index.docker.io
crane tag lycheeorg/lychee:testing-${{ github.run_id }} ${{ github.event.inputs.tagname }}
crane tag lycheeorg/lychee:testing-${{ github.run_id }} latest
crane cp lycheeorg/lychee:testing-${{ github.run_id }} lycheeorg/lychee-laravel:${{ github.event.inputs.tagname }}
crane tag lycheeorg/lychee-laravel:${{ github.event.inputs.tagname }} latest
crane tag lycheeorg/lychee:testing-${{ github.run_id }} ${{ github.event.inputs.tagname }}-legacy
crane tag lycheeorg/lychee:testing-${{ github.run_id }} legacy
crane cp lycheeorg/lychee:testing-${{ github.run_id }} lycheeorg/lychee-laravel:${{ github.event.inputs.tagname }}-legacy
crane tag lycheeorg/lychee-laravel:${{ github.event.inputs.tagname }}-legacy legacy
crane auth login -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }} ghcr.io
crane cp index.docker.io/lycheeorg/lychee:latest ghcr.io/lycheeorg/lychee:latest
crane cp index.docker.io/lycheeorg/lychee:legacy ghcr.io/lycheeorg/lychee:legacy
42 changes: 32 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,32 @@
![Supports arm64/aarch64 Architecture][arm64-shield]
![Supports armv7 Architecture][armv7-shield]

## IMPORTANT! This repository is deprecated

This repository has been deprecated in favour of the updated Docker image on the original Lychee repository: [LycheeOrg/Lychee](https://github.com/LycheeOrg/Lychee).
The dockerfile and related configurations have been moved there to streamline maintenance and updates.

### Migration to the New Image

**New tags (recommended):**
* `latest`: Latest stable release powered by FrankenPHP
* `v[NUMBER]`: Specific version tags (e.g., `v7.0.0`)
* `edge`: Development/bleeding edge builds (latest master commit)

**Legacy tags (deprecated):**
* `legacy`: Latest legacy-style (nginx + FPM) Lychee release
* `v[NUMBER]-legacy`: Stable version tags for legacy releases

**Why upgrade?** The new Docker release is powered by FrankenPHP with Laravel Octane instead of the traditional nginx + PHP-FPM stack. This infrastructure keeps the framework in memory and reuses components across requests, eliminating the overhead of rebuilding the entire application on every page load. As a result, boot time drops from 40-60ms to just 4-6ms per request, with 3-4x better throughput and significantly reduced latency.

**How to migrate:** Data migration is straightforward - simply update your docker-compose mount points to match the new image requirements. For detailed upgrade instructions, see the [official upgrade guide](https://lycheeorg.dev/docs/upgrade.html).

## Table of Contents
<!-- TOC depthFrom:1 depthTo:6 withLinks:1 updateOnSave:1 orderedList:0 -->
- [Table of Contents](#table-of-contents)
- [Image Content](#image-content)
- [Setup](#setup)
- [Quick Start](#quick-start)
- [Quick Start (Legacy)](#quick-start-legacy)
- [Prerequisites](#prerequisites)
- [Run with Docker](#run-with-docker)
- [Run with Docker Compose](#run-with-docker-compose)
Expand All @@ -28,19 +48,21 @@ This image features Lychee, nginx and PHP-FPM. The provided configuration (PHP,

The following tags are available :

* `latest`: Latest Lychee release
* `v[NUMBER]`: Stable version tag for a Lychee release
* `nightly` (also `dev`): Current master branch tag (Lychee operates on a stable master, so this should usually be safe)
* `devtools`: As above, but includes development dependencies
* `testing`: Tag for testing new branches and pull requests. Designed for internal use by LycheeOrg
* `alpha`: Current alpha branch tag (The alpha branch contains bleeding edge changes that are not peer-reviewed)
* `alpha-devtools`: As above, but includes development dependencies
* `legacy`: Latest legacy type (nginx + fpm) Lychee release
* `v[NUMBER]-legacy`: Stable version tag for a Lychee release
* ~~`nightly` (also `dev`): Current master branch tag (Lychee operates on a stable master, so this should usually be safe)~~
* ~~`devtools`: As above, but includes development dependencies~~
* ~~`testing`: Tag for testing new branches and pull requests. Designed for internal use by LycheeOrg~~
* ~~`alpha`: Current alpha branch tag (The alpha branch contains bleeding edge changes that are not peer-reviewed)~~
* ~~`alpha-devtools`: As above, but includes development dependencies~~

## Setup

### Quick Start
### Quick Start (Legacy)

**Note:** These instructions are for the legacy image. For the new FrankenPHP-based image, please refer to the [official documentation](https://lycheeorg.dev/docs/).

To use the built-in SQLite support, no external dependencies are required. At its simplest, `docker run -p 80 lycheeorg/lychee:dev` will start Lychee listening on a random port on the local host.
To use the built-in SQLite support, no external dependencies are required. At its simplest, `docker run -p 80 lycheeorg/lychee:legacy` will start the legacy Lychee image listening on a random port on the local host.

For more runtime options, look below in [Run with Docker](#run-with-docker) and [Available environment variables and defaults](#available-environment-variables-and-defaults).

Expand Down