Installation
The PowerAuth Cloud is packaged as a single Docker image that you can easily deploy in your local environment, or in any cloud provider, such as Azure by Microsoft or Amazon’s AWS.
Prepare The Database
If you did not prepare the local database already, please follow the steps in the Database Setup chapter.
System Requirements
The HW requirements for the default Docker images are low and current commodity hardware will be able to run the software nicely. The images should run fine on most container management platforms in multiple instances. If in doubt, use following HW configuration.
Hardware Platforms
Following hardware platforms are supported by PowerAuth Cloud Docker images:
- amd64 (also known as x86_64)
- arm64v8
Hardware Requirements of Basic Docker Images
- CPU 4×core, 2.0GHz
- 6GB free RAM for Docker
- 16GB free disk space
Pull the Docker Image
To deploy the Docker image, you need to login to our Artifactory repository and pull the Docker image:
docker login wultra.jfrog.io
docker pull wultra.jfrog.io/wultra-docker/powerauth-cloud:1.5.0
Configure the Docker Image
After you pull the Docker image in your own container repository, you need to prepare the env.list
file with all the environment variables that are required for the container launch. You can use Configuration Properties to bootstrap the configuration.
Set The Right Database URL
The datasource URL for our Docker container follows the structure of the JDBC connectivity. Make sure to provide a valid JDBC URL to the configuration (starting with jdbc:
prefix). Be especially careful when working on localhost
! From the Docker container perspective, localhost
is in the internal network. To connect to your host’s localhost, use host.docker.internal
host name.
You need to edit at least the properties that configure database connectivity. See the Database Setup chapter for information on how to make database work, and then edit the following properties according to your actual setup.
POWERAUTH_SERVER_DATASOURCE_URL=jdbc:postgresql://host.docker.internal:5432/powerauth
POWERAUTH_SERVER_DATASOURCE_USERNAME=powerauth
POWERAUTH_SERVER_DATASOURCE_PASSWORD=$PASSWORD$
PUSH_SERVER_DATASOURCE_URL=jdbc:postgresql://host.docker.internal:5432/powerauth
PUSH_SERVER_DATASOURCE_USERNAME=powerauth
PUSH_SERVER_DATASOURCE_PASSWORD=$PASSWORD$
POWERAUTH_CLOUD_DATASOURCE_URL=jdbc:postgresql://host.docker.internal:5432/powerauth
POWERAUTH_CLOUD_DATASOURCE_USERNAME=powerauth
POWERAUTH_CLOUD_DATASOURCE_PASSWORD=$PASSWORD$
ENROLLMENT_SERVER_DATASOURCE_URL=jdbc:postgresql://host.docker.internal:5432/powerauth
ENROLLMENT_SERVER_DATASOURCE_USERNAME=powerauth
ENROLLMENT_SERVER_DATASOURCE_PASSWORD=$PASSWORD$
If the database connectivity is set up correctly, the applications will automatically create the right database schema thanks to Liquibase.
Start the Docker Container
After you prepare the configuration file, you can run the image using docker run
:
docker run --env-file env.list -d -it -p 8080:8000 \
--name=powerauth-cloud wultra.jfrog.io/wultra-docker/powerauth-cloud:1.3.0
This will launch the Docker container with the properties you specified and create database schema on the way.
The Docker containers use the standard UTC timezone.
You can now open http://localhost:8080/powerauth-cloud/, the basic HTTP authentication will pop up. You can close it for now - there are no users configured in the database. We will fix this in the Configuration chapter.