FROM php:8.4.15-cli-alpine3.23 WORKDIR /app # System packages and PHP extensions required by Laravel/Octane RUN apk update \ && apk add --no-cache \ git \ unzip \ libzip-dev \ postgresql-dev \ zlib-dev \ libpq \ icu-dev \ gcc \ g++ \ make \ autoconf \ libc-dev \ pkgconfig \ && docker-php-ext-install \ pcntl \ zip \ pdo_mysql \ pdo_pgsql \ intl \ && pecl install redis \ && docker-php-ext-enable redis \ pdo_pgsql \ && rm -rf /var/cache/apk/* # Composer for dependency management COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer # Default runtime command uses Octane (overridden by docker-compose entrypoint) CMD ["php", "artisan", "octane:start", "--server=frankenphp", "--host=0.0.0.0", "--port=8000"]