Skip to main content

temporal server

start-dev

Run a development Temporal Server on your local system.

+------------------------------------------------------------------------+ | WARNING: The development server is not intended for production use. | | It skips certain HTTP security checks to make local use simpler. | | | | For production use, see: | | https://docs.temporal.io/production-deployment | +------------------------------------------------------------------------+

View the Web UI for the default configuration at: http://localhost:8233

temporal server start-dev

Add persistence for Workflow Executions across runs:

temporal server start-dev \
--db-filename path-to-your-local-persistent-store

Set the port from the front-end gRPC Service (7233 default):

temporal server start-dev \
--port 7000

Use a custom port for the Web UI. The default is the gRPC port (7233 default) plus 1000 (8233):

temporal server start-dev \
--ui-port 3000

Use the following options to change the behavior of this command.

Flags:

--db-filename, -f string

Path to file for persistent Temporal state store. By default, Workflow Executions are lost when the server process dies.

--dynamic-config-value string[]

Dynamic configuration value using KEY=VALUE pairs. Keys must be identifiers, and values must be JSON values. For example: 'YourKey="YourString"'. Can be passed multiple times.

--headless bool

Disable the Web UI.

--http-port int

Port for the HTTP API service. Defaults to a random free port. (default "0")

--ip string

IP address bound to the front-end Service. (default "localhost")

--log-config bool

Log the server config to stderr.

--metrics-port int

Port for '/metrics'. Default is off.

--namespace, -n string[]

Namespaces to be created at launch. The "default" Namespace is always created automatically.

--port, -p int

Port for the front-end gRPC Service. (default "7233")

--search-attribute string[]

Search attributes to register using KEY=VALUE pairs. Keys must be identifiers, and values must be the search attribute type, which is one of the following: Text, Keyword, Int, Double, Bool, Datetime, KeywordList.

--sqlite-pragma string[]

SQLite pragma statements in "PRAGMA=VALUE" format.

--ui-asset-path string

UI custom assets path.

--ui-codec-endpoint string

UI remote codec HTTP endpoint.

--ui-ip string

IP address bound to the Web UI. Default is same as '--ip' value.

--ui-port int

Port for the Web UI. Default is '--port' value + 1000.

--ui-public-path string

The public base path for the Web UI. Default is /.

Global Flags:

--address string

Temporal Service gRPC endpoint. (default "127.0.0.1:7233")

--api-key string

API key for request.

--codec-auth string

Authorization header for Codec Server requests.

--codec-endpoint string

Remote Codec Server endpoint.

--codec-header string[]

HTTP headers for requests to codec server. Format as a KEY=VALUE pair. May be passed multiple times to set multiple headers.

--color string-enum

Output coloring. Accepted values: always, never, auto. (default "auto")

--command-timeout duration

The command execution timeout. 0s means no timeout.

--env string

Active environment name (ENV). (default "default")

--env-file string

Path to environment settings file. Defaults to $HOME/.config/temporalio/temporal.yaml.

--grpc-meta string[]

HTTP headers for requests. Format as a KEY=VALUE pair. May be passed multiple times to set multiple headers.

--log-format string-enum

Log format. Accepted values: text, json. (default "text")

--log-level string-enum

Log level. Default is "info" for most commands and "warn" for server start-dev. Accepted values: debug, info, warn, error, never. (default "info")

--namespace, -n string

Temporal Service Namespace. (default "default")

--no-json-shorthand-payloads bool

Raw payload output, even if the JSON option was used.

--output, -o string-enum

Non-logging data output format. Accepted values: text, json, jsonl, none. (default "text")

--time-format string-enum

Time format. Accepted values: relative, iso, raw. (default "relative")

--tls bool

Enable base TLS encryption. Does not have additional options like mTLS or client certs.

--tls-ca-data string

Data for server CA certificate. Can't be used with --tls-ca-path.

--tls-ca-path string

Path to server CA certificate. Can't be used with --tls-ca-data.

--tls-cert-data string

Data for x509 certificate. Can't be used with --tls-cert-path.

--tls-cert-path string

Path to x509 certificate. Can't be used with --tls-cert-data.

--tls-disable-host-verification bool

Disable TLS host-name verification.

--tls-key-data string

Private certificate key data. Can't be used with --tls-key-path.

--tls-key-path string

Path to x509 private key. Can't be used with --tls-key-data.

--tls-server-name string

Override target TLS server name.