{"owner":"LycheeOrg","repo":"Lychee","hasDocker":true,"hasCompose":true,"hasDockerfile":false,"composePath":"docker-compose.minimal.yaml","servicesCount":4,"services":[{"name":"lychee_api","image":"ghcr.io/lycheeorg/lychee:latest","restart":"unless-stopped","ports":["${APP_PORT:-8000}:8000"],"environment":["PUID=${PUID:-1000}","PGID=${PGID:-1000}","APP_KEY=base64:ucMiFCbfQZUFOxrQz1x9C0OBJeLCCCAieZmnEHXmyGI=","APP_NAME=${APP_NAME:-Lychee}","APP_ENV=${APP_ENV:-production}","APP_TIMEZONE=${TIMEZONE:-UTC}","APP_URL=${APP_URL:-http://localhost:8000}","APP_FORCE_HTTPS=${APP_FORCE_HTTPS:-false}","DB_CONNECTION=${DB_CONNECTION:-mysql}","DB_HOST=${DB_HOST:-lychee_db}","DB_PORT=${DB_PORT:-3306}","DB_DATABASE=${DB_DATABASE:-lychee}","DB_USERNAME=${DB_USERNAME:-lychee}","DB_PASSWORD=${DB_PASSWORD:-password}","SESSION_DRIVER=${SESSION_DRIVER:-file}","SESSION_LIFETIME=${SESSION_LIFETIME:-120}","QUEUE_CONNECTION=${QUEUE_CONNECTION:-database}","AI_VISION_ENABLED=${AI_VISION_ENABLED:-true}","AI_VISION_FACE_API_KEY=${AI_VISION_API_KEY:-changeme}","AI_VISION_FACE_URL=http://lychee_facial_recognition:8000"],"volumes":["./lychee/uploads:/app/public/uploads","./lychee/logs:/app/storage/logs","./lychee/tmp:/app/storage/tmp"],"depends_on":["lychee_db"]},{"name":"lychee_worker","image":"ghcr.io/lycheeorg/lychee:latest","restart":"unless-stopped","environment":["PUID=${PUID:-1000}","PGID=${PGID:-1000}","APP_KEY=base64:ucMiFCbfQZUFOxrQz1x9C0OBJeLCCCAieZmnEHXmyGI=","APP_NAME=${APP_NAME:-Lychee}","APP_ENV=${APP_ENV:-production}","APP_TIMEZONE=${TIMEZONE:-UTC}","APP_URL=${APP_URL:-http://localhost:8000}","APP_FORCE_HTTPS=${APP_FORCE_HTTPS:-false}","DB_CONNECTION=${DB_CONNECTION:-mysql}","DB_HOST=${DB_HOST:-lychee_db}","DB_PORT=${DB_PORT:-3306}","DB_DATABASE=${DB_DATABASE:-lychee}","DB_USERNAME=${DB_USERNAME:-lychee}","DB_PASSWORD=${DB_PASSWORD:-password}","SESSION_DRIVER=${SESSION_DRIVER:-file}","SESSION_LIFETIME=${SESSION_LIFETIME:-120}","QUEUE_CONNECTION=${QUEUE_CONNECTION:-database}","AI_VISION_ENABLED=${AI_VISION_ENABLED:-true}","AI_VISION_FACE_API_KEY=${AI_VISION_API_KEY:-changeme}","AI_VISION_FACE_URL=http://lychee_facial_recognition:8000","LYCHEE_MODE=worker"],"volumes":["./lychee/uploads:/app/public/uploads","./lychee/logs:/app/storage/logs","./lychee/tmp:/app/storage/tmp"],"depends_on":["lychee_db","lychee_api"]},{"name":"lychee_db","image":"mariadb:10","restart":"unless-stopped","environment":["MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD:-rootpassword}","MYSQL_DATABASE=${DB_DATABASE:-lychee}","MYSQL_USER=${DB_USERNAME:-lychee}","MYSQL_PASSWORD=${DB_PASSWORD:-password}"],"volumes":["mysql:/var/lib/mysql"]},{"name":"lychee_facial_recognition","image":"ghcr.io/lycheeorg/lychee-facial-recognition:latest","restart":"unless-stopped","environment":["VISION_FACE_LYCHEE_API_URL=http://lychee_api:8000","VISION_FACE_API_KEY=${AI_VISION_API_KEY:-changeme}","VISION_FACE_VERIFY_SSL=${AI_VISION_VERIFY_SSL:-true}","VISION_FACE_PHOTOS_PATH=/data/photos","VISION_FACE_STORAGE_PATH=/data/embeddings","VISION_FACE_WORKERS=${AI_VISION_WORKERS:-1}"],"volumes":["./lychee/uploads:/data/photos:ro","ai_vision_embeddings:/data/embeddings"],"depends_on":["lychee_api"]}],"exposedPorts":["8000"],"dockerRunCommand":"docker run -d --name lychee -p 8000:8000 --restart always ghcr.io/lycheeorg/lychee:latest","podmanRunCommand":"podman run -d --name lychee -p 8000:8000 --restart always ghcr.io/lycheeorg/lychee:latest","skopeoInspectCommand":"skopeo inspect docker://ghcr.io/lycheeorg/lychee:latest","orasPullCommand":"oras pull ghcr.io/lycheeorg/lychee:latest","registryMeta":{"provider":"ghcr","image":"ghcr.io/lycheeorg/lychee","canonicalImage":"ghcr.io/lycheeorg/lychee:latest","latestTag":"latest","multiArch":["linux/amd64","linux/arm64"],"lastUpdated":"2026-10-23T05:46:49.072Z","cliCommands":{"dockerRun":"docker run -d --name lychee -p 8000:8000 --restart always ghcr.io/lycheeorg/lychee:latest","dockerPull":"docker pull ghcr.io/lycheeorg/lychee:latest","podmanRun":"podman run -d --name lychee -p 8000:8000 --restart always ghcr.io/lycheeorg/lychee:latest","skopeoInspect":"skopeo inspect docker://ghcr.io/lycheeorg/lychee:latest","orasPull":"oras pull ghcr.io/lycheeorg/lychee:latest","composeYaml":"services:\n  lychee:\n    image: ghcr.io/lycheeorg/lychee:latest\n    restart: unless-stopped\n    ports:\n      - \"8000:8000\""}}}