blob: 775385426cc9b9489f837313902c1c927bff80fe [file] [log] [blame]
# docker-compose for ONAP portal containers: database, microservice, portal apps.
# Relies on .env file, which CANNOT be specified via command-line option
# Works in multiple environments; does not pull from a Nexus registry.
# Exposes the portal apps docker (but not DB nor WMS dockers) on the host network.
# Images must be pulled from ONAP Nexus registry after logging in like this:
# docker login -u USER -p PASS nexus3.onap.org:10001
# Uses healthcheck feature added in docker-compose v2.1
version: '2.1'
services:
cli:
image: ${CLI_IMG_NAME}:${PORTAL_TAG}
environment:
OPEN_CLI_MODE: 'daemon'
ports:
- 8080:80
- 9090:8080
logging:
driver: json-file
# Config files may use hostname "portal-db"
portal-db:
image: ${DB_IMG_NAME}:${PORTAL_TAG}
environment:
MYSQL_ROOT_PASSWORD: 'Aa123456'
expose:
- 3306
volumes:
# Just specify a path and let the Engine create a volume
- /var/lib/mysql
# Inject the onboarding script at start time
- ./Apps_Users_OnBoarding_Script.sql:/docker-entrypoint-initdb.d/zzz_apps_users_onboarding.sql
logging:
driver: json-file
healthcheck:
test: [ "CMD", "mysqladmin", "ping", "-h", "localhost" ]
timeout: 10s
retries: 30
# Config files may use hostname "portal-cassandra"
portal-cassandra:
image: ${CDR_IMG_NAME}:${PORTAL_TAG}
environment:
- CASSUSER=root
- CASSPASS=Aa123456
- JVM_OPTS=-Xmx2536m -Xms2536m
expose:
- 7000
- 7001
- 7199
- 9042
- 9160
ports:
- 7000:7000
- 7001:7001
- 7199:7199
- 9042:9042
- 9160:9160
volumes:
- ./portal.cql:/docker-entrypoint-initdb.d/zzz_portal.cql
- ./portalsdk.cql:/docker-entrypoint-initdb.d/zzz_portalsdk.cql
links:
- portal-db
depends_on:
portal-db:
condition: service_healthy
# Config files may use hostname "portal-zk"
portal-zk:
image: ${ZK_IMG_NAME}:${PORTAL_TAG}
expose:
- 2181
ports:
- 2181:2181
# The app config file uses the docker name above
portal-wms:
image: ${WMS_IMG_NAME}:${PORTAL_TAG}
expose:
- 8082
links:
- portal-db
depends_on:
portal-db:
condition: service_healthy
volumes:
- ${PROPS_DIR}/ONAPWIDGETMS/application.properties:/application.properties
- ${PROPS_DIR}/ONAPWIDGETMS/application.yml:/application.yml
command:
- /start-wms.sh
logging:
driver: json-file
portal-app:
image: ${EP_IMG_NAME}:${PORTAL_TAG}
ports:
- 8989:8080
- 8010:8009
- 8006:8005
- 8443:8443
links:
- portal-db
- portal-wms
- portal-zk
- portal-cassandra
depends_on:
portal-db:
condition: service_healthy
portal-wms:
condition: service_started
volumes:
- ${PROPS_DIR}/ONAPPORTAL/system.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/conf/system.properties
- ${PROPS_DIR}/ONAPPORTAL/fusion.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/fusion/conf/fusion.properties
- ${PROPS_DIR}/ONAPPORTAL/portal.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/portal.properties
- ${PROPS_DIR}/ONAPPORTAL/music.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/music.properties
- ${PROPS_DIR}/ONAPPORTAL/openid-connect.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/openid-connect.properties
- ${PROPS_DIR}/ONAPPORTAL/logback.xml:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/logback.xml
- ./${TOMCAT_TRUST}:${TOMCAT_DIR}/${TOMCAT_TRUST}
- ./${TOMCAT_KEY}:${TOMCAT_DIR}/${TOMCAT_KEY}
- ${LOGS_DIR}:${TOMCAT_DIR}/logs
command:
- /start-apache-tomcat.sh
# see comments in .env file
- -i
- $EXTRA_HOST_IP
- -n
- $EXTRA_HOST_NAME
logging:
driver: json-file
environment:
- CATALINA_OPTS=-Xmx1536m -Xms1536m
- javax.net.ssl.keyStore=${TOMCAT_DIR}/${TOMCAT_TRUST}
- javax.net.ssl.keyStorePassword=${CERT_PWD}
- javax.net.ssl.trustStore=${TOMCAT_DIR}/${TOMCAT_TRUST}
- javax.net.ssl.trustStorePassword=${CERT_PWD}
portal-sdk:
image: ${SDK_IMG_NAME}:${PORTAL_TAG}
ports:
- 8990:8080
links:
- portal-db
- portal-wms
- portal-zk
- portal-cassandra
depends_on:
portal-db:
condition: service_healthy
volumes:
- ${PROPS_DIR}/ONAPPORTALSDK/fusion.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/fusion/conf/fusion.properties
- ${PROPS_DIR}/ONAPPORTALSDK/system.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/conf/system.properties
- ${PROPS_DIR}/ONAPPORTALSDK/portal.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/classes/portal.properties
- ${PROPS_DIR}/ONAPPORTALSDK/music.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/classes/music.properties
- ${PROPS_DIR}/ONAPPORTALSDK/logback.xml:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/classes/logback.xml
- ${LOGS_DIR}:${TOMCAT_DIR}/logs
command:
- /start-apache-tomcat.sh
logging:
driver: json-file
environment:
- CATALINA_OPTS=-Xmx1536m -Xms1536m