Files
webtrees-docker/README.md
T

153 lines
5.6 KiB
Markdown

<p align="center">
<a href="https://techniverse.net">
<img src="https://assets.techniverse.net/f1/git/graphics/repo-techniverse-logo.png" alt="Techniverse Community" height="70" />
</a>
</p>
<h1 align="center">Webtrees Docker (PHP 8.4 Security Patched)</h1>
<h4 align="center">
Webtrees Docker Image mit gepatchtem PHP 8.4.27 (Schutz vor CVE-2026-109618 / CVE-2026-109619 "PHP2Shell")
</h4>
<h6 align="center">
<a href="https://www.cleveradmin.de">🏰 Website</a>
·
<a href="https://techniverse.net">📰 Community</a>
·
<a href="https://social.techniverse.net/@donnerwolke">🐘 Mastodon</a>
·
<a href="https://matrix.to/#/#support:techniverse.net">💬 Support</a>
</h6>
<br><br>
## 📌 Übersicht & Hintergrund
Dieses Repository stellt vorgefertigte Docker-Images für die führende Open-Source-Genealogie-Software **[webtrees](https://webtrees.net/)** bereit.
### 🛡️ Warum dieser Fork / Rebuild?
Am 21. Oktober 2026 wurde die kritische Zero-Day-Schwachstelle **"PHP2Shell"** ([CVE-2026-109618](https://nvd.nist.gov/vuln/detail/CVE-2026-109618) & CVE-2026-109619, CVSS 9.2) im PHP-Kern bekannt.
Da bisherige INI-Workarounds (`session.upload_progress.enabled = Off`) laut Sicherheitsberichten (u. a. Heise Security) unvollständig sind bzw. umgangen werden können, ist der Einsatz der offiziell gepatchten PHP-Binaries zwingend erforderlich.
Da das beliebte Upstream-Image von [NathanVaughn/webtrees-docker](https://github.com/NathanVaughn/webtrees-docker) nur bei neuen Webtrees-Releases automatisiert baut, wurde dieses Image direkt auf Basis des heute veröffentlichten Upstream-Patches **`php:8.4-apache` (PHP 8.4.27, Build: 21.10.2026 15:54:26 UTC)** gebaut und getestet.
* **Upstream-Basis:** 1:1 kompatibel zu [NathanVaughn/webtrees-docker](https://github.com/NathanVaughn/webtrees-docker)
* **Webtrees-Versionen:** `2.2.6` und `2.2.1`
* **PHP-Version:** `PHP 8.4.27` (Offizielles Security-Patched Release vom 21.10.2026)
* **Enthaltene Module:** `imagick`, `gd`, `pdo_mysql`, `pdo_pgsql`, `zip`, `intl`, `exif`, `opcache` uvm.
---
## 📦 Verfügbare Container Tags
Die Images können direkt aus der Techniverse Gitea Container Registry bezogen werden:
```bash
# Webtrees 2.2.6 (PHP 8.4.27)
docker pull git.techniverse.net/scriptos/webtrees-docker:2.2.6-php8.4.27
docker pull git.techniverse.net/scriptos/webtrees-docker:latest-php8.4.27
# Webtrees 2.2.1 (PHP 8.4.27)
docker pull git.techniverse.net/scriptos/webtrees-docker:2.2.1-php8.4.27
```
---
## 🚀 Schnellstart mit Docker Compose
Beispiel für eine `docker-compose.yaml`:
```yaml
services:
webtrees-app:
image: git.techniverse.net/scriptos/webtrees-docker:2.2.6-php8.4.27
container_name: webtrees-app
restart: unless-stopped
depends_on:
- webtrees-db
environment:
PRETTY_URLS: "1"
HTTPS: "0"
HTTPS_REDIRECT: "0"
LANG: "de"
TZ: "Europe/Berlin"
BASE_URL: "https://stammbaum.deine-domain.de"
DB_TYPE: "mysql"
DB_HOST: "webtrees-db"
DB_PORT: "3306"
DB_USER: "webtrees"
DB_PASS: "DeinSicheresPasswort"
DB_NAME: "webtrees"
DB_PREFIX: "wt_"
PUID: "33"
PGID: "33"
PHP_UPLOAD_MAX_FILE_SIZE: "50M"
PHP_POST_MAX_SIZE: "50M"
PHP_MEMORY_LIMIT: "1024M"
ports:
- "8080:80"
volumes:
- ./data/app_data:/var/www/webtrees/data/
- ./data/modules_v4:/var/www/webtrees/modules_v4
webtrees-db:
image: mariadb:11
container_name: webtrees-db
restart: unless-stopped
environment:
MARIADB_DATABASE: "webtrees"
MARIADB_USER: "webtrees"
MARIADB_PASSWORD: "DeinSicheresPasswort"
MARIADB_ROOT_PASSWORD: "DeinRootPasswort"
volumes:
- ./data/db_data:/var/lib/mysql
```
---
## 🔍 Verifikation des Sicherheits-Patches
Im laufenden Container lässt sich der Patch-Stand jederzeit über die PHP-CLI prüfen:
```bash
docker exec webtrees-app php -v
```
Ausgabe:
```text
PHP 8.4.27 (cli) (built: Oct 21 2026 15:54:26) (NTS)
Copyright (c) The PHP Group
Built by https://github.com/docker-library/php
Zend Engine v4.4.26, Copyright (c) Zend Technologies
with Zend OPcache v8.4.27, Copyright (c), by Zend Technologies
```
---
## 🔗 Danksagung & Upstream-Referenzen
* **webtrees:** Offizielles Projekt unter [https://webtrees.net/](https://webtrees.net/) und auf [GitHub (fisharebest/webtrees)](https://github.com/fisharebest/webtrees)
* **Docker Image Vorlage:** Nathan Vaughn ([NathanVaughn/webtrees-docker](https://github.com/NathanVaughn/webtrees-docker))
* **PHP Security:** PHP Group ([php.net](https://www.php.net/))
---
## ⚖️ Lizenz & Drittanbieter-Hinweise (Third-Party Notice)
* **Docker-Packaging & Patches:** Die in diesem Repository bereitgestellten Dockerfiles, Build-Konfigurationen und Sicherheitsanpassungen stehen unter der [MIT-Lizenz](./LICENSE) (© Patrick Asmus).
* **webtrees Originalsoftware:** Die Genealogie-Software **webtrees** ist ein eigenständiges Open-Source-Projekt von Greg Roach ([fisharebest/webtrees](https://github.com/fisharebest/webtrees)) und unterliegt der **[GNU General Public License v3.0 (GPL-3.0)](https://webtrees.net/)**.
* **Upstream Docker-Vorlage:** Die Dockerfile- und Script-Basis basiert auf der Vorlage von Nathan Vaughn ([NathanVaughn/webtrees-docker](https://github.com/NathanVaughn/webtrees-docker), MIT-Lizenz).
* **PHP & Apache:** PHP unterliegt der PHP License 3.01, der Apache HTTP Server der Apache License 2.0.
<br><br>
<p align="center">
<img src="https://assets.techniverse.net/f1/git/graphics/gray0-catonline.svg" alt="">
</p>
<p align="center">
<sub>
© Patrick Asmus · Techniverse Network · <a href="./LICENSE">MIT Lizenz</a>
</sub>
</p>