Docker-compose files that will help you install Pega environment for your development, non-production needs. For production ready setup based on k8s please follow instructions prodived by Pegasystems: pega-helm-charts
Following images are required to proceed:
- Pega Install -
PEGA_INSTALL_IMAGE
(how to build an install image) - Pega -
PEGA_RUN_IMAGE
(publicly available on docker hub) - Constellation UI -
CONSTELLATION_RUN_IMAGE
(how to get an image)
- constellation
[version]
.[domain]
- pega
[version]
-web.[domain]
- pega
[version]
-cdh.[domain]
(if need CDH) - pdm.
[domain]
(if need PDM)
# git clone https://github.com/Virusmater/pega-docker-compose.git
https://docs.docker.com/engine/install/
https://docs.docker.com/compose/install/
Login into your docker registry, e.g Docker Hub, where you have Pega and Constellation Images.
# docker login
-
cd pega-docker-compose/common/
-
Edit
docker-compose.yml
- Change
URL
to your domain name - Change
EMAIL
to your email - Change
SUBDOMAINS
to subdomains you created DNS records for, e.gpega87-web,pega87-cdh,constellation87,pdm
- Change
-
Run
$ docker-compose up -d
-
Check
$ docker logs swag -f
to see if there any errors -
$ cp *.conf appdata/swag/nginx/proxy-confs
-
$ docker restart swag
cd pega-docker-compose/pega[version]/
- Edit
.env
. Password with special characters were breaking installation, so try without them.- POSTGRES_PASSWORD=SomeGeneratedPassword
- ADMIN_PASSWORD=SomeGeneratedPassword
- PEGA_INSTALL_IMAGE=ImageYouBuildAndPushed
# docker-compose run pega[version]-web-install
. It will take around 20-30 minutes.# docker-compose up -d
$ cp *.conf ../common/appdata/swag/nginx/proxy-confs
$ docker restart swag
- Login using [email protected] with password from
.env
- Update
ConstellationPegaStaticURL
DSS tohttps://release.constellation.pega.io
- Update
ConstellationSvcURL
DSS tohttps://constellation[version].[domain]/c11n-appstatic
$ docker restart pega[version]-web
- Clean cache and cookies just to be sure
You can finish there
Before anything update enviromental variables in .env
file.
Run $ docker-compose up -d
to start containers that are shared between all Pega containers:
- NGINX Reverse Proxy (swag)
- Constellation UI
- Adminer
- Kafka with Zookeper
Taking care of certifications and subdomain routing. Configure environment variables in yaml file. Copy *.conf
files to common/appdata/swag/nginx/proxy-confs/
:
cp common/*.conf common/appdata/swag/nginx/proxy-confs
More info (here)
Update CONSTELLATION_RUN_IMAGE
variable in .env
. Update ConstellationSvcURL
DSS on taget applications with URL to it.
Doesn't require much configuration, all database connections are stored on the client side.
Before anything update environment variables in .env
file.`
Contains:
- Installer for Web and CDH instances
- Web and CDH instances
- Cassandra
Before the first run Pega should be installed to the databases by running
$ docker-compose run pega[version]-web-install
$ docker-compose --profile cdh run pega[version]-cdh-install
Copy *.subdomain.conf
files to common/appdata/swag/nginx/proxy-confs/
:
cp pega[version]/*.conf common/appdata/swag/nginx/proxy-confs
Run $ docker-compose up -d
to start Web instance.
Run $ docker-compose --profile cdh up -d
to start Web and CDH instances.
Do not forget to update DSSs for Kafka, Constellation, ExternalMKTData.
You will have to manually install Pega CDH itself from marketplace.
Parameters to connect to Cassandra are automatically passed to CDH instance. No need for an additional configuration.
Not really required, but nice to play with.
Copy *.subdomain.conf
files to common/appdata/swag/nginx/proxy-confs/
cp pega-pdm/*.conf common/appdata/swag/nginx/proxy-confs
In order to install Pega Platform for Pega Deployment Manager run $ docker-compose run pdm-install
Then just run $ docker-compose up -d
You will have to manually install Pega Deployment Manager Orchestrator itself from marketplace.