FROM composer:2.8.11@sha256:68e926a477000f12e8645e82a020b84904d49071c895c4951551fe80eed5d103 AS composer
FROM node:24.12.0-bookworm-slim@sha256:7326fb2dbdce998edd72140946851be64ef4a643e8715e138ca467e8e9d92c99 AS node
FROM ghcr.io/roadrunner-server/roadrunner:2025.1.15@sha256:18378c1313a71ce1c3cfc493c99e75c189ef5fb2eaf85290b8a99080fcb0f64f AS roadrunner

FROM php:8.4.12-cli-bookworm@sha256:f12c2232f02ba5bb9aec3b71af055979e424ef675e0be7d2a51338224a188a15

RUN apt-get update \
    && apt-get install --yes --no-install-recommends curl unzip \
    && docker-php-ext-install pcntl sockets \
    && rm -rf /var/lib/apt/lists/*

COPY --from=composer /usr/bin/composer /usr/local/bin/composer
COPY --from=node /usr/local /usr/local
COPY --from=roadrunner /usr/bin/rr /usr/local/bin/rr

WORKDIR /experiment

COPY composer.json composer.lock ./

RUN composer install \
    --no-ansi \
    --no-interaction \
    --no-progress \
    --optimize-autoloader

COPY . .

RUN mkdir -p bootstrap/cache results storage/framework/cache/data \
        storage/framework/sessions storage/framework/views storage/logs workspace \
    && chmod -R 777 bootstrap/cache results storage workspace

CMD ["./smoke.sh"]
