A repository containing instructions and examples of how to deploy webMethods API Management containers into an environment using docker-compose.
If you are using Docker Desktop for Mac, resources should be set for 12 CPU and 12 GB RAM.
If you will be running these containers on a server (as opposed to a workstation), less resources are typically required for operation. This has been tested successfully on an AWS m5a.2xlarge (8 CPU, 32GB Memory).
The API Portal and the API Gateway from Software AG require license key files to function. Please have these files handy, the instructions below will guide you through where you will need to place these files during setup.
Software AG Government Solutions hosts the API Management containers on the GitHub Container Registry. You not only will need to have a GitHub account to pull these artifacts, you will also have to create a personal access token. Follow these steps:
- In GitHub, navigate to Settings -> Developer settings -> Personal access tokens.
- Click the “Generate Access Token” button (you may need to provide your login credentials as this time).
- Add a note to your token, something like “Docker Pulls from Software AG”.
- Click the checkbox next to the “read:packages” scope, then click the “Generate Token” button at the bottom of the screen. Save the token somewhere safe.
- Issue the following Docker command to login to the registry. Be sure to use your GitHub username and the token that was generated in Step 4 as the password.
docker login ghcr.io
For more details on the GitHub Container registry, please refer to the documentation here: Working with the GitHub Container registry
Important!
The API Portal uses Elasticsearch. If you are going to deploy to a Linux system, the maximum map count checks that the kernel allows a process to have at least 262,144 memory-mapped areas. Please ensure that the host that docker is running on sets the vm.max_map_count to 262144.
For your convenience, Software AG Government Solutions has created Docker Compose scripts to accelerate deployment of the containers within your environment. These scripts are available in the webmethods Container Deployments GitHub respository.
Start by cloning the following repository to retrieve the docker scripts and configuration:
git clone https://github.com/softwareag-government-solutions/webmethods-container-deployments.git
This project contains several docker-compose scripts to pull & deploy the API Management components in a wide variety of configurations: from a single node “standalone” environment to a multi-node arrangement suitable for exploring high-availability scenarios.
Set the environment variable for the release you’d like to work with. The current Generally Available release is version 10.7
export SAG_RELEASE=107
export REG=ghcr.io/softwareag-government-solutions/
Navigate to the Docker “home” directory of the API Gateway project:
webmethods-container-deployments/docker/apigateway
Copy your license files to the following directory. The docker compose script will map these into the container into the appropriate spot using volumes.
webmethods-container-deployments/docker/apigateway/licensing/apigateway-licenseKey.xml
webmethods-container-deployments/docker/apigateway/licensing/apiportal-licenseKey.xml
Starting the containers:
docker-compose --env-file ./configs/docker.env${SAG_RELEASE} -f apigateway-with-apiportal/docker-compose.yml up -d
Stopping the containers:
docker-compose --env-file ./configs/docker.env${SAG_RELEASE} -f apigateway-with-apiportal/docker-compose.yml down
Stopping & removing volumes for the containers:
docker-compose --env-file ./configs/docker.env${SAG_RELEASE} -f apigateway-with-apiportal/docker-compose.yml down -v
Refreshing the containers:
docker-compose --env-file ./configs/docker.env${SAG_RELEASE} -f apigateway-with-apiportal/docker-compose.yml pull
These are the containers that will be started:
apigateway-standalone-apigateway-1 This container is the API Gateway runtime.
apiportal-standalone-apiportal-1 This container is the API Portal runtime.
apigateway-standalone-apigateway_configurator-1 This container will run at startup and eventually complete and exit. This is normal. Its role is to configure the gateway with an initial set of values.
apigateway-standalone-webmethods-sample-apis-bookstore-1 This container is just a sample REST API endpoint with some sample data. This is provided as an example native API that can be governed by the API Management Platform.
apigateway-standalone-webmethods-sample-apis-uszip-1 This container is just a sample REST API endpoint with some sample data. This is provided as an example native API that can be governed by the API Management Platform.
To access the API Gateway’s Administrator UI
username: Administrator
password: somethingnew
Sample API Gateway Users
sampleuser1.admin
sampleuser2.apiprovider
sampleuser3.apiuser
To access the API Portal
username: system
password: manager