| # 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 |