# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
version: '2'
services:
  database_data:
    image: "${REGISTRY}tianon/true:${TRUE_TAG:-latest}"
    volumes:
        - /var/lib/postgresql/data

  database:
    image: "${REGISTRY}postgres:${POSTGRES_TAG:-9.6.1}"
    env_file:
      - ./opennms/env/postgres.env
    ports:
      - "15432:5432"
    depends_on:
      - database_data
    volumes_from:
      - database_data:rw

  opennms_data:
    image: "${REGISTRY}tianon/true:${TRUE_TAG:-latest}"
    volumes:
      - /var/log/opennms
      - /var/opennms/rrd
      - /var/opennms/reports

  opennms:
    image: "${REGISTRY}${REPOSITORY}voltha-opennms:${TAG:-latest}"
    env_file:
      - ./opennms/env/opennms.env
      - ./opennms/env/postgres.env
    depends_on:
      - database
      - opennms_data
    volumes_from:
      - opennms_data:rw
    volumes:
      - ./opennms/etc:/tmp/opennms/etc
    ports:
      - "8980:8980"
      - "18980:18980"
      - "1099:1099"
      - "18101:8101"
      - "61616:61616"
      - "5817:5817"
      - "162:162/udp"
