• Joined on 2026-02-08

rxiq-airflow (9b16d4989d3908c9104cf1666d8133a679c49164)

Published 2026-05-19 23:32:36 +00:00 by admin

Installation

docker pull gitea.rxiq.co.uk/admin/rxiq-airflow:9b16d4989d3908c9104cf1666d8133a679c49164
sha256:0e95a81320cf0d1b8db4259f0ed2c370231b1cb2612c312ac755bdb9d4f67c5e

Images

Digest OS / Arch Size
b29001babc linux/amd64 425 MiB

Image Layers ( linux/amd64)

ADD file:eb6a3def1f69e76655620640e610015f285bc23c97e89855feb1f0548309d518 in /
CMD ["bash"]
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV LANG=C.UTF-8
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; rm -rf /var/lib/apt/lists/* # buildkit
ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D
ENV PYTHON_VERSION=3.11.8
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libexpat1-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared --with-lto --with-system-expat --without-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" "PROFILE_TASK=${PROFILE_TASK:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" "PROFILE_TASK=${PROFILE_TASK:-}" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; python3 --version # buildkit
RUN /bin/sh -c set -eux; for src in idle3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit
ENV PYTHON_PIP_VERSION=24.0
ENV PYTHON_SETUPTOOLS_VERSION=65.5.1
ENV PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/dbf0c85f76fb6e1ab42aa672ffca6f0a675d9ee4/public/get-pip.py
ENV PYTHON_GET_PIP_SHA256=dfe9fd5c28dc98b5ac17979a953ea550cec37ae1b47a5116007395bfacff2ab9
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends wget; wget -O get-pip.py "$PYTHON_GET_PIP_URL"; echo "$PYTHON_GET_PIP_SHA256 *get-pip.py" | sha256sum -c -; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python get-pip.py --disable-pip-version-check --no-cache-dir --no-compile "pip==$PYTHON_PIP_VERSION" "setuptools==$PYTHON_SETUPTOOLS_VERSION" ; rm -f get-pip.py; pip --version # buildkit
CMD ["python3"]
SHELL [/bin/bash -o pipefail -o errexit -o nounset -o nolog -c]
ARG AIRFLOW_UID
LABEL org.apache.airflow.distro=debian org.apache.airflow.module=airflow org.apache.airflow.component=airflow org.apache.airflow.image=airflow org.apache.airflow.uid=50000
ARG PYTHON_BASE_IMAGE
ARG AIRFLOW_PIP_VERSION
ENV PYTHON_BASE_IMAGE=python:3.11-slim-bookworm DEBIAN_FRONTEND=noninteractive LANGUAGE=C.UTF-8 LANG=C.UTF-8 LC_ALL=C.UTF-8 LC_CTYPE=C.UTF-8 LC_MESSAGES=C.UTF-8 LD_LIBRARY_PATH=/usr/local/lib AIRFLOW_PIP_VERSION=23.3.2
ARG RUNTIME_APT_DEPS=
ARG ADDITIONAL_RUNTIME_APT_DEPS=
ARG RUNTIME_APT_COMMAND=echo
ARG ADDITIONAL_RUNTIME_APT_COMMAND=
ARG ADDITIONAL_RUNTIME_APT_ENV=
ARG INSTALL_MYSQL_CLIENT=true
ARG INSTALL_MYSQL_CLIENT_TYPE=mariadb
ARG INSTALL_MSSQL_CLIENT=true
ARG INSTALL_POSTGRES_CLIENT=true
ENV RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true GUNICORN_CMD_ARGS=--worker-tmp-dir /dev/shm AIRFLOW_INSTALLATION_METHOD=
COPY install_os_dependencies.sh /scripts/docker/ # buildkit
RUN |12 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.11-slim-bookworm AIRFLOW_PIP_VERSION=23.3.2 RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true /bin/bash -o pipefail -o errexit -o nounset -o nolog -c bash /scripts/docker/install_os_dependencies.sh runtime # buildkit
ARG AIRFLOW_INSTALLATION_METHOD=apache-airflow
ARG AIRFLOW_IMAGE_REPOSITORY
ARG AIRFLOW_IMAGE_README_URL
ARG AIRFLOW_USER_HOME_DIR
ARG AIRFLOW_HOME
ENV PATH=/home/airflow/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin AIRFLOW_UID=50000 AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow
ARG AIRFLOW_PIP_VERSION=23.3.2
ENV AIRFLOW_PIP_VERSION=23.3.2
COPY common.sh /scripts/docker/ # buildkit
COPY install_mysql.sh install_mssql.sh install_postgres.sh /scripts/docker/ # buildkit
RUN |18 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.11-slim-bookworm AIRFLOW_PIP_VERSION=23.3.2 RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_PIP_VERSION=23.3.2 /bin/bash -o pipefail -o errexit -o nounset -o nolog -c bash /scripts/docker/install_mysql.sh prod && bash /scripts/docker/install_mssql.sh prod && bash /scripts/docker/install_postgres.sh prod && adduser --gecos "First Last,RoomNumber,WorkPhone,HomePhone" --disabled-password --quiet "airflow" --uid "${AIRFLOW_UID}" --gid "0" --home "${AIRFLOW_USER_HOME_DIR}" && mkdir -pv "${AIRFLOW_HOME}" && mkdir -pv "${AIRFLOW_HOME}/dags" && mkdir -pv "${AIRFLOW_HOME}/logs" && chown -R airflow:0 "${AIRFLOW_USER_HOME_DIR}" "${AIRFLOW_HOME}" && chmod -R g+rw "${AIRFLOW_USER_HOME_DIR}" "${AIRFLOW_HOME}" && find "${AIRFLOW_HOME}" -executable -print0 | xargs --null chmod g+x && find "${AIRFLOW_USER_HOME_DIR}" -executable -print0 | xargs --null chmod g+x # buildkit
COPY /home/airflow/.local /home/airflow/.local # buildkit
COPY entrypoint_prod.sh /entrypoint # buildkit
COPY clean-logs.sh /clean-logs # buildkit
COPY airflow-scheduler-autorestart.sh /airflow-scheduler-autorestart # buildkit
RUN |18 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.11-slim-bookworm AIRFLOW_PIP_VERSION=23.3.2 RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_PIP_VERSION=23.3.2 /bin/bash -o pipefail -o errexit -o nounset -o nolog -c chmod a+rx /entrypoint /clean-logs && chmod g=u /etc/passwd && chmod g+w "${AIRFLOW_USER_HOME_DIR}/.local" && usermod -g 0 airflow -G 0 # buildkit
RUN |18 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.11-slim-bookworm AIRFLOW_PIP_VERSION=23.3.2 RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_PIP_VERSION=23.3.2 /bin/bash -o pipefail -o errexit -o nounset -o nolog -c sed --in-place=.bak "s/secure_path=\"/secure_path=\"\/.venv\/bin:/" /etc/sudoers # buildkit
ARG AIRFLOW_VERSION
COPY install_pip_version.sh /scripts/docker/ # buildkit
RUN |19 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.11-slim-bookworm AIRFLOW_PIP_VERSION=23.3.2 RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_PIP_VERSION=23.3.2 AIRFLOW_VERSION=2.8.1 /bin/bash -o pipefail -o errexit -o nounset -o nolog -c bash /scripts/docker/install_pip_version.sh # buildkit
ENV DUMB_INIT_SETSID=1 PS1=(airflow) AIRFLOW_VERSION=2.8.1 AIRFLOW__CORE__LOAD_EXAMPLES=false PIP_USER=true PATH=/root/bin:/home/airflow/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
RUN |19 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.11-slim-bookworm AIRFLOW_PIP_VERSION=23.3.2 RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_PIP_VERSION=23.3.2 AIRFLOW_VERSION=2.8.1 /bin/bash -o pipefail -o errexit -o nounset -o nolog -c mkdir -pv /root/bin # buildkit
COPY pip /root/bin/pip # buildkit
RUN |19 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.11-slim-bookworm AIRFLOW_PIP_VERSION=23.3.2 RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_PIP_VERSION=23.3.2 AIRFLOW_VERSION=2.8.1 /bin/bash -o pipefail -o errexit -o nounset -o nolog -c chmod u+x /root/bin/pip # buildkit
WORKDIR /opt/airflow
EXPOSE map[8080/tcp:{}]
USER 50000
ARG BUILD_ID
ARG COMMIT_SHA
ARG AIRFLOW_IMAGE_REPOSITORY
ARG AIRFLOW_IMAGE_DATE_CREATED
ENV BUILD_ID= COMMIT_SHA=c0ffa9c5d96625c68ded9562632674ed366b5eb3
LABEL org.apache.airflow.distro=debian org.apache.airflow.module=airflow org.apache.airflow.component=airflow org.apache.airflow.image=airflow org.apache.airflow.version=2.8.1 org.apache.airflow.uid=50000 org.apache.airflow.main-image.build-id= org.apache.airflow.main-image.commit-sha=c0ffa9c5d96625c68ded9562632674ed366b5eb3 org.opencontainers.image.source=https://github.com/apache/airflow org.opencontainers.image.created= org.opencontainers.image.authors=dev@airflow.apache.org org.opencontainers.image.url=https://airflow.apache.org org.opencontainers.image.documentation=https://airflow.apache.org/docs/docker-stack/index.html org.opencontainers.image.version=2.8.1 org.opencontainers.image.revision=c0ffa9c5d96625c68ded9562632674ed366b5eb3 org.opencontainers.image.vendor=Apache Software Foundation org.opencontainers.image.licenses=Apache-2.0 org.opencontainers.image.ref.name=airflow org.opencontainers.image.title=Production Airflow Image org.opencontainers.image.description=Reference, production-ready Apache Airflow image
ENTRYPOINT ["/usr/bin/dumb-init" "--" "/entrypoint"]
CMD []
USER root
RUN /bin/bash -o pipefail -o errexit -o nounset -o nolog -c apt-get update && apt-get install -y --no-install-recommends curl unzip libxml2 libxslt1.1 && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit
COPY airflow/requirements.txt /tmp/requirements.txt # buildkit
RUN /bin/bash -o pipefail -o errexit -o nounset -o nolog -c chmod 644 /tmp/requirements.txt # buildkit
USER airflow
RUN /bin/bash -o pipefail -o errexit -o nounset -o nolog -c pip install --no-cache-dir --upgrade pip && pip install --no-cache-dir -r /tmp/requirements.txt # buildkit
RUN /bin/bash -o pipefail -o errexit -o nounset -o nolog -c mkdir -p /opt/airflow/config # buildkit
COPY --chown=airflow airflow/dags/ /opt/airflow/dags/ # buildkit
COPY --chown=airflow config/forecast_source_registry.yml /opt/airflow/config/forecast_source_registry.yml # buildkit
COPY --chown=airflow config/search_concepts/ /opt/airflow/config/search_concepts/ # buildkit
COPY --chown=airflow rxiq/ /opt/airflow/rxiq/ # buildkit

Labels

Key Value
org.apache.airflow.component airflow
org.apache.airflow.distro debian
org.apache.airflow.image airflow
org.apache.airflow.main-image.build-id
org.apache.airflow.main-image.commit-sha c0ffa9c5d96625c68ded9562632674ed366b5eb3
org.apache.airflow.module airflow
org.apache.airflow.uid 50000
org.apache.airflow.version 2.8.1
org.opencontainers.image.authors dev@airflow.apache.org
org.opencontainers.image.created
org.opencontainers.image.description Reference, production-ready Apache Airflow image
org.opencontainers.image.documentation https://airflow.apache.org/docs/docker-stack/index.html
org.opencontainers.image.licenses Apache-2.0
org.opencontainers.image.ref.name airflow
org.opencontainers.image.revision c0ffa9c5d96625c68ded9562632674ed366b5eb3
org.opencontainers.image.source https://github.com/apache/airflow
org.opencontainers.image.title Production Airflow Image
org.opencontainers.image.url https://airflow.apache.org
org.opencontainers.image.vendor Apache Software Foundation
org.opencontainers.image.version 2.8.1
Details
Container
2026-05-19 23:32:36 +00:00
0
OCI / Docker
Versions (134) View all