CoolFace
Apppublic

altool/airflow

sourceHugging Faceupdated 7mo agoView on Hugging Face
0likes
Dockerfile68 linesDownload Raw Back to root
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"]