Skip to content

Instantly share code, notes, and snippets.

@ildyria
Created February 19, 2025 21:06
Show Gist options
  • Select an option

  • Save ildyria/368af88f817bea81c73029bad913b198 to your computer and use it in GitHub Desktop.

Select an option

Save ildyria/368af88f817bea81c73029bad913b198 to your computer and use it in GitHub Desktop.
#-------------------------------------------
# Docker Compose
# @RobLandry
# Repo : https://github.com/LycheeOrg/Lychee-Docker
#-------------------------------------------
services:
lychee_cache:
image: redis:alpine
container_name: lychee_redis
hostname: lychee_redis
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD-SHELL", "redis-cli ping || exit 1"]
ports:
- ${REDIS_PORT:-6379}:${REDIS_PORT:-6379}
user: 1026:100
env_file:
- path: ./.env
required: false
environment:
- TZ=${TIMEZONE:-UTC}
networks:
- lychee
volumes:
- ./lychee/cache:/data:rw
restart: on-failure:5
lychee_db:
container_name: lychee_db
image: mariadb:10
security_opt:
- no-new-privileges:true
env_file:
- path: ./.env
required: false
environment:
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD:-rootpassword}
- MYSQL_DATABASE=${DB_DATABASE:-lychee}
- MYSQL_USER=${DB_USERNAME:-lychee}
- MYSQL_PASSWORD=${DB_PASSWORD:-stupidpassword}
expose:
- 3306
volumes:
- ./lychee/mysql:/var/lib/mysql
networks:
- lychee
restart: unless-stopped
lychee:
image: lycheeorg/lychee
container_name: lychee
security_opt:
- no-new-privileges:true
ports:
- 90:80
volumes:
# This is the external mount point
- ./lychee/external:/external
# Classic Lychee configs
- ./lychee/conf:/conf
- ./lychee/uploads:/uploads
- ./lychee/sym:/sym
- ./lychee/logs:/logs
- ./lychee/tmp:/lychee-tmp
env_file:
- path: ./.env
required: false
networks:
- lychee
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
# PHP timezone e.g. PHP_TZ=America/New_York
- PHP_TZ=${TIMEZONE:-UTC}
- TIMEZONE=${TIMEZONE:-UTC}
#- APP_NAME=Laravel
#- APP_ENV=local
#- APP_DEBUG=true
#- APP_FORCE_HTTPS=false
- APP_URL=${APP_URL:-http://localhost}
#- APP_DIR=
#- DEBUGBAR_ENABLEd=false
#- VUEJS_ENABLED=true
#- LEGACY_API_ENABLED=false
#- LEGACY_V4_REDIRECT=false
#- DB_OLD_LYCHEE_PREFIX=''
- DB_CONNECTION=mysql
- DB_HOST=lychee_db
- DB_PORT=${DB_PORT:-3306}
- DB_DATABASE=${DB_DATABASE:-lychee}
- DB_USERNAME=${DB_USERNAME:-lychee}
- DB_PASSWORD=${DB_PASSWORD:-stupidpassword}
#- DB_PASSWORD_FILE=<filename>
#- DB_LOG_SQL=false
#- DB_LOG_SQL_EXPLAIN=false
#- ENABLE_TOKEN_AUTH=true
#- CACHE_DRIVER=file
#- SESSION_DRIVER=file
#- SESSION_LIFETIME=120
#- QUEUE_CONNECTION=sync
#- SECURITY_HEADER_HSTS_ENABLE=false
#- SECURITY_HEADER_CSP_CONNECT_SRC=
#- SECURITY_HEADER_SCRIPT_SRC_ALLOW=
#- SESSION_SECURE_COOKIE=false
#- MAIL_DRIVER=smtp
#- MAIL_HOST=smtp.mailtrap.io
#- MAIL_PORT=2525
#- MAIL_USERNAME=null
#- MAIL_PASSWORD=null
#- MAIL_PASSWORD_FILE=<filename>
#- MAIL_ENCRYPTION=null
#- MAIL_FROM_NAME=
#- MAIL_FROM_ADDRESS=
#- TRUSTED_PROXIES=
- SKIP_PERMISSIONS_CHECKS=${SKIP_PERMISSIONS_CHECKS:-false}
- STARTUP_DELAY=30
#- ADMIN_USER=admin
#- ADMIN_PASSWORD=<ADMIN_PASSWORD>
#- ADMIN_PASSWORD_FILE=<filename>
- CACHE_DRIVER=${CACHE_DRIVER:-redis}
- REDIS_URL=redis://${REDIS_USERNAME:-default}:${REDIS_PASSWORD:-}@${REDIS_HOST:-lychee_redis}:${REDIS_PORT:-6379}
- REDIS_HOST=${REDIS_HOST:-lychee_redis}
- REDIS_PORT=${REDIS_PORT:-6379}
- REDIS_PASSWORD=${REDIS_PASSWORD:-}
- LOG_VIEWER_CACHE_DRIVER=${LOG_VIEWER_CACHE_DRIVER:-file}
restart: unless-stopped
depends_on:
- lychee_db
networks:
lychee:
# volumes:
# mysql:
# name: lychee_prod_mysql
# driver: local
# cache:
# name: lychee_prod_redis
# driver: local
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment