The documentation you are viewing is for Dapr v1.9 which is an older version of Dapr. For up-to-date documentation, see the latest version.

run CLI command reference

Detailed information on the run CLI command


Run Dapr and (optionally) your application side by side. A full list comparing daprd arguments, CLI arguments, and Kubernetes annotations can be found here.

Supported platforms


dapr run [flags] [command]


Name Environment Variable Default Description
--app-id, -a APP_ID The id for your application, used for service discovery
--app-max-concurrency unlimited The concurrency level of the application; default is unlimited
--app-port, -p APP_PORT The port your application is listening on
--app-protocol, -P http The protocol Dapr uses to talk to the application. Valid values are: http or grpc
--app-ssl false Enable https when Dapr invokes the application
--components-path, -d Linux/Mac: $HOME/.dapr/components
Windows: %USERPROFILE%\.dapr\components
The path for components directory
--config, -c Linux/Mac: $HOME/.dapr/config.yaml
Windows: %USERPROFILE%\.dapr\config.yaml
Dapr configuration file
--dapr-grpc-port DAPR_GRPC_PORT 50001 The gRPC port for Dapr to listen on
--dapr-http-port DAPR_HTTP_PORT 3500 The HTTP port for Dapr to listen on
--enable-profiling false Enable “pprof” profiling via an HTTP endpoint
--help, -h Print the help message
--image Use a custom Docker image. Format is repository/image for Docker Hub, or for a custom registry.
--log-level info The log verbosity. Valid values are: debug, info, warn, error, fatal, or panic
--enable-api-logging false Enable the logging of all API calls from application to Dapr
--metrics-port DAPR_METRICS_PORT 9090 The port that Dapr sends its metrics information to
--profile-port 7777 The port for the profile server to listen on
--enable-app-health-check false Enable health checks for the application using the protocol defined with app-protocol
--app-health-check-path Path used for health checks; HTTP only
--app-health-probe-interval Interval to probe for the health of the app in seconds
--app-health-probe-timeout Timeout for app health probes in milliseconds
--app-health-threshold Number of consecutive failures for the app to be considered unhealthy
--unix-domain-socket, -u Path to a unix domain socket dir mount. If specified, communication with the Dapr sidecar uses unix domain sockets for lower latency and greater throughput when compared to using TCP ports. Not available on Windows.
--dapr-http-max-request-size 4 Max size of the request body in MB.
--dapr-http-read-buffer-size 4 Max size of the HTTP read buffer in KB. This also limits the maximum size of HTTP headers. The default 4 KB


# Run a .NET application
dapr run --app-id myapp --app-port 5000 -- dotnet run

# Run a .Net application with unix domain sockets
dapr run --app-id myapp --app-port 5000 --unix-domain-socket /tmp -- dotnet run

# Run a Java application
dapr run --app-id myapp -- java -jar myapp.jar

# Run a NodeJs application that listens to port 3000
dapr run --app-id myapp --app-port 3000 -- node myapp.js

# Run a Python application
dapr run --app-id myapp -- python

# Run sidecar only
dapr run --app-id myapp

# Run a gRPC application written in Go (listening on port 3000)
dapr run --app-id myapp --app-port 5000 --app-protocol grpc -- go run main.go

# Run a NodeJs application that listens to port 3000 with API logging enabled
dapr run --app-id myapp --app-port 3000 --enable-api-logging  -- node myapp.js

Last modified October 12, 2022: Added docs for app health checks (#2870) (5e718b4c)