Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Modernization
Samples

Running ServicePulse in containers

Component: ServicePulse

ServicePulse can be deployed on containers using the particular/servicepulse image.

The container can be created as shown in this minimal example using docker run:

docker run -d --name servicepulse -p 9090:9090 \
    -e SERVICECONTROL_URL="http://servicecontrol:33333" \
    -e MONITORING_URL="http://servicecontrol-monitoring:33633" \
    particular/servicepulse:latest

Reverse proxy

The ServicePulse container image includes a reverse proxy feature that allows ServicePulse to act as a single ingress/egress point for a system containing ServiceControl containers. This allows existing container hosting infrastructure to layer additional features onto the ServicePulse ingress point, such as SSL or authentication. It is enabled by default, but it can be disabled.

Ports

9090 is the canonical port exposed by ServicePulse within the container, though this port can be mapped to any desired external port.

Volumes

ServicePulse is stateless and does not require any mounted volumes.

Settings

The settings on this page are unique to the container deployment of ServicePulse.

ServiceControl URL

The ServiceControl URL points to the ServiceControl (Error) instance URL. ServicePulse requests to /api/* will be proxied to this URL in order to fetch ServiceControl data used by ServicePulse.

Environment variableSERVICECONTROL_URL
TypeURL string
Defaulthttp://localhost:33333

Monitoring URL

The Monitoring URL points to the ServiceControl Monitoring instance URL. ServicePulse requests to /monitoring-api/* will be proxied to this URL in order to fetch monitoring data used by ServicePulse.

Environment variableMONITORING_URL
TypeURL string
Defaulthttp://localhost:33633

Monitoring URL array

A JSON array of URLs to monitoring instances.

Environment variableMONITORING_URLS
TypeJSON Array of URLs
Default['http://localhost:33633']

Default route

The default page that should be displayed when visiting the ServicePulse site.

Environment variableDEFAULT_ROUTE
Typestring
Default/dashboard

Show pending retries

Set to true to show details of pending retries.

Environment variableSHOW_PENDING_RETRY
Typebool
Defaultfalse

Enable reverse proxy

Controls whether the proxy that forwards requests to the ServiceControl and Monitoring instances is enabled or not. Set to false to disable.

Added in version 1.44.0

Environment variableENABLE_REVERSE_PROXY
Typebool
Defaulttrue

Forward headers

These settings configure forward headers for reverse proxy scenarios. Refer to the hosting and security guide or forward headers configuration examples for additional information.

Forward headers enabled

Added in version 2.5.0

Enable forward headers processing.

Environment variableSERVICEPULSE_FORWARDEDHEADERS_ENABLED
Typebool
Defaulttrue

Trust all proxies

Added in version 2.5.0

Trust all proxies. Auto-disabled if known proxies/networks are set.

Environment variableSERVICEPULSE_FORWARDEDHEADERS_TRUSTALLPROXIES
Typebool
Defaulttrue

Known proxies

Added in version 2.5.0

Comma-separated IP addresses of trusted proxies (e.g. 10.0.0.1,172.16.0.1).

Environment variableSERVICEPULSE_FORWARDEDHEADERS_KNOWNPROXIES
Typestring
Default(none)

Known networks

Added in version 2.5.0

Comma-separated CIDR networks (e.g. 10.0.0.0/8,172.16.0.0/12).

Environment variableSERVICEPULSE_FORWARDEDHEADERS_KNOWNNETWORKS
Typestring
Default(none)

TLS

These settings configure HTTPS. Refer to the hosting and security guide or TLS configuration examples for additional information.

HTTPS enabled

Added in version 2.5.0

Enable HTTPS with Kestrel.

Environment variableSERVICEPULSE_HTTPS_ENABLED
Typebool
Defaultfalse

Certificate path

Added in version 2.5.0

Path to the certificate file (.pfx).

Environment variableSERVICEPULSE_HTTPS_CERTIFICATEPATH
Typestring
Default(none)

Certificate password

Added in version 2.5.0

Password for the certificate file.

Environment variableSERVICEPULSE_HTTPS_CERTIFICATEPASSWORD
Typestring
Default(none)

Redirect HTTP to HTTPS

Added in version 2.5.0

Redirect HTTP requests to HTTPS.

Environment variableSERVICEPULSE_HTTPS_REDIRECTHTTPTOHTTPS
Typebool
Defaultfalse

HTTPS port

Added in version 2.5.0

HTTPS port for redirect (required for reverse proxy scenarios).

Environment variableSERVICEPULSE_HTTPS_PORT
Typeint
Default(none)

Enable HSTS

Added in version 2.5.0

Enable HTTP Strict Transport Security.

Environment variableSERVICEPULSE_HTTPS_ENABLEHSTS
Typebool
Defaultfalse

HSTS max age

Added in version 2.5.0

HSTS max-age in seconds.

Environment variableSERVICEPULSE_HTTPS_HSTSMAXAGESECONDS
Typeint
Default31536000 (1 year)

HSTS include subdomains

Added in version 2.5.0

Include subdomains in HSTS policy.

Environment variableSERVICEPULSE_HTTPS_HSTSINCLUDESUBDOMAINS
Typebool
Defaultfalse