blob: dda74c91aab2a5b49301a6daa9e04677e7d99431 [file] [log] [blame]
kishore6eebdba2017-10-03 11:12:57 -05001# docker-compose for ONAP portal containers: database, microservice, portal apps.
CHINTAMANI68e98362018-04-10 18:56:38 -04002# Relies on .env file, which CANNOT be specified via command-line option
kishore6eebdba2017-10-03 11:12:57 -05003# Works in multiple environments; does not pull from a Nexus registry.
4# Exposes the portal apps docker (but not DB nor WMS dockers) on the host network.
5# Images must be pulled from ONAP Nexus registry after logging in like this:
6# docker login -u USER -p PASS nexus3.onap.org:10001
CHINTAMANI68e98362018-04-10 18:56:38 -04007# Uses healthcheck feature added in docker-compose v2.1
kishore6eebdba2017-10-03 11:12:57 -05008
CHINTAMANI68e98362018-04-10 18:56:38 -04009version: '2.1'
kishore6eebdba2017-10-03 11:12:57 -050010
11services:
12
13 cli:
14 image: ${CLI_IMG_NAME}:${PORTAL_TAG}
15 environment:
16 CLI_MODE: 'daemon'
kishore6eebdba2017-10-03 11:12:57 -050017 ports:
18 - 8080:80
kishore92d70d62017-10-11 14:51:31 -050019 - 9090:8080
kishore6eebdba2017-10-03 11:12:57 -050020 logging:
21 driver: json-file
22
23 # Config files may use hostname "portal-db"
24 portal-db:
25 image: ${DB_IMG_NAME}:${PORTAL_TAG}
26 environment:
27 MYSQL_ROOT_PASSWORD: 'Aa123456'
28 expose:
29 - 3306
30 volumes:
31 # Just specify a path and let the Engine create a volume
32 - /var/lib/mysql
CHINTAMANI68e98362018-04-10 18:56:38 -040033 # Inject the onboarding script at start time
34 - ./Apps_Users_OnBoarding_Script.sql:/docker-entrypoint-initdb.d/zzz_apps_users_onboarding.sql
kishore6eebdba2017-10-03 11:12:57 -050035 logging:
36 driver: json-file
CHINTAMANI68e98362018-04-10 18:56:38 -040037 healthcheck:
38 test: [ "CMD", "mysqladmin", "ping", "-h", "localhost" ]
39 timeout: 10s
40 retries: 30
41
42 # Config files may use hostname "portal-cassandra"
43 portal-cassandra:
44 image: ${CDR_IMG_NAME}:${PORTAL_TAG}
45 environment:
46 - CASSUSER=root
47 - CASSPASS=Aa123456
48 expose:
49 - 7000
50 - 7001
51 - 7199
52 - 9042
53 - 9160
54 ports:
55 - 7000:7000
56 - 7001:7001
57 - 7199:7199
58 - 9042:9042
59 - 9160:9160
60 volumes:
61 - ./portal.cql:/docker-entrypoint-initdb.d/zzz_portal.cql
62 - ./portalsdk.cql:/docker-entrypoint-initdb.d/zzz_portalsdk.cql
63 links:
64 - portal-db
65 depends_on:
66 portal-db:
67 condition: service_healthy
68
69 # Config files may use hostname "portal-zk"
70 portal-zk:
71 image: ${ZK_IMG_NAME}:${PORTAL_TAG}
72 expose:
73 - 2181
74 ports:
75 - 2181:2181
kishore6eebdba2017-10-03 11:12:57 -050076
CHINTAMANI68e98362018-04-10 18:56:38 -040077 # The app config file uses the docker name above
kishore6eebdba2017-10-03 11:12:57 -050078 portal-wms:
79 image: ${WMS_IMG_NAME}:${PORTAL_TAG}
80 expose:
81 - 8082
82 links:
83 - portal-db
84 depends_on:
CHINTAMANI68e98362018-04-10 18:56:38 -040085 portal-db:
86 condition: service_healthy
kishore6eebdba2017-10-03 11:12:57 -050087 volumes:
CHINTAMANI68e98362018-04-10 18:56:38 -040088 - ${PROPS_DIR}/ONAPWIDGETMS/application.properties:/application.properties
89 - ${PROPS_DIR}/ONAPWIDGETMS/application.yml:/application.yml
kishore6eebdba2017-10-03 11:12:57 -050090 command:
CHINTAMANI68e98362018-04-10 18:56:38 -040091 - /start-wms.sh
kishore6eebdba2017-10-03 11:12:57 -050092 logging:
93 driver: json-file
94
CHINTAMANI68e98362018-04-10 18:56:38 -040095 portal-app:
kishore6eebdba2017-10-03 11:12:57 -050096 image: ${EP_IMG_NAME}:${PORTAL_TAG}
kishore6eebdba2017-10-03 11:12:57 -050097 ports:
98 - 8989:8080
99 - 8010:8009
100 - 8006:8005
101 links:
102 - portal-db
103 - portal-wms
CHINTAMANI68e98362018-04-10 18:56:38 -0400104 - portal-zk
105 - portal-cassandra
kishore6eebdba2017-10-03 11:12:57 -0500106 depends_on:
CHINTAMANI68e98362018-04-10 18:56:38 -0400107 portal-db:
108 condition: service_healthy
109 portal-wms:
110 condition: service_started
kishore6eebdba2017-10-03 11:12:57 -0500111 volumes:
CHINTAMANI68e98362018-04-10 18:56:38 -0400112 - ${PROPS_DIR}/ONAPPORTAL/system.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/conf/system.properties
113 - ${PROPS_DIR}/ONAPPORTAL/fusion.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/fusion/conf/fusion.properties
114 - ${PROPS_DIR}/ONAPPORTAL/portal.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/portal.properties
115 - ${PROPS_DIR}/ONAPPORTAL/music.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/music.properties
116 - ${PROPS_DIR}/ONAPPORTAL/openid-connect.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/openid-connect.properties
117 - ${PROPS_DIR}/ONAPPORTAL/logback.xml:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/logback.xml
kishore6eebdba2017-10-03 11:12:57 -0500118 - ${LOGS_DIR}:/opt/apache-tomcat-8.0.37/logs
119 command:
CHINTAMANI68e98362018-04-10 18:56:38 -0400120 - /start-apache-tomcat.sh
kishore92d70d62017-10-11 14:51:31 -0500121 # see comments in .env file
CHINTAMANI68e98362018-04-10 18:56:38 -0400122 - -i
kishore92d70d62017-10-11 14:51:31 -0500123 - $EXTRA_HOST_IP
CHINTAMANI68e98362018-04-10 18:56:38 -0400124 - -n
kishore92d70d62017-10-11 14:51:31 -0500125 - $EXTRA_HOST_NAME
kishore6eebdba2017-10-03 11:12:57 -0500126 logging:
127 driver: json-file
CHINTAMANI68e98362018-04-10 18:56:38 -0400128
129 portal-sdk:
130 image: ${SDK_IMG_NAME}:${PORTAL_TAG}
131 ports:
132 - 8990:8080
133 links:
134 - portal-db
135 - portal-wms
136 - portal-zk
137 - portal-cassandra
138 depends_on:
139 portal-db:
140 condition: service_healthy
141 volumes:
142 - ${PROPS_DIR}/ONAPPORTALSDK/fusion.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/fusion/conf/fusion.properties
143 - ${PROPS_DIR}/ONAPPORTALSDK/system.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/conf/system.properties
144 - ${PROPS_DIR}/ONAPPORTALSDK/portal.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/classes/portal.properties
145 - ${PROPS_DIR}/ONAPPORTALSDK/music.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/classes/music.properties
146 - ${PROPS_DIR}/ONAPPORTALSDK/logback.xml:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/classes/logback.xml
147 - ${LOGS_DIR}:/opt/apache-tomcat-8.0.37/logs
148 command:
149 - /start-apache-tomcat.sh
150 logging:
151 driver: json-file