Public Repository

Last pushed: a year ago
Short Description
CloudFoundry User Account and Authentication (UAA) is used as OAuth2 server in Consent2Share.
Full Description

Supported Source Code Tags and Current Dockerfile Link

3.4.1-04 (latest)

Current Dockerfile

For more information about this image, the source code, and its history, please see the GitHub repository.

What is UAA?

CloudFoundry User Account and Authentication (UAA) is used as OAuth2 server in Consent2Share. The UAA is a multi-tenant identity management service, used in Cloud Foundry. But, it is also available as a standalone OAuth2 server. Its primary role is as an OAuth2 provider, issuing tokens for client applications to use when they act on behalf of Cloud Foundry users. It can also authenticate users with their Cloud Foundry credentials, and can act as an SSO service using those credentials (or others). It has endpoints for managing user accounts and for registering OAuth2 clients, as well as various other management functions.

For more information and related downloads for Consent2Share, please visit Consent2Share.

How to Use This Image

Start a UAA instance

Be sure to familiarize yourself with the repository's file before starting the instance.

docker run --name uaa <configuration> -d bhits/uaa:latest

NOTE: In order for this API to fully function as a microservice in the Consent2Share application, it is required to setup the dependency microservices and the support level infrastructure. Please refer to the Consent2Share Deployment Guide in the corresponding Consent2Share release (see Consent2Share Releases Page) for instructions to setup the Consent2Share infrastructure.


This API need to setup configuration uaa.yml properly to run full function.

Mount uaa.yml into docker container under /java/C2S_PROPS/uaa.

docker run -v "/path/on/dockerhost/uaa.yml:/java/C2S_PROPS/uaa/uaa.yml" -d bhits/uaa:latest

Environment Variables

When you start the UAA image, you need to configure UAA instance by passing the following environment variables on the command line.


This environment variable is used to set location of uaa.yml. The default value is /java/C2S_PROPS/uaa. To overwrite this value, pass environment variable CATALINA_OPTS="-DUAA_CONFIG_PATH=${path}"

docker run --name uaa -v "/path/on/dockerhost/uaa.yml:/path/in/container/uaal.yml" -e CATALINA_OPTS="-DUAA_CONFIG_PATH=/path/in/container" -d bhits/uaa:latest


These two environment variables are used to setup the database url and password. It will connect the database to jdbc:mysql://${UAA_DB_HOST}:3306/uaa. For example, if UAA_DB_HOST=databasehost, full database url will be jdbc:mysql://databasehost:3306/uaa. Default value of UAA_DB_PASSWORD is admin

docker run --name uaa -e UAA_DB_HOST=databasehost -e UAA_DB_PASSWORD=strongpassword -d bhits/uaa:latest


These environment variables are used to setup mail host to send email when registering user accounts.

docker run --name uaa -e -e UAA_SMTP_PORT=25 -e UAA_SMTP_USER=username -e UAA_SMTP_PASSWORD=strongpassword -d bhits/uaa:latest


These environment variables are related to edge server host and port and are used to reset user account passwords.

docker run --name uaa -e C2S_APP_HOST=dockerhost -e C2S_APP_PORT=80 -d bhits/uaa:latest

Supported Docker versions

This image is officially supported on Docker version 1.13.0.

Support for older versions (down to 1.6) is provided on a best-effort basis.

Please see the Docker installation documentation for details on how to upgrade your Docker daemon.


View license information for the software contained in this image.

User Feedback


Documentation for this image is stored in the bhits/uaa GitHub repository. Be sure to familiarize yourself with the repository's file before attempting a pull request.


If you have any problems with or questions about this image, please contact us through a GitHub issue.

Docker Pull Command