Skip to main content
Version: 2.0

Module Dependencies

GraphGrid modules can be individually stopped and started. Some modules will not perform as expected without other modules and services running. This page provides information about each GraphGrid module and their dependencies.

Modules and services​

GraphGrid Modules

Config
Security
Files
Fuze
Manager
PDF
Publish
Search
Curator
NLP
Payment
ML

Services

Elasticsearch
MinIO
RabbitMQ
Redis
OpenLDAP
PHPLDAPAdmin
Nginx
ONgDB
Postgres
Kibana
Logstash
Logspout
Apm-server
Spark-master
Spark-worker (1,2)
Airflow
Airflow-flower
Airflow-worker
airflow-scheduler
Airflow-init
Socat

GraphGrid Module dependency​

Config​

GraphGrid Config requires the following services to run:

  • Nginx
  • RabbitMQ
  • Redis
  • ONgDB
  • GraphGrid Security*
  • GraphGrid Config

Config Startup Command​

Starting up Config with the GraphGrid start command will bring up the following services:

(base) user@desktop graphgrid-ai-2.0.0-SNAPSHOT % ./bin/graphgrid start config
Starting GraphGrid services
docker-compose up -d config
Creating network "graphgrid" with driver "bridge"
Creating graphgrid-ai-200-snapshot_nginx_1 ... done
Creating graphgrid-ai-200-snapshot_rabbitmq_1 ... done
Creating graphgrid-ai-200-snapshot_redis_1 ... done
Creating graphgrid-ai-200-snapshot_ongdb_1 ... done
Creating graphgrid-ai-200-snapshot_config_1 ... done
note

*GraphGrid Security does not come up with the ./bin/graphgrid start config command. GraphGrid Config has its own security controls to provide modules and service direct access. Users should startup GraphGrid Security if they need user authentication and authorization. Without GraphGrid Security running, a 500 error is thrown when running Config endpoints that require an authorization token. Start GraphGrid Security the following command: ./bin/graphgrid start security

Curator​

GraphGrid Curator requires the following services to run:

  • RabbitMQ
  • Nginx
  • Redis
  • Postgres
  • OpenLDAP
  • ONgDB
  • GraphGrid Config
  • GraphGrid Security
  • GraphGrid Search
  • GraphGrid Manager
  • GraphGrid Curator

Curator Startup Command​

Starting up Curator with the GraphGrid start command will bring up the following services:

(base) user@desktop graphgrid-ai-2.0.0-SNAPSHOT % ./bin/graphgrid start curator
Starting GraphGrid services
docker-compose up -d curator
Creating network "graphgrid" with driver "bridge"
Creating graphgrid-ai-200-snapshot_rabbitmq_1 ... done
Creating graphgrid-ai-200-snapshot_nginx_1 ... done
Creating graphgrid-ai-200-snapshot_redis_1 ... done
Creating graphgrid-ai-200-snapshot_postgres_1 ... done
Creating graphgrid-ai-200-snapshot_openldap_1 ... done
Creating graphgrid-ai-200-snapshot_ongdb_1 ... done
Creating graphgrid-ai-200-snapshot_config_1 ... done
Creating graphgrid-ai-200-snapshot_security_1 ... done
Creating graphgrid-ai-200-snapshot_manager_1 ... done
Creating graphgrid-ai-200-snapshot_search_1 ... done
Creating graphgrid-ai-200-snapshot_curator_1 ... done
note

GraphGrid Manager sets up event triggers that effect the graph, including assigning each node a unique identifier called a grn. The Curator Dashboard will not work as expected without the triggers set up through Manager. Do not stop or disable Manager while using Curator.

Files​

GraphGrid Files requires the following services to run:

  • OpenLDAP
  • Postgres
  • Nginx
  • MinIO
  • RabbitMQ
  • Redis
  • ONgDB
  • GraphGrid Config
  • GraphGrid Security
  • GraphGrid Files

Files Startup Command​

Starting up Files with the GraphGrid start command will bring up the following services:

