Docker Compose mit drei Services (nginx auf Port 8000), Migrationsmechanik, Update- und Backup-Skript. Anwendung: Router mit CSRF-Prüfung, Anmeldung und Ersteinrichtung, zentraler Einstellungsdialog mit Reitern, ein- und ausschaltbares Debug-Log mit Maskierung von Zugangsdaten. Layout nach Vorbild des FinanzManagers: feste Navigation links, Werkzeugleiste oben, Tab-Leiste; Farbschema hell/dunkel/System. Tests: 51 PHP-Prüfungen und 7 Playwright-Tests, alle grün.
31 lines
895 B
Docker
31 lines
895 B
Docker
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"]
|