FROM php:8.4-bullseye

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    curl \
    git \
    vim \
    zip \
    unzip \
    libicu-dev \
    libpng-dev \
    libjpeg-dev \
    libfreetype6-dev \
    default-mysql-client && \
    rm -rf /var/lib/apt/lists/*

RUN docker-php-ext-configure gd --with-freetype --with-jpeg && \
    docker-php-ext-install pdo_mysql intl gd

RUN curl -fsSL https://code-server.dev/install.sh | sh && \
    code-server \
    --install-extension ms-toolsai.jupyter \
    --install-extension eamodio.gitlens \
    --install-extension mtxr.sqltools \
    --install-extension mtxr.sqltools-driver-mysql

RUN curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

COPY --from=composer:2 /usr/bin/composer /usr/bin/composer

RUN mkdir -p /workspace

WORKDIR /workspace

RUN mkdir -p ~/.config/code-server && \
    echo "bind-addr: 0.0.0.0:8080\nauth: none\ncert: false" > ~/.config/code-server/config.yaml

EXPOSE 8080

CMD ["code-server", "--host", "0.0.0.0", "--port", "8080", "--disable-workspace-trust"]