FROM git.alshafagh.ir/docker/php:8.3-cli-bullseye RUN apt-get update; \ apt-get upgrade -yqq; \ pecl -q channel-update pecl.php.net; \ apt-get install -yqq --no-install-recommends --show-progress \ apt-utils \ gnupg \ gosu \ git \ curl \ wget \ libcurl4-openssl-dev \ ca-certificates \ supervisor \ libmemcached-dev \ libz-dev \ libbrotli-dev \ libpq-dev \ libjpeg-dev \ libpng-dev \ libfreetype6-dev \ libssl-dev \ libwebp-dev \ libmcrypt-dev \ libonig-dev \ libzip-dev zip unzip \ libargon2-1 \ libidn2-0 \ libpcre2-8-0 \ libpcre3 \ libxml2 \ libzstd1 \ procps \ zlib1g-dev \ libicu-dev \ g++ \ libc-ares-dev \ libnss3 libatk1.0-0 \ libcups2 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxrandr2 libgbm1 \ libpango1.0.0 libcairo2 libasound2 libxfixes3 libatk-bridge2.0.0 cron RUN docker-php-ext-configure zip RUN docker-php-ext-configure intl RUN docker-php-ext-configure gd --prefix=/usr --with-jpeg --with-webp --with-freetype RUN docker-php-ext-install pdo_mysql exif pcntl bcmath gd intl zip mbstring sockets RUN pecl install redis RUN pecl install -D 'enable-sockets="no" enable-openssl="yes" enable-http2="yes" enable-mysqlnd="yes" enable-hook-curl="yes" enable-cares="yes" with-postgres="yes"' openswoole RUN docker-php-ext-enable redis openswoole RUN pecl install mongodb && docker-php-ext-enable mongodb RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - RUN apt-get install -y nodejs build-essential RUN npm install -g npm RUN apt-get install -y libxml2-dev RUN docker-php-ext-install soap RUN groupadd --force -g 1000 octane && useradd -ms /bin/bash --no-log-init --no-user-group -g 1000 -u 1000 octane WORKDIR /app RUN chown -R octane:octane . EXPOSE 80 RUN echo "* * * * * octane cd /app && php artisan schedule:run >> /dev/null 2>&1" >> /etc/crontab COPY ./supervisord.conf /etc/supervisor/octane.conf COPY ./entrypoint.sh /etc/entrypoint.sh ENTRYPOINT ["/etc/entrypoint.sh"] HEALTHCHECK --start-period=60s --interval=30s --timeout=5s --retries=3 CMD php artisan octane:status || exit 1