Standalone AppSignal Agent Docker image

The AppSignal standalone agent is available as a Docker image that can be run as a container in Docker (Compose) and Kubernetes infrastructure.

This guide assumes you have Docker installed or it's used by the application's hosting platform. For information on how to install Docker locally, see Docker's official website.

This guide shows you how to configure the AppSignal Docker image for your app, using the Docker environment variables options.

Docker image

Add a container/service using the appsignal/agent Docker image to your application's infrastructure. If you want any apps to report data to it, like StatsD metric, OpenTelemetry data and NGINX metrics, point it to the container's name in the application.

On this image, all servers are enabled by default to receive data from apps using OpenTelemetry (port 8099), reporting metrics through StatsD (port 8125) and NGINX metrics (port 27649).

Supported platforms

The Docker image supports the following platforms. This list can also be viewed per Docker image tag on Docker Hub page for this image.

  • x86 64-bit
  • ARM 64-bit

Configuration

The agent can be configured with environment variables specified in the Docker run command, Docker compose options or Kubernetes configuration.

In the examples below, replace YOUR_PUSH_API_KEY with your actual AppSignal Push API key and configure it with your application details.

A full list of all configuration options can be found in the configuration section.

Docker run

sh
# Docker run example docker run \ --env APPSIGNAL_PUSH_API_KEY=YOUR_PUSH_API_KEY \ --env APPSIGNAL_APP_NAME=database-name \ --env APPSIGNAL_APP_ENV=production \ --publish "8125:8125" \ --publish "27649:27649" \ --publish "8099:8099" \ appsignal/agent

Docker compose

yaml
# docker-compose.yml example version: "3" services: appsignal: # Name of the container used as the hostname on which it can be reached image: appsignal/agent environment: - APPSIGNAL_PUSH_API_KEY=YOUR_PUSH_API_KEY - APPSIGNAL_APP_NAME=database-name - APPSIGNAL_APP_ENV=production ports: - "8125:8125" # StatsD - "27649:27649" # NGINX - "8099:8099" # OpenTelemetry

That's it! Once you've completed these steps, you should have the AppSignal standalone agent's Docker image up and running, monitoring the host and receiving data from other apps, if configured.