Initial Commit
This commit is contained in:
commit
4e6ff486bd
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.idea/
|
61
Dockerfile
Normal file
61
Dockerfile
Normal 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
|
Loading…
x
Reference in New Issue
Block a user