Self-hosted web application for recording, viewing and sharing family trees, with GEDCOM import and export.
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:Ancestry
MyHeritage
- 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
Pull the production Docker image from GitHub Container Registry
docker pull ghcr.io/mgeurts/genealogy:latest - 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
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
Open-source genealogy software written in OCaml that runs a family-tree database with a web interface, locally or as a server.
Gramps is a desktop genealogy program for building and researching family trees, built with Python and GTK.
A Python REST API that lets you query and edit Gramps genealogy family tree databases over the web.
An evidence-first genealogy skill for AI agents that researches family history across former USSR records, with traceable sources.
Python tool that predicts a person's genetic ancestry from direct-to-consumer SNP data by comparing it against 1000 Genomes samples.