# Copyright Matthieu "Puckel_" Roisil (https://github.com/puckel)
#
# 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.

# this file is copied from following link
# https://github.com/puckel/docker-airflow/blob/master/docker-compose-LocalExecutor.yml

version: '2.1'
services:
    postgres:
        image: postgres:9.6
        environment:
            - POSTGRES_USER=airflow
            - POSTGRES_PASSWORD=airflow
            - POSTGRES_DB=airflow
        ports:
            - "5432:5432"

    controller:
        image: opencord/cord-workflow-controller:0.5.2
        ports:
            - "3030:3030"

    airflow:
        # image: opencord/cord-workflow-airflow
        image: cord-workflow-airflow:0.5.1
        restart: always
        depends_on:
            - postgres
            - controller
        ports:
            - "8080:8080"
