Configuration
June 5, 2026 · View on GitHub
Configuration
All environment variables for configuring Graph Explorer, organized by concern.
Application Configuration
These variables control server behavior, networking, and security.
GRAPH_EXP_ENV_ROOT_FOLDER
Base path used to serve the graph-explorer front end application.
Example: /explorer
- Optional
- Default:
/ - Type:
string
HOST
The public hostname of the server. This is used to generate the self-signed SSL certificate at container startup.
Example: localhost
- Required when using HTTPS connections
- Default is
localhost - Type:
string
GRAPH_EXP_HTTPS_CONNECTION
Uses the self-signed certificate to serve Graph Explorer over https if true. Only used in Docker via the entrypoint script.
- Optional
- Default
truein Docker, not set otherwise - Type:
boolean
PROXY_SERVER_HTTPS_PORT
The port to use for the HTTPS server.
- Optional
- Default
443 - Type:
number
PROXY_SERVER_HTTP_PORT
The port to use for the HTTP server.
- Optional
- Default
80 - Type:
number
PROXY_SERVER_HTTPS_CONNECTION
Uses the self-signed certificate to serve the proxy-server over https if true.
- Optional
- Default
falsein code,truein Docker via the entrypoint script - Type:
boolean
PROXY_SERVER_CORS_ORIGIN
Restricts which origins are allowed to make cross-origin requests to the proxy server. When set, only requests from these exact origins will receive CORS headers. When not set, cross-origin requests are blocked. Each origin must include the scheme and must not have a trailing slash or path.
Example: https://my-app.example.com or https://app-a.example.com,https://app-b.example.com
- Optional
- Default: cross-origin requests blocked
- Type:
string(comma-separated for multiple origins)
PROXY_SERVER_ALLOWED_DB_ORIGINS
Restricts which database origins the proxy server will forward requests to. When set, requests targeting an origin not in the list receive a 403 response. When not set, the proxy forwards to any database URL specified by the client (current default behavior).
Values must be origins (scheme + host + optional port). Including a path will cause a startup error.
Examples:
# Single origin
PROXY_SERVER_ALLOWED_DB_ORIGINS=https://my-neptune-cluster:8182
# Multiple origins
PROXY_SERVER_ALLOWED_DB_ORIGINS=https://cluster-a:8182,https://cluster-b:8182
# INVALID — paths are not allowed
PROXY_SERVER_ALLOWED_DB_ORIGINS=https://my-neptune-cluster:8182/sparql
- Optional
- Default: all origins allowed
- Type:
string(comma-separated for multiple origins)
Note
This check only applies to requests routed through the proxy server. Connections configured to contact the database directly (bypassing the proxy) are not subject to the allowlist.
LOG_STYLE
Controls the log output format.
- Optional
- Default:
default - Type:
"cloudwatch" | "default" cloudwatchomits timestamps and hostname/pid (these are provided by CloudWatch)defaultuses the standard log format
CONFIGURATION_FOLDER_PATH
Override path for the folder containing .env and defaultConnection.json. When set, replaces the default path entirely.
- Optional
- Default:
<client root>(packages/graph-explorer) - Type:
string
Default Connection
To provide a default connection such that initial loads of Graph Explorer always result with the same starting connection, modify the docker run ... command to either take in a JSON configuration or runtime environment variables. If you provide both a JSON configuration and environmental variables, the JSON will be prioritized.
Environment Variables
These are the valid environment variables used for the default connection, their defaults, and their descriptions.
- Required:
PUBLIC_OR_PROXY_ENDPOINT-None
- Optional
GRAPH_TYPE-None- If not specified, multiple connections will be created for every available query language.USING_PROXY_SERVER-FalseIAM-FalseGRAPH_EXP_HTTPS_CONNECTION-True- Controls whether Graph Explorer uses SSL or notPROXY_SERVER_HTTPS_CONNECTION-True- Controls whether the server uses SSL or notGRAPH_EXP_FETCH_REQUEST_TIMEOUT-240000- Controls the timeout for the fetch request. Measured in milliseconds (i.e. 240000 is 240 seconds or 4 minutes).GRAPH_EXP_NODE_EXPANSION_LIMIT-None- Controls the limit for node counts and expansion queries.
- Conditionally Required:
- Required if
USING_PROXY_SERVER=TrueGRAPH_CONNECTION_URL-None
- Required if
USING_PROXY_SERVER=TrueandIAM=TrueAWS_REGION-NoneSERVICE_TYPE-neptune-db, Set this asneptune-dbfor Neptune database orneptune-graphfor Neptune Analytics.
- Required if
JSON Configuration Approach
First, create a config.json file containing values for the connection attributes:
{
"PUBLIC_OR_PROXY_ENDPOINT": "https://public-endpoint",
"GRAPH_CONNECTION_URL": "https://{your-cluster-id}.us-west-2.neptune.amazonaws.com:8182",
"USING_PROXY_SERVER": true,
"IAM": true,
"SERVICE_TYPE": "neptune-db",
"AWS_REGION": "us-west-2",
"GRAPH_TYPE": "gremlin",
"GRAPH_EXP_HTTPS_CONNECTION": true,
"PROXY_SERVER_HTTPS_CONNECTION": true,
"GRAPH_EXP_FETCH_REQUEST_TIMEOUT": 240000,
"GRAPH_EXP_NODE_EXPANSION_LIMIT": 500
}
GRAPH_TYPE accepts "gremlin", "sparql", or "openCypher". GRAPH_EXP_FETCH_REQUEST_TIMEOUT is measured in milliseconds (e.g., 240000 is 4 minutes).
Pass the config.json file path to the docker run command.
docker run -p 80:80 -p 443:443 \
--env HOST={hostname-or-ip-address} \
-v /path/to/config.json:/graph-explorer/config.json \
public.ecr.aws/neptune/graph-explorer
Environment Variable Approach
Provide the desired connection variables directly to the docker run command, as follows:
docker run -p 80:80 -p 443:443 \
--env HOST={hostname-or-ip-address} \
--env PUBLIC_OR_PROXY_ENDPOINT=https://public-endpoint \
--env GRAPH_TYPE=gremlin \
--env USING_PROXY_SERVER=true \
--env IAM=false \
--env GRAPH_CONNECTION_URL=https://{your-cluster-id}.us-west-2.neptune.amazonaws.com:8182 \
--env AWS_REGION=us-west-2 \
--env SERVICE_TYPE=neptune-db \
--env PROXY_SERVER_HTTPS_CONNECTION=true \
--env GRAPH_EXP_FETCH_REQUEST_TIMEOUT=240000 \
--env GRAPH_EXP_NODE_EXPANSION_LIMIT=500 \
public.ecr.aws/neptune/graph-explorer