OEM
The OEM
kit provides a way for developers, integrators, partners and those who are embedded Cloud CMS in
custom solutions to build and test extensions. These extensions include UI extensions as well as API extensions
in the form of Java / Spring beans.
The kit consists of the following services:
ui
api
mongodb
elasticsearch
These are connected like this:
Running
Use the following commands:
docker-compose build --force-rm
docker-compose up
And then open a browser to:
http://localhost
To access the API directly:
https://localhost:8080
Development Mounts
The following is mounted into the Cloud CMS UI Server:
- UI source code from
~/projects/cloudcms-ui-server
- UI extensions from
./ui/ext
The following is mounted into the Cloud CMS API Server:
- API war file from
~/projects/gitana-distributions/api-docker/target/api-docker-2.5.war
- API extensions (jar files) from
./api/ext/lib
- API extensions (classes) from
./api/ext/classes
docker-compose.yml
version: "2"
services:
ui:
build: ./ui
networks:
- cloudcms
depends_on:
- api
env_file:
- ./ui/ui.env
ports:
- "80:80"
volumes:
- ~/projects/cloudcms-ui-server/public_build:/var/app/current/public_build
- ~/projects/cloudcms-ui-server/public:/var/app/current/public
- ./ui/ext:/var/app/current/ext
api:
build: ./api
networks:
- cloudcms
depends_on:
- mongodb
- elasticsearch
env_file:
- ./api/api.env
ports:
- "8080:8080"
- "5005:5005"
volumes:
- ~/projects/gitana-distributions/api-docker/target/api-docker-2.5.war:/opt/tomcat/webapps/ROOT.war
mongodb:
image: ${kit.images.mongodb.name}
networks:
- cloudcms
ports:
- "27017:27017"
command: mongod --smallfiles --storageEngine=mmapv1
elasticsearch:
image: ${kit.images.elasticsearch.name}
networks:
- cloudcms
ports:
- "9300:9300"
command: elasticsearch -Des.cluster.name=cloudcms-docker
networks:
cloudcms:
driver: bridge