ARG         AWS_ACCOUNT=086679231553
FROM        ${AWS_ACCOUNT}.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:python311 AS base
WORKDIR /var/airflow

# Copy files
COPY docker_build/supervisord/supervisord.webserver.conf /etc/supervisor/conf.d/supervisord.webserver.conf
COPY docker_build/supervisord/supervisord.scheduler.conf /etc/supervisor/conf.d/supervisord.scheduler.conf
COPY entrypoint.sh requirements.txt ./
COPY entrypoint.sh requirements-docker.txt ./
COPY dags ./dags

# Update and install requirements
USER root
RUN apt-get -q -y update && \
    apt-get -q -y install \
        git \
        zip \
        netcat-traditional \
        gcc \
        g++ \
        wget \
        make \
        tcl \
        pkg-config \
        libsasl2-dev \
        build-essential \
        libssl-dev \
        libffi-dev \
        python3.11-dev \
        libpq-dev \
        default-libmysqlclient-dev \
        postgresql && \
    apt-get -y autoremove && \
    apt-get -y clean all && \
    rm -rf /var/cache/yum \
USER worker

# Configure airflow home
RUN python3.11 -m venv env
ENV PATH="/var/airflow/env/bin:$PATH"
RUN env/bin/python -m pip install -q -U pip "setuptools<81.0.0" wheel supervisor && \
    env/bin/python -m pip install -q -I -r requirements.txt && \
    env/bin/python -m pip install -q -I -r requirements-docker.txt

EXPOSE 8080 5555 8793

ENTRYPOINT ["./entrypoint.sh"]
