# syntax=docker/dockerfile:1.5
# Amicron Platform - Plugin Development Web Container
# PHP 8.4 + Apache + Firebird extension + Node.js 22 + pnpm
#
# Based on webdevops/php-apache-dev for Xdebug + Apache convenience.
# Replaces the legacy tcpdf dev image (webdevops/php-dev:8.1 + interbase v3):
# platform 3.x-next requires PHP ^8.4 and the satwareAG php-firebird fork.

FROM webdevops/php-apache-dev:8.4

RUN apt-get update \
 && apt-get install -y --no-install-recommends \
    software-properties-common \
    firebird-dev \
    firebird3.0-utils \
    git \
    unzip \
 && rm -rf /var/lib/apt/lists/*

# PHP Firebird extension (satwareAG fork v13.2.x): platform 3.x requires
# ext-firebird ^13.2 (OO API + fbird_escape_literal); upstream v3.x lacks
# them. Build block mirrors amicron-platform/docker/web/Dockerfile.
RUN docker-php-source extract \
 && git clone --branch v13.2.7 --depth 1 \
    https://github.com/satwareAG/php-firebird.git /php-firebird \
 && cd /php-firebird \
 && phpize \
 && CPPFLAGS=-I/usr/include/firebird ./configure --with-firebird \
 && make install \
 && mkdir -p /usr/local/lib/php/Firebird \
 && cp /php-firebird/src/Firebird/*.php /usr/local/lib/php/Firebird/ \
 && echo "extension=firebird.so" > /usr/local/etc/php/conf.d/firebird.ini \
 && docker-php-source delete

# Node.js 22 LTS (platform asset build)
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
 && apt-get install -y --no-install-recommends nodejs \
 && rm -rf /var/lib/apt/lists/*

RUN corepack enable \
 && corepack prepare pnpm@11 --activate

# Xdebug (opt-in via docker-compose.platform.yml environment)
# ENV XDEBUG_MODE=debug
# ENV XDEBUG_START_WITH_REQUEST=yes
# ENV XDEBUG_CLIENT_HOST=host.docker.internal
