2025-09-24 22:40:49 UTC
192 MB
/etc/ansible/collections
ANSIBLE_HOME/etc/ansible
ANSIBLE_WORK_DIR/ansible
DEBUGfalse
GPG_KEY7169605F62C751356D054A26A821E680E5FA6305
LANGC.UTF-8
PATH/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHON_SHA25607ab697474595e06f06647417d3c7fa97ded07afc1a7e4454c5639919b46eaea
PYTHON_VERSION3.12.10
[#000] sha256:0a9a5dfd008f05ebc27e4790db0709a29e527690c21bcbcd01481eaeb6bb49dc - 1.8% (3.46 MB)
[#001] sha256:1799ce2dd17e35796abb5baa5ebd092f2e3acebfafbd180f0e07c2403e9209a7 - 0.23% (449 KB)
[#002] sha256:8be8a68a3e49fec0b56794e7483db21dd3d7adf6591594deaa58e270f22f976a - 6.74% (12.9 MB)
[#003] sha256:1d7a63b094ee269ef952d5db0120848504eae8e5a17c28267080178878fe7efc - 0.0% (249 Bytes)
[#004] sha256:172efc5b1c5fc39a717d33107490d9873d532b931db0f63c6f1a1dbf3e3abf46 - 0.0% (2.29 KB)
[#005] sha256:953ec5f6a5853c118c0e31f9a5bdbfbcc8ad720e1d1b1900e5d4a27e93db2084 - 91.22% (175 MB)
[#006] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
ADD alpine-minirootfs-3.20.6-x86_64.tar.gz / # buildkit
2025-02-14 03:00:07 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)ENV LANG=C.UTF-8
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.12.10
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=07ab697474595e06f06647417d3c7fa97ded07afc1a7e4454c5639919b46eaea
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps gnupg tar xz bluez-dev bzip2-dev dpkg-dev dpkg findutils gcc gdbm-dev libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tcl-dev tk tk-dev util-linux-dev xz-dev zlib-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; 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-option-checking=fatal --enable-shared $(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; arch="$(apk --print-arch)"; case "$arch" in x86_64|aarch64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; x86) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" 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 '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; for src in idle3 pip3 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
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)ARG BUILD_ANSIBLE_VARIATION=ansible
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)ARG BUILD_ANSIBLE_PATCH_VERSION=8.7.0
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)ARG PACKAGE_DEPENDENCIES=build-base,git,libffi-dev,jq,openssh-client,openssl-dev,rsync,shadow,sshpass,su-exec
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)ARG PUID=1000
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)ARG PGID=1000
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)ARG REPOSITORY_BUILD_VERSION=v1.0.2-beta1
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)ENV DEBUG=false ANSIBLE_WORK_DIR=/ansible ANSIBLE_HOME=/etc/ansible ANSIBLE_COLLECTIONS_PATH=/etc/ansible/collections
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)COPY --chown=root:root --chmod=755 src/rootfs / # buildkit
2025-09-24 22:40:49 UTC (buildkit.dockerfile.v0)RUN |6 BUILD_ANSIBLE_VARIATION=ansible BUILD_ANSIBLE_PATCH_VERSION=8.7.0 PACKAGE_DEPENDENCIES=build-base,git,libffi-dev,jq,openssh-client,openssl-dev,rsync,shadow,sshpass,su-exec PUID=1000 PGID=1000 REPOSITORY_BUILD_VERSION=v1.0.2-beta1 /bin/sh -c serversideup-dep-install-alpine ${PACKAGE_DEPENDENCIES} && serversideup-dep-install-debian ${PACKAGE_DEPENDENCIES} && ARCH=$(uname -m) && if [ "${ARCH}" = "x86_64" ]; then YQ_BINARY="yq_linux_amd64"; elif [ "${ARCH}" = "aarch64" ]; then YQ_BINARY="yq_linux_arm64"; else echo "Unsupported architecture: ${ARCH}"; exit 1; fi && if [ -f /etc/alpine-release ]; then wget https://github.com/mikefarah/yq/releases/latest/download/${YQ_BINARY} -O /usr/bin/yq && chmod +x /usr/bin/yq; else wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/${YQ_BINARY} && chmod a+x /usr/local/bin/yq; fi && serversideup-create-unprivileged-user ansible "${PUID}" "${PGID}" && mkdir -p "${ANSIBLE_HOME}/tmp" && echo -e '[local]\nlocalhost ansible_host=127.0.0.1' > "${ANSIBLE_HOME}/hosts" && chown -R "${PUID}:${PGID}" "${ANSIBLE_HOME}" && chmod 1777 "${ANSIBLE_HOME}/tmp" && mkdir -p "${ANSIBLE_WORK_DIR}" && chown -R "${PUID}:${PGID}" "${ANSIBLE_WORK_DIR}" && mkdir -p /ssh && chmod 700 /ssh && chown "${PUID}:${PGID}" /ssh && ln -s /ssh /home/ansible/.ssh && echo "🤓 Installing ${BUILD_ANSIBLE_VARIATION}==${BUILD_ANSIBLE_PATCH_VERSION}" && pip3 install --no-cache-dir "${BUILD_ANSIBLE_VARIATION}==${BUILD_ANSIBLE_PATCH_VERSION}" && pip3 install --no-cache-dir ansible-lint passlib requests python-dateutil && ansible --version # buildkit
2025-09-24 22:40:49 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.title=serversideup/ansible org.opencontainers.image.description=Run Ansible anywhere with a lightweight and powerful Docker image org.opencontainers.image.url=https://github.com/serversideup/docker-ansible org.opencontainers.image.source=https://github.com/serversideup/docker-ansible org.opencontainers.image.documentation=https://github.com/serversideup/docker-ansible org.opencontainers.image.vendor=ServerSideUp org.opencontainers.image.authors=Jay Rogers (@jaydrogers) org.opencontainers.image.version=v1.0.2-beta1 org.opencontainers.image.licenses=GPL-3.0-or-later
2025-09-24 22:40:49 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/entrypoint.sh"]
2025-09-24 22:40:49 UTC (buildkit.dockerfile.v0)WORKDIR /ansible
2025-09-24 22:40:49 UTC (buildkit.dockerfile.v0)CMD ["ansible-playbook" "--version"]
2025-09-24 22:45:39 UTC
188 MB
/etc/ansible/collections
ANSIBLE_HOME/etc/ansible
ANSIBLE_WORK_DIR/ansible
DEBUGfalse
GPG_KEY7169605F62C751356D054A26A821E680E5FA6305
LANGC.UTF-8
PATH/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHON_SHA25607ab697474595e06f06647417d3c7fa97ded07afc1a7e4454c5639919b46eaea
PYTHON_VERSION3.12.10
[#000] sha256:94e9d8af22013aabf0edcaf42950c88b0a1350c3a9ce076d61b98a535a673dd9 - 2.07% (3.9 MB)
[#001] sha256:ada0c44c46b7920b8fcf92f467920ee13d195d2c4ae778ed3f8616218e9560f8 - 0.23% (451 KB)
[#002] sha256:90ed12a8da4e666452312686c94e5875c5942cf0161195f833deded325fc7e33 - 6.91% (13 MB)
[#003] sha256:9ccb167dacef270dc1d2f550ad73265dc6db7895379861fe344123daed6b92b3 - 0.0% (246 Bytes)
[#004] sha256:172efc5b1c5fc39a717d33107490d9873d532b931db0f63c6f1a1dbf3e3abf46 - 0.0% (2.29 KB)
[#005] sha256:e1f4a1e701faec7ceee04a5b62e6d5cbd07d81433f0a9607b25250422816aeb0 - 90.78% (171 MB)
[#006] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
ADD alpine-minirootfs-3.20.6-aarch64.tar.gz / # buildkit
2025-02-14 03:00:07 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)ENV LANG=C.UTF-8
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.12.10
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=07ab697474595e06f06647417d3c7fa97ded07afc1a7e4454c5639919b46eaea
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps gnupg tar xz bluez-dev bzip2-dev dpkg-dev dpkg findutils gcc gdbm-dev libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tcl-dev tk tk-dev util-linux-dev xz-dev zlib-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; 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-option-checking=fatal --enable-shared $(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; arch="$(apk --print-arch)"; case "$arch" in x86_64|aarch64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; x86) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" 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 '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; for src in idle3 pip3 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
2025-05-08 22:27:23 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)ARG BUILD_ANSIBLE_VARIATION=ansible
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)ARG BUILD_ANSIBLE_PATCH_VERSION=8.7.0
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)ARG PACKAGE_DEPENDENCIES=build-base,git,libffi-dev,jq,openssh-client,openssl-dev,rsync,shadow,sshpass,su-exec
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)ARG PUID=1000
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)ARG PGID=1000
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)ARG REPOSITORY_BUILD_VERSION=v1.0.2-beta1
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)ENV DEBUG=false ANSIBLE_WORK_DIR=/ansible ANSIBLE_HOME=/etc/ansible ANSIBLE_COLLECTIONS_PATH=/etc/ansible/collections
2025-09-24 22:40:13 UTC (buildkit.dockerfile.v0)COPY --chown=root:root --chmod=755 src/rootfs / # buildkit
2025-09-24 22:45:39 UTC (buildkit.dockerfile.v0)RUN |6 BUILD_ANSIBLE_VARIATION=ansible BUILD_ANSIBLE_PATCH_VERSION=8.7.0 PACKAGE_DEPENDENCIES=build-base,git,libffi-dev,jq,openssh-client,openssl-dev,rsync,shadow,sshpass,su-exec PUID=1000 PGID=1000 REPOSITORY_BUILD_VERSION=v1.0.2-beta1 /bin/sh -c serversideup-dep-install-alpine ${PACKAGE_DEPENDENCIES} && serversideup-dep-install-debian ${PACKAGE_DEPENDENCIES} && ARCH=$(uname -m) && if [ "${ARCH}" = "x86_64" ]; then YQ_BINARY="yq_linux_amd64"; elif [ "${ARCH}" = "aarch64" ]; then YQ_BINARY="yq_linux_arm64"; else echo "Unsupported architecture: ${ARCH}"; exit 1; fi && if [ -f /etc/alpine-release ]; then wget https://github.com/mikefarah/yq/releases/latest/download/${YQ_BINARY} -O /usr/bin/yq && chmod +x /usr/bin/yq; else wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/${YQ_BINARY} && chmod a+x /usr/local/bin/yq; fi && serversideup-create-unprivileged-user ansible "${PUID}" "${PGID}" && mkdir -p "${ANSIBLE_HOME}/tmp" && echo -e '[local]\nlocalhost ansible_host=127.0.0.1' > "${ANSIBLE_HOME}/hosts" && chown -R "${PUID}:${PGID}" "${ANSIBLE_HOME}" && chmod 1777 "${ANSIBLE_HOME}/tmp" && mkdir -p "${ANSIBLE_WORK_DIR}" && chown -R "${PUID}:${PGID}" "${ANSIBLE_WORK_DIR}" && mkdir -p /ssh && chmod 700 /ssh && chown "${PUID}:${PGID}" /ssh && ln -s /ssh /home/ansible/.ssh && echo "🤓 Installing ${BUILD_ANSIBLE_VARIATION}==${BUILD_ANSIBLE_PATCH_VERSION}" && pip3 install --no-cache-dir "${BUILD_ANSIBLE_VARIATION}==${BUILD_ANSIBLE_PATCH_VERSION}" && pip3 install --no-cache-dir ansible-lint passlib requests python-dateutil && ansible --version # buildkit
2025-09-24 22:45:39 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.title=serversideup/ansible org.opencontainers.image.description=Run Ansible anywhere with a lightweight and powerful Docker image org.opencontainers.image.url=https://github.com/serversideup/docker-ansible org.opencontainers.image.source=https://github.com/serversideup/docker-ansible org.opencontainers.image.documentation=https://github.com/serversideup/docker-ansible org.opencontainers.image.vendor=ServerSideUp org.opencontainers.image.authors=Jay Rogers (@jaydrogers) org.opencontainers.image.version=v1.0.2-beta1 org.opencontainers.image.licenses=GPL-3.0-or-later
2025-09-24 22:45:39 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/entrypoint.sh"]
2025-09-24 22:45:39 UTC (buildkit.dockerfile.v0)WORKDIR /ansible
2025-09-24 22:45:39 UTC (buildkit.dockerfile.v0)CMD ["ansible-playbook" "--version"]
Please be careful as this will not just delete the reference but also the actual content!
For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.