API Gateway Manager’s default installation method is by using Docker. The current Docker images are always published on Docker Hub and are available public. This sections focuses on getting the Gateway Manager up and running using the default settings.

https://hub.docker.com/r/apiida/aagm

For an installation in OpenShift, please read on here.

Install on OpenShift using Helm

Install on OpenShift (Non Helm)

Install the Gateway Manager

Docker and Docker Compose

Make sure that docker is installed on the system on which you want to install the Gateway Manager.

Please follow the articles if this is not the case.

Docker: https://docs.docker.com/engine/install/

Docker Compose: https://docs.docker.com/compose/install/

Install using Docker Compose

Create a new folder and create a new file in this folder. Copy the following content into the new file and name it docker-compose.yaml.

version: '3'
services:
  db:
    image: mariadb:10.4
    command:
      - --innodb_buffer_pool_size=1G  # Defines the size of the InnoDB buffer pool. The default of 128MB is not sufficient and regularly leads to overflowing.
      - --query_cache_size=512M   # Defines the size of the query cache.
      - --max_allowed_packet=536870912 # Defines the maximum package size. Required for large APIs
    environment:
      - 'MYSQL_ROOT_PASSWORD=327KHJ4aHPRnqW9c'
      - 'MYSQL_DATABASE=aagm'
      - 'MYSQL_USER=aagm_user'
      - 'MYSQL_PASSWORD=ag72iUphcpE9K9hY'
    restart: always
    volumes:
      - aagm-db-vol:/var/lib/mysql
  aagm:
    image: apiida/aagm:latest
    ports:
      - '443:10443'
    environment: 
      - 'NOSTROMO_DB_HOST=db' 
      - 'NOSTROMO_DB_NAME=aagm'
      - 'NOSTROMO_DB_USER=aagm_user'
      - 'NOSTROMO_DB_PASSWORD=ag72iUphcpE9K9hY'
    restart: always
    volumes:
      - aagm-vol:/opt/aagm:rw
    depends_on:
      - db
      - prometheus
      - prometheus-pushgateway
  prometheus:
    image: apiida/aagm-prometheus:v2.49.1
    volumes:
      - aagm-prometheus-vol:/prometheus
  prometheus-pushgateway:
    image: prom/pushgateway:v1.7.0     
volumes:
  aagm-vol: 
  aagm-db-vol:
  aagm-prometheus-vol:

For use in production environments, make sure that you change the passwords and use suited mechanisms like Docker Secrets to set them.

After creating the file, you can pull and start the containers using

docker compose up --detach --pull=always

(tick) Installation completed! Register your licence now.

Upload your License

(tick) Optionally, you can now also prepare your gateway.

Prepare the Gateway