reactphp.dockerfile 925 B

12345678910111213141516171819202122232425262728293031
  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
  5. RUN apt-get update -yqq > /dev/null && \
  6. apt-get install -yqq git unzip wget curl build-essential \
  7. php8.3-cli php8.3-mbstring php8.3-dev php8.3-xml > /dev/null
  8. # An extension is required!
  9. # We deal with concurrencies over 1k, which stream_select doesn't support.
  10. RUN apt-get install -yqq libuv1-dev > /dev/null \
  11. && pecl install uv-beta > /dev/null \
  12. && echo "extension=uv.so" > /etc/php/8.3/cli/conf.d/uv.ini
  13. COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
  14. COPY deploy/conf/* /etc/php/8.3/cli/conf.d/
  15. WORKDIR /reactphp
  16. COPY composer.json .
  17. RUN composer install --prefer-dist --optimize-autoloader --no-dev --quiet
  18. COPY . .
  19. EXPOSE 8080
  20. ENTRYPOINT ["/usr/bin/php"]
  21. CMD ["server.php"]