laravel-ripple.dockerfile 1.4 KB

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