fix: AdminServ Schreibrechte fuer ./logs/ und Configs bei Containerstart sicherstellen (Fixes #19)
Build & Push Docker Image / build-and-push (push) Failing after 20s

AdminServ erfordert zwingend Schreibrechte auf ./logs/ (777) und die Konfigurationsdateien (666). Das fruehere automatische Zuruecksetzen auf 755 fuehrte nach Reboots oder Wiederherstellung von Backups zum Fehler 'path was not required rights: ./logs/'. Bei jedem Start werden nun 777 und www-data Ownership fuer ./logs/ sichergestellt.
This commit is contained in:
Patrick Asmus committed 2026-10-31 11:27:30 +01:00
1 parent 9ac5c997a2
commit d550e814e2
2 files changed
+14 -15

No files matched your search

+13 -14
View File
@@ -39,7 +39,7 @@ DEFAULT_CONTROLPANEL="/opt/tmserver/default-controlpanel"
if [ ! -f "$ADMINSERV_DIR/index.php" ]; then
echo "==> Erster Start erkannt: Kopiere AdminServ-Dateien ins Volume..."
cp -a "$DEFAULT_CONTROLPANEL"/* "$ADMINSERV_DIR/"
chmod 755 "$ADMINSERV_DIR/logs/"
chmod 777 "$ADMINSERV_DIR/logs/"
chmod 666 "$ADMINSERV_DIR/config/adminlevel.cfg.php"
chmod 666 "$ADMINSERV_DIR/config/servers.cfg.php"
chmod 666 "$ADMINSERV_DIR/config/adminserv.cfg.php"
@@ -493,22 +493,21 @@ if [ -f "$ADMINSERV_CFG_VOL" ] && grep -q "0b28a5799a32c687dad2c5183718ceac" "$A
fi
# ============================================================
# AdminServ: Logs-Verzeichnis-Berechtigungen korrigieren (fuer bestehende Volumes)
# AdminServ: Berechtigungen fuer Logs und Configs sicherstellen
# ============================================================
# In aelteren Versionen wurde /var/www/html/logs/ mit chmod 777
# (world-writable) angelegt. logrotate verweigert die Rotation von
# Log-Dateien in world-writable Verzeichnissen aus Sicherheitsgruenden.
# Die korrekte Berechtigung ist 755: www-data (Owner) behaelt
# Schreibzugriff, anderen Nutzern wird Write entzogen.
# AdminServ verlangt Schreibrechte (777 fuer ./logs/ und 666 fuer Configs).
# Beim Containerstart stellen wir sicher, dass das Verzeichnis existiert,
# www-data gehoert und die noetigen Berechtigungen gesetzt sind.
# ============================================================
ADMINSERV_LOGS_DIR="/var/www/html/logs"
if [ -d "$ADMINSERV_LOGS_DIR" ]; then
CURRENT_PERMS=$(stat -c '%a' "$ADMINSERV_LOGS_DIR")
if [ "$CURRENT_PERMS" != "755" ]; then
echo "==> Korrigiere Berechtigungen fuer AdminServ-Logs-Verzeichnis (${CURRENT_PERMS} -> 755)..."
chmod 755 "$ADMINSERV_LOGS_DIR"
echo " Berechtigungen erfolgreich korrigiert."
fi
mkdir -p "$ADMINSERV_LOGS_DIR"
chmod 777 "$ADMINSERV_LOGS_DIR"
chown -R www-data:www-data "$ADMINSERV_LOGS_DIR" 2>/dev/null || true
ADMINSERV_CONFIG_DIR="/var/www/html/config"
if [ -d "$ADMINSERV_CONFIG_DIR" ]; then
chmod 666 "$ADMINSERV_CONFIG_DIR"/*.cfg.php 2>/dev/null || true
chown -R www-data:www-data "$ADMINSERV_CONFIG_DIR" 2>/dev/null || true
fi
echo "Starting apache server"
+1 -1
View File
@@ -1,6 +1,6 @@
services:
tmserver:
image: git.techniverse.net/scriptos/trackmania-server:1.3.2
image: git.techniverse.net/scriptos/trackmania-server:1.3.3
build:
context: .
container_name: tmserver