services:
    postgres:
        image: postgres:9.6
        environment:
            - POSTGRES_USER=airflow
            - POSTGRES_PASSWORD=airflow
            - POSTGRES_DB=airflow
        ports:
            - "6100:5432"
    webserver:
        build: .
        depends_on:
            - postgres
        env_file: 
        - path: .env
          required: false
        volumes:
            - ./dags:/var/airflow/dags
            - ~/.aws:/root/.aws
            - ~/.ssh/snowflake:/root/.ssh/snowflake
        ports:
            - "6101:8080"
        command: webserver
        healthcheck:
            test: ["CMD-SHELL", "[ -f /var/airflow/airflow-webserver.pid ]"]
            interval: 30s
            timeout: 30s
            retries: 3
        environment:
            - "AIRFLOW__CORE__LOAD_EXAMPLES=False"
            - "AIRFLOW__CORE__REMOTE_LOGGING=False"
            - "AIRFLOW__CORE__FERNET_KEY=I9xQStKl6bVwxoPMcZT_rrk1w86ampk75KAphIotFNg="
            - "AIRFLOW__WEBSERVER__SECRET_KEY=448c1beb6f911de318e663608150da55f04ba19ec50c6fcc907eb5d903ff"
            - "AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID"
            - "AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY"
            - "AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN"
            - "AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION"
