altool/airflow
0
1FROM ubuntu:22.042 3LABEL maintainer="subhamgiri460"4LABEL description="Apache Airflow on HuggingFace Docker Space"5 6ENV DEBIAN_FRONTEND=noninteractive7ENV AIRFLOW_HOME=/opt/airflow8ENV PYTHONDONTWRITEBYTECODE=19ENV PYTHONUNBUFFERED=110 11# ---- System packages ----12RUN apt-get update && apt-get install -y --no-install-recommends \13 python3 \14 python3-pip \15 python3-venv \16 nginx \17 git \18 supervisor \19 curl \20 libpq-dev \21 && rm -rf /var/lib/apt/lists/* \22 && useradd -m -u 1000 airflow23 24# ---- Directories & permissions ----25RUN mkdir -p \26 /var/log/supervisor \27 /var/log/nginx \28 /run/nginx \29 /var/lib/nginx \30 /run/nginx/client_temp \31 /run/nginx/proxy_temp \32 /run/nginx/fastcgi_temp \33 /run/nginx/uwsgi_temp \34 /run/nginx/scgi_temp \35 /opt/airflow/dags \36 /opt/airflow/logs \37 && chown -R airflow:airflow \38 /opt/airflow \39 /var/log/supervisor \40 /var/log/nginx \41 /run/nginx \42 /var/lib/nginx43 44USER airflow45ENV PATH="/home/airflow/.local/bin:${PATH}"46 47# ---- Python dependencies (cached layer) ----48COPY --chown=airflow:airflow requirements.txt /tmp/requirements.txt49RUN pip install --no-cache-dir --upgrade pip \50 && pip install --no-cache-dir -r /tmp/requirements.txt \51 && rm /tmp/requirements.txt52 53# ---- Application files ----54COPY --chown=airflow:airflow config.sh /config.sh55COPY --chown=airflow:airflow supervisord.conf /etc/supervisord.conf56COPY --chown=airflow:airflow nginx.conf /etc/nginx/nginx.conf57COPY --chown=airflow:airflow entrypoint.sh /entrypoint.sh58COPY --chown=airflow:airflow refresh_service.py /refresh_service.py59 60RUN chmod +x /entrypoint.sh /config.sh61 62# ---- Health check ----63HEALTHCHECK --interval=30s --timeout=10s --start-period=120s --retries=3 \64 CMD curl -sf http://localhost:7860/health || exit 165 66EXPOSE 786067 68ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]