# Build-Kontext ist der Repo-Root (siehe .gitea/workflows/docker-build.yml und docker-compose.yml) - # nötig, um zusätzlich zu omsorgWeb/ auch die Root-.htaccess (liegt bewusst außerhalb von # omsorgWeb/, siehe README.txt "upload directory contents to htdocs") mit ins Image zu kopieren. FROM php:8.2-apache RUN apt-get update \ && apt-get install -y --no-install-recommends libcurl4-openssl-dev libonig-dev \ && docker-php-ext-install pdo_mysql mbstring curl \ && a2enmod rewrite headers \ && rm -rf /var/lib/apt/lists/* # Debians Standard-apache2.conf setzt AllowOverride None für /var/www/ - ohne dieses Drop-in # würden alle .htaccess-Regeln der App stillschweigend ignoriert (siehe Datei-Kommentar). COPY omsorgWeb/docker/allow-htaccess.conf /etc/apache2/conf-available/allow-htaccess.conf RUN a2enconf allow-htaccess # Ersetzt die mitgelieferte Default-vhost (identisch, nur mit einer zusätzlichen Rewrite-Regel, # die den TLS-terminierenden Host-nginx davor erkennt - sonst redirected die root-.htaccess # endlos, siehe Datei-Kommentar. Muss im -Block selbst stehen, ein conf-enabled-Drop-in # außerhalb davon wird nicht mit der .htaccess desselben Pfads zusammengeführt.) COPY omsorgWeb/docker/000-default.conf /etc/apache2/sites-enabled/000-default.conf COPY omsorgWeb/ /var/www/html/ COPY .htaccess /var/www/html/.htaccess RUN chmod +x /var/www/html/docker/docker-entrypoint.sh \ # Schreibbare Verzeichnisse für Datei-Uploads zur Laufzeit (siehe docker-compose.yml-Volumes). # Existieren im Repo NICHT zwingend (Root-.gitignore schließt sie komplett aus - lokal hatten # sie bei mir Testdateien, ein frischer CI-Checkout hat sie gar nicht) - deshalb erst anlegen, # dann Besitzer auf den Apache-User setzen, damit PHP dort schreiben kann. && mkdir -p \ /var/www/html/mitarbeiter-app-legacy/uploads \ /var/www/html/mitarbeiter-app-legacy/downloads \ /var/www/html/mitarbeiter-app-legacy/fortbildung-materials \ /var/www/html/mitarbeiter-app-legacy/assets/avatars \ /var/www/html/mitarbeiter-app-legacy/data \ && chown -R www-data:www-data \ /var/www/html/mitarbeiter-app-legacy/uploads \ /var/www/html/mitarbeiter-app-legacy/downloads \ /var/www/html/mitarbeiter-app-legacy/fortbildung-materials \ /var/www/html/mitarbeiter-app-legacy/assets/avatars \ /var/www/html/mitarbeiter-app-legacy/data EXPOSE 80 ENTRYPOINT ["/var/www/html/docker/docker-entrypoint.sh"]