2017-09-08 02:14:12 +00:00
---
2020-01-18 00:18:09 +00:00
layout: docs
page_title: server - Command
sidebar_title: <code>server</code>
2017-09-08 02:14:12 +00:00
description: |-
The "server" command starts a Vault server that responds to API requests. By
default, Vault will start in a "sealed" state. The Vault cluster must be
initialized before use.
---
# server
The `server` command starts a Vault server that responds to API requests. By
default, Vault will start in a "sealed" state. The Vault cluster must be
initialized before use, usually by the `vault operator init` command. Each Vault
server must also be unsealed using the `vault operator unseal` command or the
API before the server can respond to requests.
For more information, please see:
2020-01-22 20:05:41 +00:00
- [`operator init` command](/docs/commands/operator/init) for information
2017-09-08 02:14:12 +00:00
on initializing a Vault server.
2020-01-22 20:05:41 +00:00
- [`operator unseal` command](/docs/commands/operator/unseal) for
2017-09-08 02:14:12 +00:00
information on providing unseal keys.
2020-01-22 20:05:41 +00:00
- [Vault configuration](/docs/configuration) for the syntax and
2017-09-08 02:14:12 +00:00
various configuration options for a Vault server.
## Examples
Start a server with a configuration file:
2020-05-21 17:18:17 +00:00
```shell-session
2017-09-08 02:14:12 +00:00
$ vault server -config=/etc/vault/config.hcl
```
Run in "dev" mode with a custom initial root token:
2020-05-21 17:18:17 +00:00
```shell-session
2017-09-08 02:14:12 +00:00
$ vault server -dev -dev-root-token-id="root"
```
## Usage
The following flags are available in addition to the [standard set of
2020-01-22 20:05:41 +00:00
flags](/docs/commands) included on all commands.
2017-09-08 02:14:12 +00:00
### Command Options
- `-config` `(string: "")` - Path to a configuration file or directory of
configuration files. This flag can be specified multiple times to load
multiple configurations. If the path is a directory, all files which end in
.hcl or .json are loaded.
- `-log-level` `(string: "info")` - Log verbosity level. Supported values (in
order of detail) are "trace", "debug", "info", "warn", and "err". This can
2018-06-05 14:23:32 +00:00
also be specified via the VAULT_LOG_LEVEL environment variable.
2020-01-18 00:18:09 +00:00
2019-07-18 19:59:27 +00:00
- `-log-format` `(string: "standard")` - Log format. Supported values
2020-01-18 00:18:09 +00:00
are "standard" and "json". This can also be specified via the
2019-07-18 19:59:27 +00:00
VAULT_LOG_FORMAT environment variable.
2017-09-08 02:14:12 +00:00
### Dev Options
- `-dev` `(bool: false)` - Enable development mode. In this mode, Vault runs
in-memory and starts unsealed. As the name implies, do not run "dev" mode in
production.
- `-dev-listen-address` `(string: "127.0.0.1:8200")` - Address to bind to in
"dev" mode. This can also be specified via the `VAULT_DEV_LISTEN_ADDRESS`
environment variable.
- `-dev-root-token-id` `(string: "")` - Initial root token. This only applies
when running in "dev" mode. This can also be specified via the
`VAULT_DEV_ROOT_TOKEN_ID` environment variable.
2019-02-28 02:24:49 +00:00
2020-06-29 16:20:23 +00:00
_Note:_ The token ID should not start with the `s.` prefix.
2019-07-24 16:41:07 +00:00
- `-dev-no-store-token` `(string: "")` - Do not persist the dev root token to
the token helper (usually the local filesystem) for use in future requests.
The token will only be displayed in the command output.
2019-02-28 02:24:49 +00:00
- `-dev-plugin-dir` `(string: "")` - Directory from which plugins are allowed to be loaded. Only applies in "dev" mode, it will automatically register all the plugins in the provided directory.