---
title: Configuring an Authorize gateway instance
description: Customize the environment and behavior of the gateway instance to suit your business needs.
component: pingone
page_id: pingone:integrations:p1_configure_authz_gateway_instance
canonical_url: https://docs.pingidentity.com/pingone/integrations/p1_configure_authz_gateway_instance.html
section_ids:
  config_docker_run: Steps
  result: Result
  config_docker_compose: Steps
  result-2: Result
  next-steps: Next steps
---

# Configuring an Authorize gateway instance

Customize the environment and behavior of the gateway instance to suit your business needs.

Use the `docker run` command or Docker Compose to pass configuration information to your gateway instance as a JSON object. You can configure:

* [Decision logging](p1_logging_authz_gateway_instances.html#p1_authz_gateway_decision_logging)

* [Authentication](p1_authenicate_authz_gateway_endpoints.html)

* [Service caching](p1_service_caching_authz_gateway_instances.html)

* [PingOne service timeouts](p1_service_caching_authz_gateway_instances.html#p1_config_p1_service_timeouts)

- `docker run`

- Docker Compose

## Steps

1. Stop the gateway instance container.

2. Using the `SPRING_APPLICATION_JSON` environment variable, modify the `docker run` command to include the relevant configuration object.

   For example, to configure decision logging for the gateway instance, the command should look something like this (line breaks are included for readability and aren't necessary in your command):

   ```
   docker run --init \
     -e PING_IDENTITY_ACCEPT_EULA=yes \
     -e gatewayCredential=<your-gateway-credential> \
     -e SPRING_APPLICATION_JSON='{"decision-logging":[{"name":"debugLog","details":["decisionTree"],"log-format":"%date{yyyy-MM-dd'\''T'\''HH:mm:ss.SSSXXX,UTC} [%logger] %mdc_properties %msg%n"}]}' \
     -p 8080:8080 pingidentity/pingone-authorize-gateway:1.2.1
   ```

   Learn more about [starting a gateway instance](p1_start_authz_gateway_instance.html).

3. Run the command.

   ### Result

   The gateway instance container starts and applies the specified configuration.

Docker Compose simplifies the management of multi-container applications. By defining your services, networks, and volumes in a single YAML file, you can start or stop your entire application stack with simple commands like `docker compose up` and `docker compose down`.

## Steps

1. Stop the gateway instance container.

2. In your project directory on the host server, create a file named `docker-compose.yml`.

   For example:

   ```
   touch docker-compose.yml
   ```

   Learn more in [Docker Compose Quickstart](https://docs.docker.com/compose/gettingstarted/) in the Docker Compose documentation.

3. In the newly created `docker-compose.yml` file, use the `environment.SPRING_APPLICATION_JSON` variable to pass in the relevant configuration object.

   For example, to configure decision logging for the gateway instance, the `docker-compose.yml` file should look something like this:

   ```
   services:
     authorize-gateway:
       image: pingidentity/pingone-authorize-gateway:1.2.1
       init: true
       environment:
         PING_IDENTITY_ACCEPT_EULA: "yes"
         gatewayCredential: <your-gateway-credential>
         SPRING_APPLICATION_JSON: |
           {
             "decision-logging": [
               {
                 "name": "debugLog",
                 "details": ["decisionTree"],
                 "log-format": "%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX,UTC} [%logger] %mdc_properties %msg%n"
               }
             ]
           }
       ports:
         - "8080:8080"
   ```

4. From your gateway instance directory, start the application by running `docker compose up`.

   ### Result

   The gateway instance container starts and applies the specified configuration.

## Next steps

Learn more about the Docker Compose CLI in [How Compose works](https://docs.docker.com/compose/intro/compose-application-model/#cli) in the Docker Compose documentation.
