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. build-essential \
  7. unzip >> /dev/null
  8. RUN docker-php-ext-install pdo_mysql \
  9. opcache \
  10. posix \
  11. pcntl \
  12. sockets >> /dev/null
  13. RUN pecl install event >> /dev/null
  14. RUN docker-php-ext-enable pdo_mysql opcache posix pcntl sockets
  15. RUN docker-php-ext-enable --ini-name zz-event.ini event
  16. RUN echo "opcache.enable_cli=1" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
  17. RUN echo "opcache.jit=1205" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
  18. RUN echo "opcache.jit_buffer_size=128M" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
  19. COPY --from=composer --link /usr/bin/composer /usr/local/bin/composer
  20. # Initialize
  21. WORKDIR /laravel
  22. COPY --link . .
  23. RUN mkdir -p bootstrap/cache \
  24. storage/logs \
  25. storage/framework/sessions \
  26. storage/framework/views \
  27. storage/framework/cache
  28. RUN echo "PRP_HTTP_LISTEN=http://0.0.0.0:8080" >> .env
  29. RUN echo "PRP_HTTP_WORKERS=64" >> .env
  30. RUN echo "PRP_HTTP_RELOAD=0" >> .env
  31. RUN echo "PRP_HTTP_SANDBOX=1" >> .env
  32. # Configure
  33. RUN composer install --quiet
  34. RUN composer require cloudtay/ripple-driver --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"]