# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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:
  minifi:
    image: apacheminifi:${minifi.version}
    ports:
      - "8000"
    hostname: minifi
    volumes:
      - ./tailFileServer.py:/home/minifi/tailFileServer.py

      - ./bootstrap.conf:/opt/minifi/minifi-${minifi.version}/conf/bootstrap.conf
      - ./logback.xml:/opt/minifi/minifi-${minifi.version}/conf/logback.xml
      - REPLACED_WITH_CONFIG_FILE:/opt/minifi/minifi-${minifi.version}/conf/config.yml
    entrypoint:
      - bash
      - -c
      - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log