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