Initial commit: webtrees full diagram chart module

Interactive SVG family tree visualization using ELK (Sugiyama) for
layout and D3 for rendering. Shows ancestors, descendants, and siblings
in a single diagram with orthogonal bus-line connectors.

Features:
- Bidirectional tree traversal (ancestors + descendants + siblings)
- Generation-aligned layout with post-processing Y-snap
- Person cards with photos, names, dates, and hover bio cards
- "More ancestors" indicator for persons with hidden parents
- Pan/zoom navigation
- Docker dev environment
This commit is contained in:
2026-03-14 18:51:19 +01:00
commit 273e398431
38 changed files with 5232 additions and 0 deletions

43
docker/docker-compose.yml Normal file
View File

@@ -0,0 +1,43 @@
services:
webtrees:
image: ghcr.io/nathanvaughn/webtrees:latest
ports:
- "8081:80"
environment:
PRETTY_URLS: "TRUE"
LANG: "en-US"
BASE_URL: "http://localhost:8081"
DB_TYPE: "mysql"
DB_HOST: "db"
DB_PORT: "3306"
DB_NAME: "webtrees"
DB_USER: "webtrees"
DB_PASS: "webtrees"
volumes:
- webtrees_data:/var/www/webtrees/data
- ..:/var/www/webtrees/modules_v4/full-diagram
- /home/alex/.local/src/webtrees_bocken_theme/BockenTheme:/var/www/webtrees/modules_v4/BockenTheme
depends_on:
db:
condition: service_healthy
restart: unless-stopped
db:
image: mariadb:11
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: webtrees
MYSQL_USER: webtrees
MYSQL_PASSWORD: webtrees
volumes:
- db_data:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
volumes:
webtrees_data:
db_data: