mirror of
https://github.com/velocitatem/PHANTOM.git
synced 2026-05-31 16:43:36 +00:00
42 lines
1.1 KiB
Docker
42 lines
1.1 KiB
Docker
FROM apache/airflow:2.7.3-python3.11
|
|
|
|
USER root
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
supervisor \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
USER airflow
|
|
|
|
COPY requirements.txt /tmp/requirements.txt
|
|
RUN pip install --no-cache-dir -r /tmp/requirements.txt
|
|
|
|
RUN pip install --no-cache-dir \
|
|
psycopg2-binary \
|
|
apache-airflow-providers-postgres
|
|
|
|
ENV AIRFLOW_HOME=/opt/airflow
|
|
ENV AIRFLOW__CORE__EXECUTOR=SequentialExecutor
|
|
ENV AIRFLOW__CORE__LOAD_EXAMPLES=false
|
|
ENV AIRFLOW__CORE__ENABLE_XCOM_PICKLING=true
|
|
ENV AIRFLOW__WEBSERVER__EXPOSE_CONFIG=true
|
|
|
|
# copy all code into image (standalone - no volume mounts needed)
|
|
COPY --chown=airflow:root experiments/airflow/dags ${AIRFLOW_HOME}/dags
|
|
COPY --chown=airflow:root experiments/procesing ${AIRFLOW_HOME}/procesing
|
|
COPY --chown=airflow:root lib ${AIRFLOW_HOME}/lib
|
|
|
|
RUN mkdir -p ${AIRFLOW_HOME}/logs ${AIRFLOW_HOME}/plugins
|
|
|
|
# copy entrypoint script
|
|
COPY --chown=airflow:root docker/airflow-railway-entrypoint.sh /entrypoint.sh
|
|
USER root
|
|
RUN chmod +x /entrypoint.sh
|
|
USER airflow
|
|
|
|
EXPOSE 8080
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|