Public Repository

Last pushed: 3 days ago
Short Description
Segrada - Semantic Graph Database
Full Description

Dockerfile: latest
Alternative method of creating from downloadable image: alt

Segrada is a semantic graph database for research and documentation.

See for more information.


  • Create entities and describe them. Add tags, colors and icons to your entities.
  • Connect entities sematically. Define relation types, tag relations and types.
  • Create a tag ontology by creating a tag hierarchy.
  • Add source entries and add references to entities and relations.
  • Upload files and connect them with everything.
  • Full text search of database and files
  • Graph view of connections
  • PDF-Preview of uploaded pdf files
  • Powerful filtering and search features
  • Multiple users possible
  • Scalable: Use on desktop, run as single or distributed server.
  • Internationalized: Currently English and German

Pull latest version: docker pull ronix/segrada
or pull a specific version: docker pull ronix/segrada:v0.2.3

Running in Docker:

docker run --name segrada -p 8080:8080 ronix/segrada

or with persistent database volume:

docker run --name segrada -p 8080:8080 -v path_to/segrada_data:/usr/local/segrada/segrada_data ronix/segrada

If you want to test Segrada in a distributed environment, you can run OrientDb and Solr on Docker, too. Do the following:

# get empty database and prepare Orient directory to use below
mkdir mysegrada_test
cd mysegrada_test
tar xzf SegradaEmptyDB.tar.gz
rm SegradaEmptyDB.tar.gz
mkdir orientdbs
mv segrada_data/db/ orientdbs/Segrada
# this is for testing only - should be changed in production:
chmod 777 segrada_data

# pull and run OrientDB
docker pull orientdb/orientdb
docker run -d -e "ORIENTDB_ROOT_PASSWORD=12345" \
    -v "$(pwd)/databases:/orientdb/databases" -p 2424:2424 \
    -p 2480:2480 orientdb/orientdb

# pull and run Solr
docker pull solr
docker run --name my_solr -d -p 8983:8983 -t solr
# create segrada core (Segrada will use default schema of Solr)
sudo docker exec -it --user=solr my_solr bin/solr create_core -c segrada

# pull and run
docker pull ronix/segrada
docker run -d -e "SEGRADA_ORIENTDB_LOGIN=admin" \
    -e "SEGRADA_ORIENTDB_URL=remote:localhost/Segrada" \
    -v "$(pwd)/segrada_data:/usr/local/segrada/segrada_data" \
    -e "SEGRADA_SOLR_SERVER=http://localhost:8983/solr/segrada" \
    --net="host" -p 8080:8080 ronix/segrada

Now you only have to cope with the issue of distributing uploading files. You can use a network and/or distributed file system for this, like NFS, Gluster, or Ceph. Another option would be to synchronize files between nodes. BitTorrentSync or syncthing would be choices here.

Docker Pull Command