Files
florian.wilde f4aece9557 build: Docker-Setup und Apache-Konfiguration
Apache mit mod_php statt PHP-FPM plus Nginx: dadurch verhalten sich
Docker und klassisches Shared Hosting gleich, es gilt dieselbe
.htaccess. MariaDB liegt hinter einem Compose-Profil.

Die Entwicklungspakete bleiben im Image installiert - beim Aufraeumen
mit apt-get purge --auto-remove verschwindet sonst auch die von imagick
benoetigte Laufzeitbibliothek.

Die .htaccess im Stammverzeichnis wird nur gebraucht, wenn der Webroot
nicht auf public/ gelegt werden kann; sie sperrt dann alle uebrigen
Verzeichnisse.
2026-08-03 18:11:40 +02:00

34 lines
1.0 KiB
Bash

#!/bin/sh
# -------------------------------------------------------------
# Startskript des Containers.
# Sorgt dafuer, dass die Datenverzeichnisse existieren und dem
# Webserver gehoeren - auch wenn ein Volume gemountet wurde.
# -------------------------------------------------------------
set -e
mkdir -p /var/www/html/data/uploads
if [ "$(id -u)" = "0" ]; then
chown -R www-data:www-data /var/www/html/data 2>/dev/null || true
fi
# Wartet kurz auf die Datenbank, falls MySQL/MariaDB genutzt wird.
if [ "${DB_DRIVER}" = "mysql" ] && [ -n "${DB_HOST}" ]; then
echo "Warte auf Datenbank ${DB_HOST}:${DB_PORT:-3306} ..."
i=0
while [ "$i" -lt 30 ]; do
if php -r '
$host = getenv("DB_HOST"); $port = (int) (getenv("DB_PORT") ?: 3306);
$fp = @fsockopen($host, $port, $errno, $errstr, 1);
exit($fp === false ? 1 : 0);
'; then
echo "Datenbank erreichbar."
break
fi
i=$((i + 1))
sleep 1
done
fi
exec "$@"