3.8 KiB
Deploy Hugegraph server with docker
Note:
The docker image of hugegraph is a convenience release, not official distribution artifacts from ASF. You can find more details from ASF Release Distribution Policy.
Recommend to use
release tag(like1.2.0) for the stable version. Uselatesttag to experience the newest functions in development.
1. Deploy
We can use docker to quickly start an inner HugeGraph server with RocksDB in the background.
-
Using docker run
Use
docker run -itd --name=graph -p 8080:8080 hugegraph/hugegraphto start hugegraph server. -
Using docker compose
Certainly we can only deploy server without other instance. Additionally, if we want to manage other HugeGraph-related instances with
serverin a single file, we can deploy HugeGraph-related instances viadocker-compose up -d. Thedocker-compose.yamlis as below:version: '3' services: graph: image: hugegraph/hugegraph ports: - 8080:8080
2. Create Sample Graph on Server Startup
If you want to preload some (test) data or graphs in container(by default), you can set the env PRELOAD=ture
If you want to customize the preloaded data, please mount the groovy scripts (not necessary).
-
Using docker run
Use
docker run -itd --name=graph -p 8080:8080 -e PRELOAD=true -v /path/to/yourScript:/hugegraph/scripts/example.groovy hugegraph/hugegraphto start hugegraph server. -
Using docker compose
We can also use
docker-compose up -dto quickly start. Thedocker-compose.yamlis below. example.groovy is a pre-defined script. If needed, we can mount a newexample.groovyto preload different data:version: '3' services: graph: image: hugegraph/hugegraph environment: - PRELOAD=true volumes: - /path/to/yourscript:/hugegraph/scripts/example.groovy ports: - 8080:8080 -
Using start-hugegraph.sh
If you deploy HugeGraph server without docker, you can also pass arguments using
-p, like this:bin/start-hugegraph.sh -p true.
3. Enable Authentication
-
Using docker run
Use
docker run -itd --name=graph -p 8080:8080 -e AUTH=true -e PASSWORD=123456 hugegraph/hugegraphto enable the authentication and set the password with-e AUTH=true -e PASSWORD=123456. -
Using docker compose
Similarly, we can set the environment variables in the docker-compose.yaml:
version: '3' services: server: image: hugegraph/hugegraph container_name: graph ports: - 8080:8080 environment: - AUTH=true - PASSWORD=123456
4. Running Open-Telemetry-Collector
CAUTION:
The
docker-compose-trace.yamlutilizesGrafanaandGrafana-Tempo, both of them are licensed under AGPL-3.0, you should be aware of and use them with caution. Currently, we mainly provide this template for everyone to test
-
Start Open-Telemetry-Collector
cd hugegraph-server/hugegraph-dist/docker/example docker-compose -f docker-compose-trace.yaml -p hugegraph-trace up -d -
Active Open-Telemetry-Agent
./start-hugegraph.sh -y true -
Stop Open-Telemetry-Collector
cd hugegraph-server/hugegraph-dist/docker/example docker-compose -f docker-compose-trace.yaml -p hugegraph-trace stop -
References