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
*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
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
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
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
Search
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