lychee.yml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # Environment variables
  2. ENV PUID='1000'
  3. ENV PGID='1000'
  4. ENV USER='lychee'
  5. ENV PHP_TZ=UTC
  6. # Install base dependencies, add user and group, install php libraries
  7. RUN \
  8. set -ev && \
  9. apt-get update && \
  10. apt-get upgrade -qy && \
  11. apt-get install -qy --no-install-recommends\
  12. ca-certificates \
  13. curl \
  14. apt-transport-https && \
  15. curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb && \
  16. dpkg -i /tmp/debsuryorg-archive-keyring.deb && \
  17. sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" > /etc/apt/sources.list.d/php.list' && \
  18. apt-get update && \
  19. apt-get install -qy --no-install-recommends \
  20. adduser \
  21. nginx-light \
  22. php8.4-mysql \
  23. php8.4-pgsql \
  24. php8.4-sqlite3 \
  25. php8.4-imagick \
  26. php8.4-mbstring \
  27. php8.4-gd \
  28. php8.4-xml \
  29. php8.4-zip \
  30. php8.4-fpm \
  31. php8.4-redis \
  32. php8.4-bcmath \
  33. php8.4-intl \
  34. libimage-exiftool-perl \
  35. ffmpeg \
  36. jpegoptim \
  37. optipng \
  38. pngquant \
  39. gifsicle \
  40. webp \
  41. unzip && \
  42. addgroup --gid "$PGID" "$USER" && \
  43. adduser --gecos '' --no-create-home --disabled-password --uid "$PUID" --gid "$PGID" "$USER"
  44. COPY nginx.conf /etc/nginx/nginx.conf
  45. COPY start.sh /start.sh
  46. RUN chmod +x /start.sh
  47. CMD ["/start.sh"]