Docker Compose file checkin for tr069-adapter
[oam/tr069-adapter.git] / docker-compose / tr069-adapter / tr069adapter-install.yaml
1 # ============LICENSE_START========================================================================
2 # O-RAN-SC : tr-069-adapter
3 # =================================================================================================
4 # Copyright (C) 2020 CommScope Inc Intellectual Property.
5 # =================================================================================================
6 # This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,
7 # Version 2.0 (the "License"); you may not use this file except in compliance with the License. You
8 # may obtain a copy of the License at
9 #
10 # http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13 # either express or implied. See the License for the specific language governing permissions and
14 # limitations under the License.
15 # ===============LICENSE_END=======================================================================
16
17 # Note:
18 # In order to support the deployment in IPv6 Docker-compose enviroment, uncomment the lines in the 
19 # network section and update the subnet and Gateway.
20 #
21
22 version: '2.4'
23 services:
24   tr069adapter-mariadb:
25     image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-mariadb:latest"
26     container_name: tr069adapter-mariadb
27     restart: always
28     ports:
29     - "3306:3306"
30     networks:
31       - csadapter_nw
32     environment:
33       MYSQL_ROOT_PASSWORD: root
34
35   tr069adapter-acs-factorydb:
36     image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-acs-factorydb:latest"
37     container_name: tr069adapter-acs-factorydb
38     restart: always
39     depends_on:
40      - tr069adapter-mariadb
41     ports:
42     - "8089:8089"
43     networks:
44       - csadapter_nw
45     environment:
46       FACTORY_PORT: 8089
47
48   tr069adapter-acs:
49     image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-acs:latest"
50     container_name: tr069adapter-acs
51     restart: always
52     depends_on:
53      - tr069adapter-mariadb
54     ports:
55     - "9977:9977"
56     networks:
57       - csadapter_nw
58     environment:
59       ACS_REST_PORT: 9977
60       ACS_ADDITIONAL_REST_PORT: 9975
61       ACS_SSL_ENABLED: 'false'
62       CERT_FILE: /logs
63       DB_USERNAME: root
64       DB_PASSWORD: root
65       DB_SERVICE: tr069adapter-mariadb
66       DB_NAME: dmsdb
67       MAPPER_REST_PORT: 9999
68       FACTORY_REST_PORT: 8089
69       FACTORY_REST_HOST: tr069adapter-acs-factorydb
70       MAPPER_REST_HOST: tr069adapter-netconfig-mapper
71
72   tr069adapter-netconfig-mapper:
73     image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-netconfig-mapper:latest"
74     container_name: tr069adapter-netconfig-mapper
75     restart: always
76     depends_on:
77      - tr069adapter-mariadb
78     ports:
79     - "9999:9999"
80     networks:
81       - csadapter_nw
82     environment:
83       SBI_REST_HOST: tr069adapter-acs
84       SBI_REST_PORT: 9977
85       CONFIG_DB_REST_HOST: tr069adapter-acs-initialpnpdb
86       CONFIG_DB_REST_PORT: 9000
87       MAPPER_REST_PORT: 9999
88       REQUEST_TIMEOUT: 300
89       PRE_CONFIGURE_ON_PNP: 'true'
90       NBI_REST_HOST: tr069adapter-netconf-server
91       NBI_REST_PORT: 8181
92       VES_REST_HOST: tr069adapter-ves-notifier
93       VES_REST_PORT: 8383
94       NBI_NETCONF_PORT: 17830
95       NETCONF_SERVER_PORT: 17830
96       NETCONF_SERVER_IP: tr069adapter-netconf-server
97
98   tr069adapter-netconf-server:
99     image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-netconf-server:latest"
100     container_name: tr069adapter-netconf-server
101     restart: always
102     depends_on:
103      - tr069adapter-mariadb
104     ports:
105     - "8181:8181"
106     - "17830:17830"
107     networks:
108       - csadapter_nw
109     environment:
110       NETCONF_REST_PORT: 8181
111       MAPPER_REST_PORT: 9999
112       NETCONFSRV_PORT: 17830
113       DeviceId: ${DeviceId}
114       netConfServerIP: ${netconfServerIP}
115       MAPPER_REST_HOST: tr069adapter-netconfig-mapper
116       VES_PORT: 8383
117       VES_REST_HOST: tr069adapter-ves-notifier
118       VES_REST_PORT: 8383
119  
120   tr069adapter-ves-notifier:
121     image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-ves-notifier:latest"
122     container_name: tr069adapter-ves-notifier
123     restart: always
124     depends_on:
125      - tr069adapter-mariadb
126     ports:
127     - "8383:8383"
128     networks:
129       - csadapter_nw
130     environment:
131       VES_REST_PORT: 8383
132       faultvesCollectorHost: ${netconfServerIP}
133       faultvesCollectorPort: 2222
134       pnfregvesCollectorHost: ${netconfServerIP}
135       pnfregvesCollectorPort: 3333
136       MAPPER_REST_HOST: tr069adapter-netconfig-mapper
137       MAPPER_REST_PORT: 9999
138       DB_USERNAME: root
139       DB_PASSWORD: root
140       DB_SERVICE: tr069adapter-mariadb
141       DB_NAME: dmsdb
142       CONFIG_MAP_ENABLE: 'false'
143
144   tr069adapter-acs-initialpnpdb:
145     image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-acs-initialpnpdb:latest"
146     container_name: tr069adapter-acs-initialpnpdb
147     restart: always
148     depends_on:
149      - tr069adapter-mariadb
150     ports:
151     - "9000:9000"
152     networks:
153       - csadapter_nw
154     environment:
155       DB_USERNAME: root
156       DB_PASSWORD: root
157       DB_SERVICE: tr069adapter-mariadb
158       DB_NAME: dmsdb
159       INITIALPNP_PORT: 9000
160
161   tr069adapter-nginx:
162     image: "nexus3.o-ran-sc.org:10004/o-ran-sc/tr069adapter-nginx:latest"
163     container_name: tr069adapter-nginx
164     restart: always
165     ports:
166     - "1111:1111"
167     - "2222:2222"
168     - "3333:3333"
169     volumes:
170     - ./ssl:/etc/nginx/ssl/
171     environment:
172       faultvesCollectorDNSServer: ${faultvesCollectorDNSServer}
173       faultvesCollectorHost: ${faultvesCollectorHost}
174       faultvesCollectorPort: ${faultvesCollectorPort}
175       faultvesCollectorComm: ${faultvesCollectorComm}
176       faultvesCollectorSSLCert: ${tr069adapterSSLCert}
177       faultvesCollectorSSLKey: ${tr069adapterSSLKey}
178       faultvesCollectorTrustVerify: ${faultvesCollectorTrustVerify}
179       faultvesCollectorTrustCRT: ${faultvesCollectorTrustCRT}
180       pnfregvesCollectorDNSServer: ${pnfregvesCollectorDNSServer}
181       pnfregvesCollectorHost: ${pnfregvesCollectorHost}
182       pnfregvesCollectorPort: ${pnfregvesCollectorPort}
183       pnfregvesCollectorComm: ${pnfregvesCollectorComm}
184       pnfregvesCollectorSSLCert: ${tr069adapterSSLCert}
185       pnfregvesCollectorSSLKey: ${tr069adapterSSLKey}
186       pnfregvesCollectorTrustVerify: ${pnfregvesCollectorTrustVerify}
187       pnfregvesCollectorTrustCRT: ${pnfregvesCollectorTrustCRT}
188       netconfServerIP: ${netconfServerIP}
189       tr069adapterComm: ${tr069adapterComm}
190       tr069adapterSSLCert: ${tr069adapterSSLCert}
191       tr069adapterSSLKey: ${tr069adapterSSLKey}
192       tr069adapterSSLClientAuth: ${tr069adapterSSLClientAuth}
193       tr069adapterSSLClientTrustCRT: ${tr069adapterSSLClientTrustCRT}
194       tr069adapterCertPassPhrase: ${tr069adapterCertPassPhrase}
195       pnfregvesCollectorBasicAuthUserPassEncrypt: ${pnfregvesCollectorBasicAuthUserPassEncrypt}
196       faultvesCollectorBasicAuthUserPassEncrypt: ${faultvesCollectorBasicAuthUserPassEncrypt}
197     networks:
198       - csadapter_nw
199     command: /bin/bash -c "/opt/CSAdapter/configNginx.sh"
200
201 networks:
202   csadapter_nw:
203     name: csadapter_nw
204     driver: bridge
205 #    enable_ipv6: true
206 #    ipam:
207 #      driver: default
208 #      config:
209 #      - subnet: 2001:db9:1::/64
210 #        gateway: 2001:db9:1::1