Merge "Add CLI deployment as part of portal"
[portal.git] / deliveries / docker-compose.yml
1 # docker-compose for ONAP portal containers: database, microservice, portal apps.
2 # Only exposes the portal apps on host network, not the database or WMS.
3 # Works in multiple environments; does not pull from a Nexus repository.
4 # Relies on .env file in current directory.
5
6 version: '2.0'
7
8 services:
9
10   cli:
11     image: onap/cli:${PORTAL_TAG}
12     environment:
13       MODE: 'deamon'
14     expose:
15       - 80
16     ports:
17       - 8080:80
18     logging:
19       driver: json-file
20
21   # Config files may use hostname "portal-db"
22   portal-db:
23     image: ${DB_IMG_NAME}:${PORTAL_TAG}
24     environment:
25       MYSQL_ROOT_PASSWORD: 'Aa123456'
26     expose:
27       - 3306
28     volumes:
29       # Just specify a path and let the Engine create a volume
30       - /var/lib/mysql
31     logging:
32       driver: json-file
33
34   # An environment variable here CAN override the database URL;
35   # instead the value in the config file uses hostname from above
36   portal-wms:
37     image: ${WMS_IMG_NAME}:${PORTAL_TAG}
38     expose:
39       - 8082
40     links:
41       - portal-db
42     depends_on:
43       - portal-db
44     volumes:
45       - ${PROJECT_DIR}/etc/ECOMPWIDGETMS/application.properties:/application.properties
46     command:
47       - /wait-for.sh
48       - -t
49       - "60"
50       - portal-db:3306
51       - --
52       - /start-wms-cmd.sh
53     logging:
54       driver: json-file
55
56   # Environment variables here CANNOT override the database URL because
57   # two apps use identical configuration keys with different values
58   portal-apps:
59     image: ${EP_IMG_NAME}:${PORTAL_TAG}
60     expose:
61       - 8989
62     ports:
63       - 8989:8080
64       - 8010:8009
65       - 8006:8005
66     links:
67       - portal-db
68       - portal-wms
69     depends_on:
70       - portal-db
71       - portal-wms
72     volumes:
73       - ${PROJECT_DIR}/etc/ECOMPPORTALAPP/system.properties:${WEBAPPS_DIR}/ECOMPPORTAL/WEB-INF/conf/system.properties
74       - ${PROJECT_DIR}/etc/ECOMPPORTALAPP/fusion.properties:${WEBAPPS_DIR}/ECOMPPORTAL/WEB-INF/fusion/conf/fusion.properties
75       - ${PROJECT_DIR}/etc/ECOMPPORTALAPP/portal.properties:${WEBAPPS_DIR}/ECOMPPORTAL/WEB-INF/classes/portal.properties
76       - ${PROJECT_DIR}/etc/ECOMPPORTALAPP/openid-connect.properties:${WEBAPPS_DIR}/ECOMPPORTAL/WEB-INF/classes/openid-connect.properties
77       - ${PROJECT_DIR}/etc/ECOMPPORTALAPP/logback.xml:${WEBAPPS_DIR}/ECOMPPORTAL/WEB-INF/classes/logback.xml
78       - ${PROJECT_DIR}/etc/ECOMPSDKAPP/fusion.properties:${WEBAPPS_DIR}/ECOMPSDKAPP/WEB-INF/fusion/conf/fusion.properties
79       - ${PROJECT_DIR}/etc/ECOMPSDKAPP/system.properties:${WEBAPPS_DIR}/ECOMPSDKAPP/WEB-INF/conf/system.properties
80       - ${PROJECT_DIR}/etc/ECOMPSDKAPP/portal.properties:${WEBAPPS_DIR}/ECOMPSDKAPP/WEB-INF/classes/portal.properties
81       - ${PROJECT_DIR}/etc/ECOMPDBCAPP/system.properties:${WEBAPPS_DIR}/ECOMPDBCAPP/WEB-INF/conf/system.properties
82       - ${PROJECT_DIR}/etc/ECOMPDBCAPP/portal.properties:${WEBAPPS_DIR}/ECOMPDBCAPP/WEB-INF/classes/portal.properties
83       - ${PROJECT_DIR}/etc/ECOMPDBCAPP/dbcapp.properties:${WEBAPPS_DIR}/ECOMPDBCAPP/WEB-INF/dbcapp/dbcapp.properties
84       - ${PROJECT_DIR}/etc/ECOMPDBCAPP/fusion.properties:${WEBAPPS_DIR}/ECOMPDBCAPP/WEB-INF/fusion/conf/fusion.properties
85       - ${PROJECT_DIR}/portal-apps-logs:/opt/apache-tomcat-8.0.37/logs
86     command:
87       - /wait-for.sh
88       - -t
89       - "60"
90       - portal-db:3306
91       - --
92       - /start-apps-cmd.sh
93     logging:
94       driver: json-file