(base) user@desktop graphgrid-ai-2.0.0-SNAPSHOT % ./bin/graphgrid start files
Starting GraphGrid services
docker-compose up -d files
Creating network "graphgrid" with driver "bridge"
Creating graphgrid-ai-200-snapshot_openldap_1 ... done
Creating graphgrid-ai-200-snapshot_postgres_1 ... done
Creating graphgrid-ai-200-snapshot_nginx_1 ... done
Creating graphgrid-ai-200-snapshot_minio_1 ... done
Creating graphgrid-ai-200-snapshot_rabbitmq_1 ... done
Creating graphgrid-ai-200-snapshot_redis_1 ... done
Creating graphgrid-ai-200-snapshot_ongdb_1 ... done
Creating graphgrid-ai-200-snapshot_config_1 ... done
Creating graphgrid-ai-200-snapshot_security_1 ... done
Creating graphgrid-ai-200-snapshot_files_1 ... done

Fuze​

GraphGrid Fuze requires the following services to run:

  • Nginx
  • Postgres
  • RabbitMQ
  • OpenLDAP
  • Redis
  • ONgDB
  • GraphGrid Config
  • GraphGrid Security
  • GraphGrid Fuze

Fuze Startup Command​

Starting up Fuze with the GraphGrid start command will bring up the following services:

(base) user@desktop graphgrid-ai-2.0.0-SNAPSHOT % ./bin/graphgrid start fuze
Starting GraphGrid services
docker-compose up -d fuze
Creating network "graphgrid" with driver "bridge"
Creating graphgrid-ai-200-snapshot_nginx_1 ... done
Creating graphgrid-ai-200-snapshot_postgres_1 ... done
Creating graphgrid-ai-200-snapshot_rabbitmq_1 ... done
Creating graphgrid-ai-200-snapshot_openldap_1 ... done
Creating graphgrid-ai-200-snapshot_redis_1 ... done
Creating graphgrid-ai-200-snapshot_ongdb_1 ... done
Creating graphgrid-ai-200-snapshot_config_1 ... done
Creating graphgrid-ai-200-snapshot_security_1 ... done
Creating graphgrid-ai-200-snapshot_fuze_1 ... done

NLP​

GraphGrid NLP requires the following services to run:

  • Postgres
  • OpenLDAP
  • Nginx
  • Redis
  • RabbitMQ
  • MinIO
  • ONgDB
  • GraphGrid Config
  • GraphGrid Security
  • GraphGrid Fuze
  • GraphGrid NLP

NLP Startup Command​

Starting up NLP with the GraphGrid start command will bring up the following services:

(base) user@desktop graphgrid-ai-2.0.0-SNAPSHOT % ./bin/graphgrid start nlp
Starting GraphGrid services
docker-compose up -d nlp
Creating network "graphgrid" with driver "bridge"
Creating graphgrid-ai-200-snapshot_postgres_1 ... done
Creating graphgrid-ai-200-snapshot_openldap_1 ... done
Creating graphgrid-ai-200-snapshot_nginx_1 ... done
Creating graphgrid-ai-200-snapshot_redis_1 ... done
Creating graphgrid-ai-200-snapshot_rabbitmq_1 ... done
Creating graphgrid-ai-200-snapshot_minio_1 ... done
Creating graphgrid-ai-200-snapshot_ongdb_1 ... done
Creating graphgrid-ai-200-snapshot_config_1 ... done
Creating graphgrid-ai-200-snapshot_security_1 ... done
Creating graphgrid-ai-200-snapshot_fuze_1 ... done
Creating graphgrid-ai-200-snapshot_nlp_1 ... done
note

Data extraction relies on triggers created by Fuze. Do not stop or disable Fuze while running NLP individually.

If the following error is given while attempting data extraction, Fuze is not running and should be started:

