# Configuring AGS

## Overview

This page describes how to configure Aerospike Graph Service (AGS).

You can specify configuration options with a properties file or with environment variables passed to the Docker image, or both. If you use both, the options are combined when the Docker container starts and AGS uses the environment variables.

For production deployments we recommend using a properties file. For testing and experimentation, specifying configuration options with environment variables can be useful.

For a complete list of all available AGS configuration options, see [Options](https://aerospike.com/docs/graph/reference/config).

## Properties file setup

To specify configuration options in a properties file, create a file named `aerospike-graph.properties`. When starting the AGS Docker image, bind your local properties file to the Docker image with the `-v` option.

For example, if your local properties file is located at `/Users/graph-user/conf/aerospike-graph.properties`, start the Docker image with the command:

```txt
docker run -p8182:8182 -v \

/Users/graph-user/conf/aerospike-graph.properties:/opt/aerospike-graph/aerospike-graph.properties \

aerospike/aerospike-graph-service
```

::: note
The local properties file may be in any location, but the bound volume on the Docker image must be at `/opt/aerospike-graph/aerospike-graph.properties`.
:::

Specify configuration options with the format `OPTION=VALUE`. The following is an example of a `aerospike-graph.properties` file:

```txt
aerospike.client.host=172.17.0.2

aerospike.client.port=3000

aerospike.client.namespace=test
```

You can also specify configuration options as environment variables when starting the AGS Docker image, as demonstrated in the following example command:

```txt
docker run -p8182:8182 \

-e aerospike.client.namespace=myGraph \

-e aerospike.client.host=172.17.0.2 \

aerospike/aerospike-graph-service
```

## Basic options

A minimum AGS configuration contains the following options:

| Option | Description |
| --- | --- |
| [`aerospike.client.host`](https://aerospike.com/docs/graph/reference/config#aerospikeclienthost) | Accessible address of an Aerospike database server seed node. |
| [`aerospike.client.port`](https://aerospike.com/docs/graph/reference/config#aerospikeclientport) | Port number of an Aerospike seed node. |
| [`aerospike.client.namespace`](https://aerospike.com/docs/graph/reference/config#aerospikeclientnamespace) | [Namespace](https://aerospike.com/docs/database/manage/namespace) name for AGS to use on an Aerospike database. |

Other options are available for enabling additional AGS features, including:

-   [Bulk data loading](https://aerospike.com/docs/graph/3.1.0/develop/data-loading/overview)
-   [Indexing](https://aerospike.com/docs/graph/3.1.0/develop/query/indexing/#create-an-index-with-configuration)
-   [Data consistency and isolation](https://aerospike.com/docs/graph/3.1.0/develop/query/transactions)
-   [Role-based access control](https://aerospike.com/docs/graph/3.1.0/manage/security/rbac-graph)
-   [Audit logging](https://aerospike.com/docs/graph/3.1.0/manage/security/audit)
-   [Multi-tenant graph/3.1.0s](https://aerospike.com/docs/graph/manage/multi-tenant)