laravel-ripple.dockerfile 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. FROM php:8.5-cli
  2. ARG DEBIAN_FRONTEND=noninteractive
  3. RUN apt-get update -yqq >> /dev/null
  4. RUN apt-get install -y libevent-dev \
  5. libssl-dev \
  6. pkg-config \
  7. libicu-dev \
  8. build-essential \
  9. unzip >> /dev/null
  10. RUN docker-php-ext-install pdo_mysql \
  11. intl \
  12. posix \
  13. pcntl \
  14. sockets >> /dev/null
  15. RUN pecl install event >> /dev/null
  16. RUN docker-php-ext-enable intl pdo_mysql posix pcntl sockets
  17. RUN docker-php-ext-enable --ini-name zz-event.ini event
  18. RUN echo "opcache.enable_cli=1" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
  19. RUN echo "opcache.jit=1205" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
  20. RUN echo "opcache.jit_buffer_size=128M" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
  21. COPY --from=composer --link /usr/bin/composer /usr/local/bin/composer
  22. # Initialize
  23. WORKDIR /laravel
  24. COPY --link . .
  25. RUN mkdir -p bootstrap/cache \
  26. storage/logs \
  27. storage/framework/sessions \
  28. storage/framework/views \
  29. storage/framework/cache
  30. RUN echo "RIP_HTTP_LISTEN=http://0.0.0.0:8080" >> .env
  31. RUN echo "RIP_HTTP_WORKERS=64" >> .env
  32. RUN echo "RIP_HTTP_RELOAD=0" >> .env
  33. # Configure
  34. RUN composer install --quiet
  35. RUN composer require cloudtay/laravel-ripple --quiet
  36. RUN php artisan vendor:publish --tag=ripple-config
  37. RUN php artisan optimize
  38. # Start
  39. EXPOSE 8080
  40. ENTRYPOINT ["php","artisan","ripple:server","start"]