> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 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](https://www.docker.com/get-started).

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

## Use cases

The standalone agent Docker image is designed for **receiving data from other containers** in your infrastructure. It is a good choice for:

* Receiving **StatsD metrics** from your applications (port 8125)
* Receiving **OpenTelemetry data** from your applications (port 8099)
* Collecting **NGINX metrics** (port 27649)

All of these servers are enabled by default on the Docker image.

## Host metrics {/* id: host-metrics */}

<Warning>
  The standalone agent **Docker image does not report host metrics**. The host
  metrics it would report are those of the container itself — in which only the
  agent is running — and are therefore not useful.
</Warning>

If you need host metrics monitoring (CPU, memory, disk, network), use one of these approaches instead:

* **Docker host machine:** install the [Linux package](/standalone-agent/installation/linux-package) directly on the host machine that runs your Docker containers.
* **Kubernetes:** use the [Kubernetes integration](/kubernetes/metrics) to monitor host metrics across your cluster.
* **Individual containers:** if you're not using Kubernetes and need to monitor host metrics of specific containers, install the [Linux package](/standalone-agent/installation/linux-package) inside each container that you want to monitor.

## Docker image

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

## Supported platforms

The Docker image supports the following platforms. This list can also be viewed per Docker image tag on [Docker Hub page][image] 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](/standalone-agent/configuration/options).

### Docker run

<CodeGroup>
  ```sh Shell theme={null}
  # 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
  ```
</CodeGroup>

### Docker compose

<CodeGroup>
  ```yaml YAML theme={null}
  # 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
  ```
</CodeGroup>

***

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

[image]: https://hub.docker.com/r/appsignal/agent
