php-caddy.dockerfile 1.1 KB

123456789101112131415161718192021222324252627282930
  1. FROM ubuntu:22.04
  2. ARG DEBIAN_FRONTEND=noninteractive
  3. RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
  4. RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php > /dev/null && \
  5. apt-get update -yqq > /dev/null && apt-get upgrade -yqq
  6. RUN apt-get install -yqq git unzip curl \
  7. php8.2 php8.2-common php8.2-cli php8.2-fpm php8.2-mysql > /dev/null
  8. COPY deploy/conf/* /etc/php/8.2/fpm/
  9. # Install Caddyserver
  10. RUN apt-get install -y debian-keyring debian-archive-keyring apt-transport-https > /dev/null \
  11. && curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg \
  12. && curl -sf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list \
  13. && apt-get update > /dev/null && apt-get install caddy > /dev/null
  14. ADD ./ /php
  15. WORKDIR /php
  16. RUN if [ $(nproc) = 2 ]; then sed -i "s|pm.max_children = 1024|pm.max_children = 512|g" /etc/php/8.2/fpm/php-fpm.conf ; fi;
  17. RUN chmod -R 777 /php
  18. EXPOSE 8080
  19. CMD service php8.2-fpm start && \
  20. caddy run --config deploy/caddy/Caddyfile