Skip to content

Quick Start

This guide will get HERITRACE running on your local machine in just a few steps.

This method uses official Docker images published to Docker Hub and GitHub Container Registry. All configuration is done through environment variables in the docker-compose.yml file.

Create a new directory for HERITRACE:

Terminal window
mkdir heritrace && cd heritrace

Download HERITRACE configuration:

Terminal window
curl -o docker-compose.yml https://raw.githubusercontent.com/opencitations/heritrace/main/docker-compose.yml

Optionally download database management scripts for quick setup:

Terminal window
curl -o start-databases.sh https://raw.githubusercontent.com/opencitations/heritrace/main/start-databases.sh
Terminal window
curl -o stop-databases.sh https://raw.githubusercontent.com/opencitations/heritrace/main/stop-databases.sh
Terminal window
chmod +x start-databases.sh stop-databases.sh

Demo Mode: HERITRACE runs in demo mode by default (FLASK_ENV=demo) for immediate testing without authentication setup. No configuration changes are required to get started!

Optional Configuration: Edit docker-compose.yml to customize:

  • Database endpoints: Update DATASET_DB_URL and PROVENANCE_DB_URL if using your own databases

Option A: Quick start with provided databases

Start databases first:

Terminal window
./start-databases.sh

Start HERITRACE:

Terminal window
docker compose up

Option B: Use your existing databases

Edit docker-compose.yml with your database URLs, then start HERITRACE:

Terminal window
docker compose up

Open your browser and navigate to:

http://127.0.0.1:5000

HERITRACE comes preloaded with validation and display rules based on a customized version of the OpenCitations Data Model (OCDM):

  • SHACL Schema (./shacl.ttl): Defines the data model, classes, and properties.
  • YAML Display Rules (./display_rules.yaml): Configure how entities appear in the interface
  • Default Components (default_components/): Contains the default URI generator and counter handler implementations

Now that HERITRACE is running, you can:

  1. Explore the Interface: Navigate through the metadata management features with the preconfigured data model
  2. Production Setup: Configure ORCID authentication and security settings for production use
  3. Configure Schemas: Customize the SHACL schema for your data model
  4. Set Display Rules: Modify the YAML display rules for your interface

When you’re done, stop the services:

Press Ctrl+C in the terminal running docker compose, or run:

Terminal window
docker compose down

If you get port conflicts, check if other services are running on the required ports:

Terminal window
# Modern Linux (ss command - usually preinstalled)
ss -tulpn | grep -E ':(5000|8998|8999)\s'