Spring Boot application to display the genealogy data from a GEDCOM file. Once loaded, the data is managed in a MongoDB database.
Check it out by perusing my genealogy database. You can browse the database anonymously, but you will need a login with the appropriate role to see living people.
The easist way to run is to directly run the Docker images.
Running with Docker requires running the MongoDB with Docker. The following commands allow you to do this without conflicting ports with a native MongoDB service. Note that these commands will conflict with a running native Tomcat server. Naturally, in order to this you have to install Docker.
The following steps follow after installing Docker and verifying that the service is running.
mkdir ~/data
mkdir /var/lib/gedbrowser
cp *.ged /var/lib/gedbrowser
You will have to go over to Google's developer site and get your own keys.
cat YOURGEOCODINGKEY > /var/lib/gedbrowser/google-geocoding-key
cat YOURGOOGLEMAPKEY >> /var/lib/gedbrowser/google-geocoding-key
The file sits in the gedbrowser home directory and is called userFile.csv. The
format is:
username,first name,last name,email,password,role,role,...
The supported roles are USER and ADMIN.
emacs /var/lib/gedbrowser/userFile.csv
export DATA_DIR=~/data
export GEDBROWSER_HOME=/var/lib/gedbrowser
You start with MongoDB, then geoservice and then gedbrowser.
docker run --rm -v ${DATA_DIR}:/data/db --name mongo -p 28001:27017 -d mongo
docker run --link mongo:mongo -v ${GEDBROWSER_HOME}:/var/lib/gedbrowser -p 8086:8080 -p 8087:8081 --name geoservice -d dickschoeller/geoservice
docker run --link geoservice:geoservice --link mongo:mongo -v ${GEDBROWSER_HOME}:/var/lib/gedbrowser -p 8080:8080 -p 8081:8081 --name gedbrowser -d dickschoeller/gedbrowser
Once this is complete, gedbrowser should be up and running and reachable at port 8080 from your browser. See Docker documentation to change ports or to distribute the services across different hosts. See your webrowser documentation if you intend to run this behind a webserver.
As users refer to each of the GEDCOM files, they will be loaded into your instance of MongoDB. Subsequent access will be from the database and not from the GEDCOM file. There is a reload function on the management port if you wish to reset the database from the files.
- Prerequisites are a JDK, Maven, Git, and MongoDB
- Optional Docker, which can be used to get MongoDB as well as to run gedbrowsser
- IDE of your choice. We prefer Eclipse.
- Follow the installation instruction regarding preparing the gedbrowser home directory
- Clone this repository and cd into it
- From the top 'mvn clean install'
- java -jar gedbrowser/target/gedbrowser-1.3.0-RC3-SNAPSHOT.jar or run from your IDE
The location of gedbrowser.home defaults to /var/lib/gedbrowser. However that can be adjusted in the file application.yml. When running in Docker the data file can be redirected where you want from the run command.
You are now ready to try making changes and pull requests. 😄
We are big fans of DevOps, tooling to automate as many processes as can be done. Take a look at our Development Operations wiki page to get an idea of what tools we are using, where we stand on their use and some ideas of how much further we have to go.
TBD
Gedbrowser is Open Source software released under the Apache 2.0 license.