Repolode
MGeurts

MGeurts/genealogy

A self-hosted family tree web app built on Laravel for recording family members, their relationships, and GEDCOM import/export.

Open-source alternative to:AncestryMyHeritage

Stars
370
Forks
116
Open issues
0
Last commit
20 hours ago

What is it?

Genealogy is a PHP web application for recording family members and the relationships between them. Each person can be linked to a biological father and mother, a set of parents, partners and children, and couples can be marked as married or separated. The ancestor and descendant trees are generated with recursive common table expressions in MySQL or MariaDB, which avoids N+1 query patterns when building large trees.

The app is organized around teams built on Laravel Jetstream, with owner, manager, editor and member roles that control who can create, edit or only view persons and couples. It includes image and document uploads with optional watermarking, an event timeline, a backup manager with scheduled daily backups, and a log viewer for slow queries and errors. Two-factor authentication and an API can be enabled.

GEDCOM import and export are included but still under development, and the project notes that full GEDCOM 7 support is not yet complete. The interface is available in eleven languages, including Simplified Chinese, and the stack uses Livewire, Alpine.js, Tailwind CSS and Filament's table builder.

Key features

  • 01Records persons and their parent, partner and child relationships
  • 02Ancestor and descendant trees built with recursive SQL queries
  • 03Team-based multi-tenancy with owner, manager, editor and member roles
  • 04Image and document uploads with optional watermarking
  • 05Scheduled and manual database backups with email notification
  • 06Initial GEDCOM import and export, still under development

Use cases

  • Documenting a family history with shared access for relatives
  • Mapping royal or notable family lineages for research
  • Self-hosting a private family tree on your own server
  • Learning how a Laravel app is structured with Jetstream teams and Livewire

Quick start

  1. 1

    Pull the production Docker image from GitHub Container Registry

    docker pull ghcr.io/mgeurts/genealogy:latest
  2. 2

    Follow the Docker setup guide in README-DOCKER.md to configure and start the app

Things to know

  • GEDCOM import and export are still incomplete and under active development.
  • Requires MySQL 8.0.1+ or MariaDB 10.2.2+ with recursive CTE support.
  • HTTPS is required in production.

In collections

Topics

#family-tree#genealogy#laravel#php#self-hosted#gedcom#recursive-cte#ancestry#common-table-expression#genealogy-application

FAQ

What is genealogy?
A self-hosted family tree web app built on Laravel for recording family members, their relationships, and GEDCOM import/export. Genealogy is a PHP web application for recording family members and the relationships between them. Each person can be linked to a biological father and mother, a set of parents, partners and children, and couples can be marked as married or separated. The ancestor and descendant trees are generated with recursive common table expressions in MySQL or MariaDB, which avoids N+1 query patterns when building large trees.
Is genealogy free to use? What license does it have?
genealogy is open source under the MIT license. Check the license terms before using it in commercial products.
Is genealogy still maintained?
Actively maintained. The last commit to genealogy was on Nov 6, 2026.
What can I use genealogy for?
Documenting a family history with shared access for relatives Mapping royal or notable family lineages for research Self-hosting a private family tree on your own server Learning how a Laravel app is structured with Jetstream teams and Livewire
How do I install genealogy?
Pull the production Docker image from GitHub Container Registry: docker pull ghcr.io/mgeurts/genealogy:latest Follow the Docker setup guide in README-DOCKER.md to configure and start the app
Where can I get genealogy?
The source code and installation instructions are on GitHub: https://github.com/MGeurts/genealogy

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects