Skip to main content

ArangoDB

What is ArangoDB?

ArangoDB is a multi-model database that combines document, graph, and key/value storage behind one query language, AQL. It's a graph-capable alternative to running Neo4j alongside a separate document store. Laradock runs it straight from the official arangodb image.

Start ArangoDB

docker compose up -d arangodb

Stop ArangoDB

docker compose stop arangodb

This stops the container without deleting its data. Data is kept in the named arangodb Docker volume, not under DATA_PATH_HOST.

Configuration

All settings live in arangodb/defaults.env and can be overridden by adding the same line to your own .env:

VariableDefaultWhat it does
ARANGODB_VERSION3.12Image tag from the official ArangoDB image.
ARANGODB_PORT8529Host-side port for the web UI and API (container port 8529).
ARANGODB_ROOT_PASSWORDsecretPassword for the root user.

Open the web UI

http://localhost:8529

Log in as root with ARANGODB_ROOT_PASSWORD.

Check the API from the command line

curl http://localhost:8529/_api/version

Common issues

  • Changing ARANGODB_VERSION doesn't take effect. ArangoDB is pulled by image tag, not built locally, restart after changing it: docker compose up -d arangodb. Crossing a major version against existing data can require ArangoDB's own upgrade procedure, check their docs before jumping versions on a real dataset.
  • Data isn't where you expect. Unlike most Laradock database services, ArangoDB persists to a named Docker volume (arangodb), not DATA_PATH_HOST. Use docker volume inspect <project>_arangodb to find it on disk, or docker compose down -v to wipe it (data loss).
  • Port already in use on your host. Change ARANGODB_PORT in .env and restart.
  • Forgot the root password. It's only applied on first boot into a fresh volume. If you changed ARANGODB_ROOT_PASSWORD after that, either reset it from inside ArangoDB or drop the arangodb volume (data loss).

Need a different multi-model option? See SurrealDB. Back to the Getting Started guide.