diff --git a/Dockerfile b/Dockerfile index 97bc40f..0738de0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,7 +41,7 @@ RUN mkdir -p /opt/tmserver/GameData/Config/AdminServ/ServerOptions \ && chown -R www-data:www-data /opt/tmserver/GameData/Config/AdminServ # Gesamtes GameData als Default-Template sichern (wird beim ersten Start ins Volume kopiert) -RUN cp -r /opt/tmserver/GameData /opt/tmserver/default-gamedata +RUN cp -a /opt/tmserver/GameData /opt/tmserver/default-gamedata COPY assets/bin/RunTrackmaniaServer.sh /opt/tmserver/ RUN sed -i 's/\r$//' /opt/tmserver/RunTrackmaniaServer.sh \ @@ -71,7 +71,7 @@ RUN unzip /var/www/html/remoteCP_v4.0.3.5.zip -d /var/www/html \ && chown -R www-data:www-data /var/www/html/remotecp/ # AdminServ- und RemoteCP-Dateien als Default-Template sichern (wird beim ersten Start ins Volume kopiert) -RUN cp -r /var/www/html /opt/tmserver/default-controlpanel +RUN cp -a /var/www/html /opt/tmserver/default-controlpanel # XAseco installieren COPY assets/bin/xaseco_v1.16.zip /opt/tmserver/ @@ -108,7 +108,7 @@ RUN sed -i '/plugin\.freezone\.php<\/plugin>/d' /opt/tmserver/xaseco/plu && sed -i 's/plugin\.teamspeak3\.php<\/plugin>//' /opt/tmserver/xaseco/plugins.xml # XAseco als Default-Template sichern (wird beim ersten Start ins Volume kopiert) -RUN cp -r /opt/tmserver/xaseco /opt/tmserver/default-xaseco +RUN cp -a /opt/tmserver/xaseco /opt/tmserver/default-xaseco # PHP-Debug-Konfiguration: wird zur Laufzeit vom Startup-Script gesetzt # (kein Rebuild noetig – nur Container neustarten) diff --git a/assets/bin/RunTrackmaniaServer.sh b/assets/bin/RunTrackmaniaServer.sh index fe58113..15578fd 100644 --- a/assets/bin/RunTrackmaniaServer.sh +++ b/assets/bin/RunTrackmaniaServer.sh @@ -38,7 +38,7 @@ DEFAULT_CONTROLPANEL="/opt/tmserver/default-controlpanel" if [ ! -f "$ADMINSERV_DIR/index.php" ]; then echo "==> Erster Start erkannt: Kopiere AdminServ-Dateien ins Volume..." - cp -r "$DEFAULT_CONTROLPANEL"/* "$ADMINSERV_DIR/" + cp -a "$DEFAULT_CONTROLPANEL"/* "$ADMINSERV_DIR/" chmod -R 777 "$ADMINSERV_DIR/logs/" chmod 666 "$ADMINSERV_DIR/config/adminlevel.cfg.php" chmod 666 "$ADMINSERV_DIR/config/servers.cfg.php" @@ -247,7 +247,7 @@ XASECO_ENABLED="${XASECO_ENABLED:-true}" if [ "$XASECO_ENABLED" = "true" ]; then if [ ! -f "$XASECO_DIR/aseco.php" ]; then echo "==> Erster Start erkannt: Kopiere XAseco-Dateien ins Volume..." - cp -r "$DEFAULT_XASECO"/* "$XASECO_DIR/" + cp -a "$DEFAULT_XASECO"/* "$XASECO_DIR/" XMLRPC_PORT="${SERVER_XMLRPC_PORT:-5000}" XASECO_ADMIN="${XASECO_MASTERADMIN_LOGIN:-}" @@ -375,10 +375,13 @@ FORCE_CONFIG_UPDATE="${FORCE_CONFIG_UPDATE:-false}" if [ ! -f "$CONFIG" ]; then echo "==> Erster Start erkannt: Kopiere Default-GameData ins Volume..." - cp -r "$DEFAULT_GAMEDATA"/* "$GAMEDATA_DIR/" + cp -a "$DEFAULT_GAMEDATA"/* "$GAMEDATA_DIR/" chmod -R 777 "$GAMEDATA_DIR/Config/" mkdir -p "$GAMEDATA_DIR/Config/AdminServ/ServerOptions" chown -R www-data:www-data "$GAMEDATA_DIR/Config/AdminServ" + # Tracks-Verzeichnis fuer AdminServ beschreibbar machen (Maps-Upload/Download) + chown -R www-data:www-data "$GAMEDATA_DIR/Tracks/" + chmod -R 755 "$GAMEDATA_DIR/Tracks/" APPLY_ENV=true elif [ "$FORCE_CONFIG_UPDATE" = "true" ]; then echo "==> FORCE_CONFIG_UPDATE ist aktiv: Umgebungsvariablen werden erneut angewendet..."