Install Onegini Extension Engine¶
To install the Onegini Extension Engine please follow the steps described.
Download the Docker image¶
The Onegini Extension Engine is delivered as a Docker image. There are two ways to receive a Docker image:
Docker Index¶
The first and preferred way is to use the Onegini index. This is the central container repository of Onegini. To download the containers you first need to login with the Docker client using your login credentials.
docker login https://release.onewelcome.com
After you logged in on the Onegini Index you can pull the latest images.
docker pull release.onewelcome.com/onegini/extension-engine:<version>
NOTE: If you did not receive any login credentials, please contact Onegini support.
Import from tar¶
The second way is to import the image from a tarball. This options is mostly used when the docker host has no internet connection.
docker load < /path/to/extension-engine-<version>.tar
Show images¶
To verify that the docker images are loaded, use the docker images command.
docker images
Deploy application¶
The application can be deployed using docker-compose
. At least 512 MB of memory is required by the application, this should be assigned using the JAVA_OPTS
environment variable. Any port can be used to expose the apis, the default is 7876
.
Configuration¶
Please see the configuration section for configuration instructions.
Example docker-compose file¶
version: "2"
services:
extension-engine:
image: release.onewelcome.com/onegini/extension-engine:latest
environment:
- JAVA_OPTS=-Xmx512m -Xms512m
- DATABASE_TYPE=mysql
- DATABASE_URL=jdbc:mysql://database:3306/extension-engine?autoReconnect=true
- DATABASE_USERNAME=onegini
- DATABASE_PASSWORD=onegini
- DATABASE_ENCRYPTION_PASSWORD=remdtxjk8kv8lrb7b9vxlhacfqtqslvzu6h59j6c
- SPRING_SECURITY_USER_NAME=xe-basic-auth-user
- SPRING_SECURITY_USER_PASSWORD=E6D8wNcTEeSrgENw9k6Y
- PROPERTY_ENCRYPTION_PASSWORD=aslkdfjasdf90asf8as098fas0dfsdflfkwads
# Redis
- SPRING_REDIS_SENTINEL_NODES=192.168.0.16:26379,192.168.0.17:26379,192.168.0.18:26379
- SPRING_REDIS_SENTINEL_MASTER=mymaster
restart: always
user: onegini
ports:
- 7876:7876
networks:
- xe
# For local development and testing only
database:
image: mariadb:latest
mem_limit: 512mb
restart: always
environment:
# Service Discovery
- SERVICE_IGNORE=true
# MariaDB
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=extension-engine
- MYSQL_USER=onegini
- MYSQL_PASSWORD=onegini
volumes:
- /opt/onegini/xe/database:/var/lib/mysql
networks:
- xe
redis-master:
image: release.onewelcome.com/onegini/redis:1.0.0
user: onegini
environment:
- REDIS_PORT=6379
- REDIS_ANNOUNCE_IP=192.168.100.14
- REDIS_ANNOUNCE_PORT=6379
networks:
overlay:
ipv4_address: 192.168.100.14
redis-slave:
image: release.onewelcome.com/onegini/redis:1.0.0
user: onegini
environment:
- REDIS_PORT=6379
- REDIS_ANNOUNCE_IP=192.168.0.15
- REDIS_ANNOUNCE_PORT=6379
- REDIS_SLAVE=True
- REDIS_SLAVEOF_IP=192.168.0.14
- REDIS_SLAVEOF_PORT=6379
depends_on:
- redis-master
networks:
xe:
ipv4_address: 192.168.0.15
redis-master-sentinel:
image: release.onewelcome.com/onegini/redis:1.0.0
user: onegini
environment:
- REDIS_SENTINEL=True
- REDIS_SENTINEL_PORT=26379
- REDIS_SENTINEL_ANNOUNCE_IP=192.168.0.16
- REDIS_SENTINEL_ANNOUNCE_PORT=26379
- REDIS_SENTINEL_MASTER_IP=192.168.0.14
- REDIS_SENTINEL_MASTER_PORT=6379
depends_on:
- redis-master
networks:
xe:
ipv4_address: 192.168.0.16
redis-slave-sentinel:
image: release.onewelcome.com/onegini/redis:1.0.0
user: onegini
environment:
- REDIS_SENTINEL=True
- REDIS_SENTINEL_PORT=26379
- REDIS_SENTINEL_ANNOUNCE_IP=192.168.0.17
- REDIS_SENTINEL_ANNOUNCE_PORT=26379
- REDIS_SENTINEL_MASTER_IP=192.168.0.14
- REDIS_SENTINEL_MASTER_PORT=6379
depends_on:
- redis-master-sentinel
networks:
xe:
ipv4_address: 192.168.0.17
redis-slave-sentinel-failover:
image: release.onewelcome.com/onegini/redis:1.0.0
user: onegini
environment:
- REDIS_SENTINEL=True
- REDIS_SENTINEL_PORT=26379
- REDIS_SENTINEL_ANNOUNCE_IP=192.168.0.18
- REDIS_SENTINEL_ANNOUNCE_PORT=26379
- REDIS_SENTINEL_MASTER_IP=192.168.0.14
- REDIS_SENTINEL_MASTER_PORT=6379
depends_on:
- redis-master-sentinel
networks:
xe:
ipv4_address: 192.168.0.18
networks:
xe:
driver: bridge
ipam:
driver: default
config:
- subnet: 192.168.0.0/24