Flags

The NATS server has many flags to customize its behavior without having to write a configuration file.

The configuration flags revolve around:

  • Server Options
  • Logging
  • Authorization
  • TLS Security
  • Clustering
  • Information

Server Options

Flag Description
-a, --addr Host address to bind to (default: 0.0.0.0 - all interfaces).
-p, --port NATS client port (default: 4222).
-P, --pid File to store the process ID (PID).
-m, --http_port HTTP port for monitoring dashboard (exclusive of --https_port).
-ms, --https_port HTTPS port monitoring for monitoring dashboard (exclusive of --http_port).
-c, --config Path to NATS server configuration file.
-sl, --signal Send a signal to nats-server process. See process signaling.
--client_advertise Client HostPort to advertise to other servers.
-t Test configuration and exit

JetStream Options

Flag Description
-js, --jetstream Enable JetStream functionality.
-sd, --store_dir Set the storage directory.

Authentication Options

The following options control straightforward authentication:

Flag Description
--user Required username for connections (exclusive of --token).
--pass Required password for connections (exclusive of --token).
--auth Required authorization token for connections (exclusive of --user and --password).

See token authentication, and username/password for more information.

Logging Options

The following flags are available on the server to configure logging:

Flag Description
-l, --log File to redirect log output
-T, --logtime Specify -T=false to disable timestamping log entries
-s, --syslog Log to syslog or windows event log
-r, --remote_syslog The syslog server address, like udp://localhost:514
-D, --debug Enable debugging output
-V, --trace Enable protocol trace log messages
-VV Verbose trace (traces system account as well)
-DV Enable both debug and protocol trace messages
-DVV Debug and verbose trace (traces system account as well)
--max_traced_msg_len Maximum printable length for traced messages. 0 for unlimited

You can read more about logging configuration here.

TLS Options

Flag Description
--tls Enable TLS, do not verify clients
--tlscert Server certificate file
--tlskey Private key for server certificate
--tlsverify Enable client TLS certificate verification
--tlscacert Client certificate CA for verification

You can read more about tls configuration here.

Cluster Options

The following flags are available on the server to configure clustering:

Flag Description
--routes Comma-separated list of cluster URLs to solicit and connect
--cluster Cluster URL for clustering requests
--no_advertise Do not advertise known cluster information to clients
--cluster_advertise Cluster URL to advertise to other servers
--connect_retries For implicit routes, number of connect retries

You can read more about clustering configuration here.

Common Options

Flag Description
-h, --help Show this message
-v, --version Show version
--help_tls TLS help