FROM docker.io/alpine:3.21

RUN apk add --no-cache \
    php84 \
    php84-fpm \
    php84-pdo_mysql \
    php84-mbstring \
    php84-exif \
    php84-pcntl \
    php84-bcmath \
    php84-gd \
    php84-zip \
    php84-intl \
    php84-curl \
    php84-tokenizer \
    php84-xml \
    php84-xmlwriter \
    php84-xmlreader \
    php84-dom \
    php84-session \
    php84-fileinfo \
    php84-openssl \
    git \
    curl

RUN ln -sf /usr/bin/php84 /usr/bin/php

WORKDIR /var/www

# Copy the application files
COPY --chown=root:root . .

COPY --from=docker.io/composer:latest /usr/bin/composer /usr/bin/composer

RUN rm -rf .circleci .github 2>/dev/null || true && \
    chmod -R 775 storage bootstrap/cache 2>/dev/null || true

EXPOSE 8000

CMD ["php", "artisan", "serve", "--host=0.0.0.0", "--port=8000"]