FROM phpswoole/swoole:php8.2-alpine COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/ # Install PHP extensions one by one with lower optimization level for ARM64 compatibility RUN CFLAGS="-O1" install-php-extensions pcntl && \ CFLAGS="-O1" install-php-extensions bcmath && \ install-php-extensions zip && \ install-php-extensions redis && \ apk --no-cache add shadow sqlite mysql-client mysql-dev mariadb-connector-c git patch supervisor redis && \ addgroup -S -g 1000 www && adduser -S -G www -u 1000 www && \ (getent group redis || addgroup -S redis) && \ (getent passwd redis || adduser -S -G redis -H -h /data redis) WORKDIR /www COPY .docker / COPY . /www COPY .docker/supervisor/supervisord.conf /etc/supervisor/conf.d/supervisord.conf RUN composer install --optimize-autoloader --no-cache --no-dev \ && php artisan storage:link \ && chown -R www:www /www \ && chmod -R 775 /www \ && mkdir -p /data \ && chown redis:redis /data ENV ENABLE_WEB=true \ ENABLE_HORIZON=true \ ENABLE_REDIS=false EXPOSE 7001 CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]