Setting up hgres

Learn how to set up hgres


Introduction

hgres is the multi-temporal graph engine that powers HASH — the type system and entity store, usable on its own without the rest of the application. To learn more about hgres and its unique capabilities, visit hgres.org

Why self-host hgres?

If you're looking for a headless, multi-temporal, SemType-compatible property graph… hgres is for you.

If you want a graphical user interface on top of hgres, a more fully-functional entity/type management experience, or the ability to integrate data seamlessly from external sources via ready-made integrations and AI extractors, use HASH instead.

Local setup

Like HASH itself, hgres can be run locally on a single machine via Docker, enabled via a single Docker Compose file.

1. Prerequisites

To get started, you'll need the following installed:

  • Git (≥ 2.17)
  • Docker (≥ 20.10) with Docker Compose (≥ 2.17) and Docker Buildx (≥ 0.10)
  • At least 8 GB RAM allocated to Docker (Preferences → Resources)
  • Around 15 GB free disk space for images and volumes

2. Start hgres

git clone https://github.com/hashintel/hash.git
cd hash/infra/compose
docker compose --profile hgres up -d

This starts hash-graph together with only its dependencies (Postgres and Temporal).

Previous

Join our community of HASH developers