From 9a19e40e3d630d3362c406d00298c704e15ba38a Mon Sep 17 00:00:00 2001 From: Patrick Asmus Date: Sun, 1 Nov 2026 17:22:27 +0100 Subject: [PATCH] fix(ci): Image explizit fuer linux/amd64 bauen Das Image v1.4.0 wurde auf einem arm64-Runner gebaut und startet auf amd64-Hosts nicht (exec format error). Ich baue jetzt per buildx mit --platform linux/amd64 (QEMU als Fallback). docker-compose.yml zeigt auf 1.4.1. --- .gitea/workflows/docker-publish.yml | 22 +++++++++++++++------- README.md | 4 ++-- docker-compose.yml | 2 +- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/docker-publish.yml b/.gitea/workflows/docker-publish.yml index 31673ab..10619ee 100644 --- a/.gitea/workflows/docker-publish.yml +++ b/.gitea/workflows/docker-publish.yml @@ -28,14 +28,22 @@ jobs: --username "${{ secrets.REGISTRY_USER }}" \ --password-stdin - - name: Docker Image bauen + # Der TM-Dedicated-Server ist ein x86-Binary -> Image immer fuer + # linux/amd64 bauen, auch wenn der Job auf einem arm64-Runner landet + # (v1.4.0 wurde versehentlich als arm64 gebaut: "exec format error"). + - name: QEMU einrichten + uses: docker/setup-qemu-action@v3 + with: + platforms: amd64 + + - name: Buildx einrichten + uses: docker/setup-buildx-action@v3 + + - name: Docker Image bauen und pushen (linux/amd64) run: | - docker build \ + docker buildx build \ + --platform linux/amd64 \ -t git.techniverse.net/scriptos/trackmania-server:${{ steps.version.outputs.VERSION }} \ -t git.techniverse.net/scriptos/trackmania-server:latest \ + --push \ . - - - name: Docker Image pushen - run: | - docker push git.techniverse.net/scriptos/trackmania-server:${{ steps.version.outputs.VERSION }} - docker push git.techniverse.net/scriptos/trackmania-server:latest diff --git a/README.md b/README.md index 5ab806f..0cb9dfd 100644 --- a/README.md +++ b/README.md @@ -34,9 +34,9 @@ Alle Komponenten laufen in einem einzigen Container und werden über Umgebungsva Der Server unterstützt sowohl den **Internet-Dedicated-Modus** (Standard) als auch den **LAN-Dedicated-Modus**. -## ⚠️ PHP 8 – bitte lesen (ab v1.4.0) +## ⚠️ PHP 8 – bitte lesen (ab v1.4.1) -Seit **v1.4.0** basiert das Image auf **Debian 13 (Trixie) mit PHP 8.4**. PHP 7.4 ist seit 2022 ohne Sicherheitsupdates und von kritischen Lücken wie *PHP2Shell* (CVE-2026-109618, CVE-2026-109619) betroffen – deshalb habe ich den Umstieg vorgenommen. +Seit **v1.4.0** (lauffähiges Image ab **v1.4.1**) basiert das Image auf **Debian 13 (Trixie) mit PHP 8.4**. PHP 7.4 ist seit 2022 ohne Sicherheitsupdates und von kritischen Lücken wie *PHP2Shell* (CVE-2026-109618, CVE-2026-109619) betroffen – deshalb habe ich den Umstieg vorgenommen. AdminServ, RemoteCP und XAseco stammen allerdings aus PHP-5-Zeiten. Damit sie unter PHP 8 laufen, patcht der Container sie beim Start automatisch (PHP-4-Konstruktoren, veraltete Syntax, statische Aufrufe und einige bekannte Laufzeitfehler). Die Anpassungen sind idempotent und greifen auch bei bestehenden Volumes. diff --git a/docker-compose.yml b/docker-compose.yml index 26ea5d5..9332fa4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: tmserver: - image: git.techniverse.net/scriptos/trackmania-server:1.4.0 + image: git.techniverse.net/scriptos/trackmania-server:1.4.1 build: context: . container_name: tmserver