|
1 | 1 | --- |
2 | | -title: Content Moved |
| 2 | +title: Ping Identity DevOps Docker Image - `pingaccess` |
3 | 3 | --- |
4 | | -# Content Moved |
5 | 4 |
|
6 | | -This content has moved to [developer.pingidentity.com/devops/docker-images/pingaccess/README.html](https://developer.pingidentity.com/devops/docker-images/pingaccess/README.html). |
| 5 | +# Ping Identity DevOps Docker Image - `pingaccess` |
| 6 | + |
| 7 | +This docker image includes the Ping Identity PingAccess product binaries |
| 8 | +and associated hook scripts to create and run both PingAccess Admin and |
| 9 | +Engine nodes. |
| 10 | + |
| 11 | +## Related Docker Images |
| 12 | + |
| 13 | +- `pingidentity/pingbase` - Parent Image |
| 14 | +> This image inherits, and can use, Environment Variables from [pingidentity/pingbase](https://devops.pingidentity.com/docker-images/pingbase/) |
| 15 | +- `pingidentity/pingcommon` - Common Ping files (i.e. hook scripts) |
| 16 | + |
| 17 | +## Environment Variables |
| 18 | +In addition to environment variables inherited from **[pingidentity/pingbase](https://devops.pingidentity.com/docker-images/pingbase/)**, |
| 19 | +the following environment `ENV` variables can be used with |
| 20 | +this image. |
| 21 | + |
| 22 | +| ENV Variable | Default | Description |
| 23 | +| ------------: | ----------- | --------------------------------- |
| 24 | +| BASE | ${BASE:-/opt} | Location of the top level directory where everything is located in image/container | |
| 25 | +| ROOT_USER | administrator | the default administrative user for PingData | |
| 26 | +| JAVA_HOME | /opt/java | | |
| 27 | +| STAGING_DIR | ${BASE}/staging | Path to the staging area where the remote and local server profiles can be merged | |
| 28 | +| OUT_DIR | ${BASE}/out | Path to the runtime volume | |
| 29 | +| SERVER_ROOT_DIR | ${OUT_DIR}/instance | Path from which the runtime executes | |
| 30 | +| IN_DIR | ${BASE}/in | Location of a local server-profile volume | |
| 31 | +| SERVER_BITS_DIR | ${BASE}/server | Path to the server bits | |
| 32 | +| BAK_DIR | ${BASE}/backup | Path to a volume generically used to export or backup data | |
| 33 | +| LOGS_DIR | ${BASE}/logs | Path to a volume generically used for logging | |
| 34 | +| PING_IDENTITY_ACCEPT_EULA | NO | Must be set to 'YES' for the container to start | |
| 35 | +| PING_IDENTITY_DEVOPS_FILE | devops-secret | File name for devops-creds passed as a Docker secret | |
| 36 | +| STAGING_MANIFEST | ${BASE}/staging-manifest.txt | Path to a manifest of files expected in the staging dir on first image startup | |
| 37 | +| CLEAN_STAGING_DIR | false | Whether to clean the staging dir when the image starts | |
| 38 | +| SECRETS_DIR | /run/secrets | Default path to the secrets | |
| 39 | +| TOPOLOGY_FILE | ${STAGING_DIR}/topology.json | Path to the topology file | |
| 40 | +| HOOKS_DIR | ${STAGING_DIR}/hooks | Path where all the hooks scripts are stored | |
| 41 | +| CONTAINER_ENV | ${STAGING_DIR}/.env | Environment Property file use to share variables between scripts in container | |
| 42 | +| SERVER_PROFILE_DIR | /tmp/server-profile | Path where the remote server profile is checked out or cloned before being staged prior to being applied on the runtime | |
| 43 | +| SERVER_PROFILE_URL | | A valid git HTTPS URL (not ssh) | |
| 44 | +| SERVER_PROFILE_URL_REDACT | true | When set to "true", the server profile git URL will not be printed to container output. | |
| 45 | +| SERVER_PROFILE_BRANCH | | A valid git branch (optional) | |
| 46 | +| SERVER_PROFILE_PATH | | The subdirectory in the git repo | |
| 47 | +| SERVER_PROFILE_UPDATE | false | Whether to update the server profile upon container restart | |
| 48 | +| SECURITY_CHECKS_STRICT | false | Requires strict checks on security | |
| 49 | +| SECURITY_CHECKS_FILENAME | *.jwk *.pin | Perform a check for filenames that may violate security (i.e. secret material) | |
| 50 | +| UNSAFE_CONTINUE_ON_ERROR | | If this is set to true, then the container will provide a hard warning and continue. | |
| 51 | +| LICENSE_DIR | ${SERVER_ROOT_DIR} | License directory | |
| 52 | +| PD_LICENSE_DIR | ${STAGING_DIR}/pd.profile/server-root/pre-setup | PD License directory. Separating from above LICENSE_DIR to differentiate for different products | |
| 53 | +| STARTUP_FOREGROUND_OPTS | | The command-line options to provide to the the startup command when the container starts with the server in the foreground. This is the normal start flow for the container | |
| 54 | +| STARTUP_BACKGROUND_OPTS | | The command-line options to provide to the the startup command when the container starts with the server in the background. This is the debug start flow for the container | |
| 55 | +| PING_IDENTITY_DEVOPS_KEY_REDACT | true | | |
| 56 | +| TAIL_LOG_FILES | | A whitespace separated list of log files to tail to the container standard output - DO NOT USE WILDCARDS like /path/to/logs/*.log | |
| 57 | +| COLORIZE_LOGS | true | If 'true', the output logs will be colorized with GREENs and REDs, otherwise, no colorization will be done. This is good for tools that monitor logs and colorization gets in the way. | |
| 58 | +| LOCATION | Docker | Location default value If PingDirectory is deployed in multi cluster mode, that is, K8S_CLUSTER, K8S_CLUSTERS and K8S_SEED_CLUSTER are defined, LOCATION is ignored and K8S_CLUSTER is used as the location | |
| 59 | +| LOCATION_VALIDATION | true|Any string denoting a logical/physical location|Must be a string | | |
| 60 | +| MAX_HEAP_SIZE | 384m | Heap size (for java products) | |
| 61 | +| JVM_TUNING | AGGRESSIVE | | |
| 62 | +| JAVA_RAM_PERCENTAGE | 75.0 | Percentage of the container memory to allocate to PingFederate JVM DO NOT set to 100% or your JVM will exit with OutOfMemory errors and the container will terminate | |
| 63 | +| VERBOSE | false | Triggers verbose messages in scripts using the set -x option. | |
| 64 | +| PING_DEBUG | false | Set the server in debug mode, with increased output | |
| 65 | +| PING_PRODUCT | | The name of Ping product, i.e. PingFederate, PingDirectory - must be a valid Ping product type. This variable should be overridden by child images. | |
| 66 | +| PING_PRODUCT_VALIDATION | true|i.e. PingFederate,PingDirectory|Must be a valid Ping product type | | |
| 67 | +| ADDITIONAL_SETUP_ARGS | | List of setup arguments passed to Ping Data setup-arguments.txt file | |
| 68 | +| LDAP_PORT | 1389 | Port over which to communicate for LDAP | |
| 69 | +| LDAPS_PORT | 1636 | Port over which to communicate for LDAPS | |
| 70 | +| HTTPS_PORT | 1443 | Port over which to communicate for HTTPS | |
| 71 | +| JMX_PORT | 1689 | Port for monitoring over JMX protocol | |
| 72 | +| ORCHESTRATION_TYPE | | The type of orchestration tool used to run the container, normally set in the deployment (.yaml) file. Expected values include: - compose - swarm - kubernetes Defaults to blank (i.e. No type is set) | |
| 73 | +| USER_BASE_DN | dc=example,dc=com | Base DN for user data | |
| 74 | +| DOLLAR | '$' | Variable with a literal value of '$', to avoid unwanted variable substitution | |
| 75 | +| PD_ENGINE_PUBLIC_HOSTNAME | localhost | PD (PingDirectory) public hostname that may be used in redirects | |
| 76 | +| PD_ENGINE_PRIVATE_HOSTNAME | pingdirectory | PD (PingDirectory) private hostname | |
| 77 | +| PDP_ENGINE_PUBLIC_HOSTNAME | localhost | PDP (PingDirectoryProxy) public hostname that may be used in redirects | |
| 78 | +| PDP_ENGINE_PRIVATE_HOSTNAME | pingdirectoryproxy | PDP (PingDirectoryProxy) private hostname | |
| 79 | +| PDS_ENGINE_PUBLIC_HOSTNAME | localhost | PDS (PingDataSync) public hostname that may be used in redirects | |
| 80 | +| PDS_ENGINE_PRIVATE_HOSTNAME | pingdatasync | PDS (PingDataSync) private hostname | |
| 81 | +| PAZ_ENGINE_PUBLIC_HOSTNAME | localhost | PAZ (PingAuthorize) public hostname that may be used in redirects | |
| 82 | +| PAZ_ENGINE_PRIVATE_HOSTNAME | pingauthorize | PAZ (PingAuthorize) private hostname | |
| 83 | +| PAZP_ENGINE_PUBLIC_HOSTNAME | localhost | PAZP (PingAuthorize-PAP) public hostname that may be used in redirects | |
| 84 | +| PAZP_ENGINE_PRIVATE_HOSTNAME | pingauthorizepap | PAZP (PingAuthorize-PAP) private hostname | |
| 85 | +| PF_ENGINE_PUBLIC_HOSTNAME | localhost | PF (PingFederate) engine public hostname that may be used in redirects | |
| 86 | +| PF_ENGINE_PRIVATE_HOSTNAME | pingfederate | PF (PingFederate) engine private hostname | |
| 87 | +| PF_ADMIN_PUBLIC_BASEURL | https://localhost:9999 | PF (PingFederate) admin public baseurl that may be used in redirects | |
| 88 | +| PF_ADMIN_PUBLIC_HOSTNAME | localhost | PF (PingFederate) admin public hostname that may be used in redirects | |
| 89 | +| PF_ADMIN_PRIVATE_HOSTNAME | pingfederate-admin | PF (PingFederate) admin private hostname | |
| 90 | +| PA_ENGINE_PUBLIC_HOSTNAME | localhost | PA (PingAccess) engine public hostname that may be used in redirects | |
| 91 | +| PA_ENGINE_PRIVATE_HOSTNAME | pingaccess | PA (PingAccess) engine private hostname | |
| 92 | +| PA_ADMIN_PUBLIC_HOSTNAME | localhost | PA (PingAccess) admin public hostname that may be used in redirects | |
| 93 | +| PA_ADMIN_PRIVATE_HOSTNAME | pingaccess-admin | PA (PingAccess) admin private hostname | |
| 94 | +| ROOT_USER_DN | cn=${ROOT_USER} | DN of the server root user | |
| 95 | +| ENV | ${BASE}/.profile | | |
| 96 | +| MOTD_URL | https://raw.githubusercontent.com/pingidentity/pingidentity-devops-getting-started/master/motd/motd.json | Instructs the image to pull the MOTD json from the following URL. If this MOTD_URL variable is empty, then no motd will be downloaded. The format of this MOTD file must match the example provided in the url: https://raw.githubusercontent.com/pingidentity/pingidentity-devops-getting-started/master/motd/motd.json | |
| 97 | +| PS1 | \${PING_PRODUCT}:\h:\w\n> | Default shell prompt (i.e. productName:hostname:workingDir) | |
| 98 | +| PATH | ${JAVA_HOME}/bin:${BASE}:${SERVER_ROOT_DIR}/bin:${PATH} | PATH used by the container | |
| 99 | +| SHIM | ${SHIM} | | |
| 100 | +| IMAGE_VERSION | ${IMAGE_VERSION} | | |
| 101 | +| IMAGE_GIT_REV | ${IMAGE_GIT_REV} | | |
| 102 | +| DATE | ${DATE} | | |
| 103 | +| PING_PRODUCT_VERSION | ${VERSION} | | |
| 104 | +| PING_PRODUCT | PingAccess | Ping product name | |
| 105 | +| LICENSE_DIR | ${SERVER_ROOT_DIR}/conf | License directory | |
| 106 | +| LICENSE_FILE_NAME | pingaccess.lic | Name of license file | |
| 107 | +| LICENSE_SHORT_NAME | PA | Short name used when retrieving license from License Server | |
| 108 | +| LICENSE_VERSION | ${LICENSE_VERSION} | Version used when retrieving license from License Server | |
| 109 | +| OPERATIONAL_MODE | STANDALONE | PA_RUN_PA_OPERATIONAL_MODE will override this value for PingAccess 7.3 and later. | |
| 110 | +| PA_ADMIN_PASSWORD_INITIAL | 2Access | | |
| 111 | +| PING_IDENTITY_PASSWORD | 2FederateM0re | Specify a password for administrator user for interaction with admin API | |
| 112 | +| STARTUP_COMMAND | ${SERVER_ROOT_DIR}/bin/run.sh | The command that the entrypoint will execute in the foreground to instantiate the container | |
| 113 | +| TAIL_LOG_FILES | ${SERVER_ROOT_DIR}/log/pingaccess.log | Files tailed once container has started | |
| 114 | +| PA_ADMIN_PORT | 9000 | Default port for PA Admin API and console Ignored when using PingIdentity Helm charts | |
| 115 | +| PA_ADMIN_CLUSTER_PORT | 9090 | Default port when clustering PA primary administrative node Ignored when using PingIdentity Helm charts | |
| 116 | +| JAVA_RAM_PERCENTAGE | 60.0 | Percentage of the container memory to allocate to PingAccess JVM DO NOT set to 100% or your JVM will exit with OutOfMemory errors and the container will terminate | |
| 117 | +| FIPS_MODE_ON | false | Turns on FIPS mode (currently with the Bouncy Castle FIPS provider) set to exactly "true" lowercase to turn on set to anything else to turn off PA_FIPS_MODE_PA_FIPS_MODE will override this for PingAccess 7.3 and later. | |
| 118 | +| SHOW_LIBS_VER | true | Defines a variable to allow showing library versions in the output at startup default to true | |
| 119 | +| SHOW_LIBS_VER_PRE_PATCH | false | Defines a variable to allow showing library version prior to patches being applied default to false This is helpful to ensure that the patch process updates all libraries affected | |
| 120 | +| PA_ENGINE_PORT | 3000 | | |
| 121 | +| ADMIN_WAITFOR_TIMEOUT | 300 | wait-for timeout for 80-post-start.sh hook script How long to wait for the PA Admin console to be available | |
| 122 | + |
| 123 | +## Ports Exposed |
| 124 | + |
| 125 | +The following ports are exposed from the container. If a variable is |
| 126 | +used, then it may come from a parent container |
| 127 | + |
| 128 | +- ${PA_ADMIN_PORT} |
| 129 | +- ${PA_ENGINE_PORT} |
| 130 | +- ${HTTPS_PORT} |
| 131 | + |
| 132 | +## Running a PingAccess container |
| 133 | + |
| 134 | +To run a PingAccess container: |
| 135 | + |
| 136 | +```shell |
| 137 | + docker run \ |
| 138 | + --name pingaccess \ |
| 139 | + --publish 9000:9000 \ |
| 140 | + --publish 443:1443 \ |
| 141 | + --detach \ |
| 142 | + --env SERVER_PROFILE_URL=https://github.com/pingidentity/pingidentity-server-profiles.git \ |
| 143 | + --env SERVER_PROFILE_PATH=getting-started/pingaccess \ |
| 144 | + --env PING_IDENTITY_ACCEPT_EULA=YES \ |
| 145 | + --env PING_IDENTITY_DEVOPS_USER \ |
| 146 | + --env PING_IDENTITY_DEVOPS_KEY \ |
| 147 | + --tmpfs /run/secrets \ |
| 148 | + pingidentity/pingaccess:edge |
| 149 | +``` |
| 150 | + |
| 151 | +Follow Docker logs with: |
| 152 | + |
| 153 | +``` |
| 154 | +docker logs -f pingaccess |
| 155 | +``` |
| 156 | + |
| 157 | +If using the command above with the embedded [server profile](https://devops.pingidentity.com/reference/config/), log in with: |
| 158 | + |
| 159 | +- https://localhost:9000 |
| 160 | + - Username: Administrator |
| 161 | + - Password: 2FederateM0re |
| 162 | + |
| 163 | +## Docker Container Hook Scripts |
| 164 | + |
| 165 | +Please go [here](https://github.com/pingidentity/pingidentity-devops-getting-started/tree/master/docs/docker-images/pingaccess/hooks/README.md) for details on all pingaccess hook scripts |
| 166 | + |
| 167 | +--- |
| 168 | +This document is auto-generated from _[pingaccess/Dockerfile](https://github.com/pingidentity/pingidentity-docker-builds/blob/master/pingaccess/Dockerfile)_ |
| 169 | + |
| 170 | +Copyright © 2025 Ping Identity Corporation. All rights reserved. |
0 commit comments