@fireblade If this is a fresh new project, then why are you using Laravel 9? Laravel 9 is so old it’s no longer in the version support table on the Laravel website: https://laravel.com/docs/13.x/releases#support-policy
Apr 6, 2026
6
Level 2
Bundled Alpinejs not working in Laravel Docker
I have a fresh new Laravel 9 Jetstream-Livewire app with the node_modules and vendor folders deleted. The NGINX container Dockerfile looks like this:
FROM node:22-alpine AS builder
WORKDIR /app
# Copy Laravel application code
COPY ./src/. /app
RUN npm install && npm run build
FROM nginx:1.21-alpine
COPY --from=builder /app/public /var/www/public
COPY ./nginx/nginx.conf /etc/nginx/conf.d/nginx.conf
WORKDIR /var/www/public
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
The main Dockerfile looks like this:
FROM node:22-alpine AS stage-1
WORKDIR /app
# Copy Laravel application code
COPY ./src/. /app
RUN npm install && npm run build
FROM php:8.4-fpm AS builder
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
unzip \
libpq-dev \
libonig-dev \
libssl-dev \
libxml2-dev \
libcurl4-openssl-dev \
libicu-dev \
libzip-dev \
&& docker-php-ext-install -j$(nproc) \
pdo_mysql \
pdo_pgsql \
pgsql \
opcache \
intl \
zip \
bcmath \
soap \
&& pecl install redis \
&& docker-php-ext-enable redis \
&& apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
WORKDIR /var/www
COPY ./src/. /var/www
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
&& composer install --no-dev --optimize-autoloader --no-interaction --no-progress --prefer-dist
COPY --from=stage-1 /app/node_modules /var/www/node_modules
COPY --from=stage-1 /app/public/build/ /var/www/public/build/
FROM php:8.4-fpm AS production
RUN apt-get update && apt-get install -y --no-install-recommends \
libpq-dev \
libicu-dev \
libzip-dev \
libfcgi-bin \
procps \
&& apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
COPY ./php/uploads.ini /usr/local/etc/php/conf.d/uploads.ini
RUN curl -o /usr/local/bin/php-fpm-healthcheck \
https://raw.githubusercontent.com/renatomefi/php-fpm-healthcheck/master/php-fpm-healthcheck \
&& chmod +x /usr/local/bin/php-fpm-healthcheck
COPY --from=builder /usr/local/lib/php/extensions/ /usr/local/lib/php/extensions/
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
COPY --from=builder /usr/local/bin/docker-php-ext-* /usr/local/bin/
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
#COPY --from=builder /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
RUN set -eux;{ echo '[www]'; echo 'pm.status_path = /status'; } > /usr/local/etc/php-fpm.d/my-fpm.conf
COPY --from=builder /var/www /var/www
WORKDIR /var/www
RUN chown -R www-data:www-data /var/www
USER www-data
EXPOSE 9000
CMD ["php-fpm"]
However, Alpinejs is not working and the browser console does not show any error...
Please or to participate in this conversation.