FROM php:8.3-fpm

RUN apt-get update && apt-get install -y \
        libzip-dev \
        unzip \
        git \
    && docker-php-ext-install pdo pdo_mysql zip \
    && apt-get clean && rm -rf /var/lib/apt/lists/*

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

WORKDIR /var/www/html

# Zuerst nur die Composer-Dateien: hält den Layer-Cache stabil, solange sich
# die Abhängigkeiten nicht ändern.
COPY composer.json composer.lock* ./
RUN composer install --no-dev --no-interaction --optimize-autoloader --no-scripts

COPY . .

COPY php/php.ini /usr/local/etc/php/conf.d/finanzmanager.ini

RUN mkdir -p /var/www/html/data/logs /var/www/html/data/import \
    && chown -R www-data:www-data /var/www/html

COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /usr/local/bin/docker-entrypoint.sh

EXPOSE 9000
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["php-fpm"]