[SimpleAsyncTaskExecutor-1]    ERROR c.g.sdk.core.GraphGridHttpClient     - Error processing request: com.graphgrid.sdk.model.neo4jWriter.Neo4jWriterRequest@5f342f54[endpoint=<http://fuze:8080/1.0/fuze/write,serviceUrl>=<null>,body=com.graphgrid.sdk.model.neo4jWriter.TransactionRequest@5277db20,headers={Authorization=Bearer 0495f13d-fa6f-4757-bb23-33367b64bcd4, graphgrid-user-token=null},customQueryParameters=<null>,requestHandler=<null>,responseHandler=<null>,requestAuthMethod=com.graphgrid.sdk.core.security.ClientCredentialsTokenRequest@24ad98d2]
nlp_1 | 2023-10-09 15:06:37,210 [SimpleAsyncTaskExecutor-1] ERROR c.g.sdk.core.GraphGridHttpClient - Error processing request: com.graphgrid.sdk.model.neo4jWriter.Neo4jWriterRequest@5f342f54[endpoint=<http://fuze:8080/1.0/fuze/write,serviceUrl>=<null>,body=com.graphgrid.sdk.model.neo4jWriter.TransactionRequest@5277db20,headers={Authorization=Bearer 0495f13d-fa6f-4757-bb23-33367b64bcd4, graphgrid-user-token=null},customQueryParameters=<null>,requestHandler=<null>,responseHandler=<null>,requestAuthMethod=com.graphgrid.sdk.core.security.ClientCredentialsTokenRequest@24ad98d2]

Manager​

GraphGrid Manager requires the following services to run:

  • OpenLDAP
  • Redis
  • Nginx
  • Elasticsearch
  • Postgres
  • RabbitMQ
  • ONgDB
  • GraphGrid Config
  • GraphGrid Security
  • GraphGrid Manager

Manager Startup Command​

Starting up Manager with the GraphGrid start command will bring up the following services:

(base) user@desktop graphgrid-ai-2.0.0-SNAPSHOT % ./bin/graphgrid start manager
Starting GraphGrid services
docker-compose up -d manager
Creating network "graphgrid" with driver "bridge"
Creating graphgrid-ai-200-snapshot_openldap_1 ... done
Creating graphgrid-ai-200-snapshot_redis_1 ... done
Creating graphgrid-ai-200-snapshot_nginx_1 ... done
Creating graphgrid-ai-200-snapshot_elasticsearch_1 ... done
Creating graphgrid-ai-200-snapshot_postgres_1 ... done
Creating graphgrid-ai-200-snapshot_rabbitmq_1 ... done
Creating graphgrid-ai-200-snapshot_ongdb_1 ... done
Creating graphgrid-ai-200-snapshot_config_1 ... done
Creating graphgrid-ai-200-snapshot_security_1 ... done
Creating graphgrid-ai-200-snapshot_manager_1 ... done

ML​

GraphGrid ML requires the following services to run:

  • Postgres
  • OpenLDAP
  • Nginx
  • Redis
  • RabbitMQ
  • MinIO
  • ONgDB
  • Spark
  • Airflow
  • GraphGrid Config
  • GraphGrid Security
  • GraphGrid ML

ML Startup Command​

note

The GraphGrid ML module and dependent services are disabled by default. ML must be enabled before using the start command. Use the following command to enable ML:

./bin/graphgrid enable ml

Starting up ML without enabling it first will produce the following error message:

(base) user@desktop graphgrid-ai-skeleton-2.0.0-SNAPSHOT 2 % ./bin/graphgrid start ml 
Starting GraphGrid services
docker-compose up -d ml
ERROR: Service "spark-master" was pulled in as a dependency of service "spark-worker-1" but is not enabled by the active profiles. You may fix this by adding a common profile to "spark-master" and "spark-worker-1".

Starting up ML with the GraphGrid start command will bring up the following services:

(base) user@desktop graphgrid-ai-skeleton-2.0.0-SNAPSHOT 2 % ./bin/graphgrid start ml 
Starting GraphGrid services
docker-compose up -d ml
Creating network "graphgrid" with driver "bridge"
Creating graphgrid-ai-skeleton-200-snapshot2_spark-master_1 ... done
Creating graphgrid-ai-skeleton-200-snapshot2_postgres_1 ... done
Creating graphgrid-ai-skeleton-200-snapshot2_rabbitmq_1 ... done
Creating graphgrid-ai-skeleton-200-snapshot2_elasticsearch_1 ... done
Creating graphgrid-ai-skeleton-200-snapshot2_minio_1 ... done
Creating graphgrid-ai-skeleton-200-snapshot2_openldap_1 ... done
Creating graphgrid-ai-skeleton-200-snapshot2_redis_1 ... done
Creating graphgrid-ai-skeleton-200-snapshot2_nginx_1 ... done
Creating graphgrid-ai-skeleton-200-snapshot2_spark-worker-2_1 ... done
Creating graphgrid-ai-skeleton-200-snapshot2_spark-worker-1_1 ... done
Creating graphgrid-ai-skeleton-200-snapshot2_ongdb_1 ... done
Creating graphgrid-ai-skeleton-200-snapshot2_config_1 ... done
Creating graphgrid-ai-skeleton-200-snapshot2_security_1 ... done
Creating graphgrid-ai-skeleton-200-snapshot2_manager_1 ... done
Creating graphgrid-ai-skeleton-200-snapshot2_ml_1 ... done

PDF​

GraphGrid PDF requires the following services to run:

  • MinIO
  • OpenLDAP
  • Postgres
  • Nginx
  • Redis
  • RabbitMQ
  • ONgDB
  • GraphGrid Config
  • GraphGrid Security
  • GraphGrid PDF

PDF Startup Command​

Starting up PDF with the GraphGrid start command will bring up the following services:

(base) user@desktop graphgrid-ai-2.0.0-SNAPSHOT % ./bin/graphgrid start pdf
Starting GraphGrid services
docker-compose up -d pdf
Creating network "graphgrid" with driver "bridge"
Creating graphgrid-ai-200-snapshot_minio_1 ... done
Creating graphgrid-ai-200-snapshot_openldap_1 ... done
Creating graphgrid-ai-200-snapshot_postgres_1 ... done
Creating graphgrid-ai-200-snapshot_nginx_1 ... done
Creating graphgrid-ai-200-snapshot_redis_1 ... done
Creating graphgrid-ai-200-snapshot_rabbitmq_1 ... done
Creating graphgrid-ai-200-snapshot_ongdb_1 ... done
Creating graphgrid-ai-200-snapshot_config_1 ... done
Creating graphgrid-ai-200-snapshot_security_1 ... done
Creating graphgrid-ai-200-snapshot_pdf_1 ... done

Publish​

GraphGrid Publish requires the following services to run:

  • OpenLDAP
  • Postgres
  • Nginx
  • RabbitMQ
  • MinIO
  • Redis
  • ONgDB
  • GraphGrid Config
  • GraphGrid Security
  • GraphGrid Publish

Publish Startup Command​

Starting up Publish with the GraphGrid start command will bring up the following services:

(base) user@desktop graphgrid-ai-2.0.0-SNAPSHOT % ./bin/graphgrid start publish
Starting GraphGrid services
docker-compose up -d publish
Creating network "graphgrid" with driver "bridge"
Creating graphgrid-ai-200-snapshot_openldap_1 ... done
Creating graphgrid-ai-200-snapshot_postgres_1 ... done
Creating graphgrid-ai-200-snapshot_nginx_1 ... done
Creating graphgrid-ai-200-snapshot_rabbitmq_1 ... done
Creating graphgrid-ai-200-snapshot_minio_1 ... done
Creating graphgrid-ai-200-snapshot_redis_1 ... done
Creating graphgrid-ai-200-snapshot_ongdb_1 ... done
Creating graphgrid-ai-200-snapshot_config_1 ... done
Creating graphgrid-ai-200-snapshot_security_1 ... done
Creating graphgrid-ai-200-snapshot_publish_1 ... done

GraphGrid Search requires the following services to run:

  • Postgres
  • OpenLDAP
  • Redis
  • RabbitMQ
  • Elasticsearch
  • Nginx
  • ONgDB
  • GraphGrid Config
  • GraphGrid Security
  • GraphGrid Search

Search Startup Command​

Starting up Search with the GraphGrid start command will bring up the following services:

(base) user@desktop graphgrid-ai-2.0.0-SNAPSHOT % ./bin/graphgrid start search
Starting GraphGrid services
docker-compose up -d search
Creating graphgrid-ai-200-snapshot_postgres_1 ... done
Creating graphgrid-ai-200-snapshot_openldap_1 ... done
Creating graphgrid-ai-200-snapshot_redis_1 ... done
Creating graphgrid-ai-200-snapshot_rabbitmq_1 ... done
Creating graphgrid-ai-200-snapshot_elasticsearch_1 ... done
Creating graphgrid-ai-200-snapshot_nginx_1 ... done
Creating graphgrid-ai-200-snapshot_ongdb_1 ... done
Creating graphgrid-ai-200-snapshot_config_1 ... done
Creating graphgrid-ai-200-snapshot_security_1 ... done
Creating graphgrid-ai-200-snapshot_search_1 ... done