Initial Commit

This commit is contained in:
Harmacistant 2021-03-12 15:32:44 -06:00
commit 4e6ff486bd
2 changed files with 62 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.idea/

61
Dockerfile Normal file
View File

@ -0,0 +1,61 @@
FROM library/python:3.7-slim-buster
ARG AIRFLOW_VERSION="2.0.0"
ARG AIRFLOW_EXTRAS="celery,microsoft.mssql,jdbc,ssh,async,docker,oracle,ldap,sftp,postgres,redis"
ARG AIRFLOW_HOME_DIR=/opt/airflow
ARG AIRFLOW_USER_HOME_DIR=/home/airflow
ENV AIRFLOW_VERSION=${AIRFLOW_VERSION}
ENV AIRFLOW_EXTRAS=${AIRFLOW_EXTRAS}
ENV AIRFLOW_HOME_DIR=${AIRFLOW_HOME_DIR}
ENV AIRFLOW_USER_HOME_DIR=${AIRFLOW_USER_HOME_DIR}
ENV AIRFLOW_HOME=${AIRFLOW_HOME_DIR}
ENV AIRFLOW__CORE__LOAD_EXAMPLES="false"
# COPY custom_sources.list /etc/apt/sources.list
# COPY custom_pip_conf.conf /etc/pip.conf
RUN apt-get update \
&& mkdir -pv /usr/share/man/man1 \
&& mkdir -pv /usr/share/man/man7 \
&& apt-get install -yqq \
python3-pip \
default-jre-headless \
gcc \
ca-certificates \
build-essential \
ldap-utils \
libsasl2-dev \
python-dev \
libldap2-dev \
libssl-dev \
openssh-server \
&& apt-get autoremove -yqq --purge \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN pip install apache-airflow[${AIRFLOW_EXTRAS}]==${AIRFLOW_VERSION}
RUN pip install pyldap bs4 exchangelib XlsxWriter openpyxl wmi smbprotocol
# User Setup
RUN addgrouop --gid "50000" "airflow" && \
adduser --quiet "airflow" --uid "50000" \
--gid "50000" \
--home "${AIRFLOW_USER_HOME_DIR}"
RUN mkdir -pv "${AIRFLOW_HOME_DIR}"; \
mkdir -pv "${AIRFLOW_HOME_DIR}/dags"; \
mkdir -pv "${AIRFLOW_HOME_DIR}/logs"; \
chown -R "airflow:root" "${AIRFLOW_USER_HOME_DIR}" "${AIRFLOW_HOME}";
RUN chmod g=u /etc/passwd
ENV PATH="${AIRFLOW_USER_HOME_DIR}/.local/bin:${PATH}:/root/.local/bin"
RUN mkdir -p /root/.local/bin
WORKDIR ${AIRFLOW_HOME}
USER airflow
CMD airflow db init && airflow webserver