<commit_before># Option reference

The ArangoDB Starter provides a lot of options to control various aspects
of the cluster or database you want to run.

Below you'll find a list of all options and their semantics.

## Common options

- `--starter.data-dir=path`

`path` is the directory in which all data is stored. (default "./")

In the directory, there will be a single file `setup.json` used for
restarts and a directory for each instances that runs on this machine.
Different instances of `arangodb` must use different data directories.

- `--starter.join=address`

Join a cluster with master at address `address` (default "").
Address can be an host address or name, followed with an optional port.

E.g. these are valid arguments.

```bash
--starter.join=localhost
--starter.join=localhost:5678
--starter.join=192.168.23.1:8528
--starter.join=192.168.23.1
```

- `--starter.local`

Start a local (test) cluster. Since all servers are running on a single machine
this is really not intended for production setups.

- `--starter.mode=cluster|single|activefailover`

Select what kind of database configuration you want.
This can be a `cluster` configuration (which is the default),
a `single` server configuration or a `activefailover` configuration with
2 single services configured to take over when needed.

Note that when running a `single` server configuration you will lose all
high availability features that a cluster provides you.

- `--cluster.agency-size=int`

number of agents in agency (default 3).

This number has to be positive and odd, and anything beyond 5 probably
does not make sense. The default 3 allows for the failure of one agent.

- `--starter.address=addr`

`addr` is the address under which this server is reachable from the
outside.

Usually, this option does not have to be specified. Only in the case
that `--cluster.agency-size` is set to 1 (see below), the master has to know
under which address it can be reached from the outside. If you specify<commit_msg>Doc - Starter - clearer description for "--starter.address" option<commit_after># Option reference

The ArangoDB Starter provides a lot of options to control various aspects
of the cluster or database you want to run.

Below you'll find a list of all options and their semantics.

## Common options

- `--starter.data-dir=path`

`path` is the directory in which all data is stored. (default "./")

In the directory, there will be a single file `setup.json` used for
restarts and a directory for each instances that runs on this machine.
Different instances of `arangodb` must use different data directories.

- `--starter.join=address`

Join a cluster with master at address `address` (default "").
Address can be an host address or name, followed with an optional port.

E.g. these are valid arguments.

```bash
--starter.join=localhost
--starter.join=localhost:5678
--starter.join=192.168.23.1:8528
--starter.join=192.168.23.1
```

- `--starter.local`

Start a local (test) cluster. Since all servers are running on a single machine
this is really not intended for production setups.

- `--starter.mode=cluster|single|activefailover`

Select what kind of database configuration you want.
This can be a `cluster` configuration (which is the default),
a `single` server configuration or a `activefailover` configuration with
2 single services configured to take over when needed.

Note that when running a `single` server configuration you will lose all
high availability features that a cluster provides you.

- `--cluster.agency-size=int`

number of agents in agency (default 3).

This number has to be positive and odd, and anything beyond 5 probably
does not make sense. The default 3 allows for the failure of one agent.

- `--starter.address=addr`

`addr` is the address under which this server is reachable from the
outside.

Use this option only in the case that `--cluster.agency-size` is set to 1. 
In a single agent setup, the sole starter has to start on its own with
no reliable way to learn its own address. Using this option the master will 
know under which address it can be reached from the outside. If you specify
{'fraction_non_alphanumeric': 0.07485465116279069, 'fraction_numerical': 0.015019379844961241, 'mean_word_length': 4.135572139303482, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 4, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4318396', 'n_tokens_mistral': 1167, 'n_tokens_neox': 1080, 'n_words': 588}