ifdown (latest)

Published 2026-10-29 22:42:20 +01:00 by menzeljonas

Installation

docker pull git.menzel.center/menzeljonas/ifdown:latest
sha256:e1c1a153a6caedac0926750ff2218c4050ddf396b739ebf4cf863d02ef6eea3f

Images

Digest OS / Arch Size
d928c0924c linux/amd64 276 MiB
129c1c0a5a linux/arm64 273 MiB

Image Layers ( linux/amd64)

# debian.sh --arch 'amd64' out/ 'trixie' '@1793059200'
ARG VERSION=1.2.6
ARG AGENT_VERSION=1.2.6
ARG GIT_COMMIT=33795a5e3abe438ad6480e819113cfd76eb0b97c
ARG PG_MAJOR=17
ARG TIMESCALEDB_PKG_VERSION=2.30.2~debian13-1711
ARG TIMESCALEDB_MIN_VERSION=2.30.2
ARG S6_OVERLAY_VERSION=3.2.3.2
LABEL org.opencontainers.image.title=IfDown org.opencontainers.image.description=Self-hosted monitoring: server, web UI, agents, built-in TimescaleDB org.opencontainers.image.source=https://git.menzel.center/menzeljonas/ifdown org.opencontainers.image.version=1.2.6 org.opencontainers.image.revision=33795a5e3abe438ad6480e819113cfd76eb0b97c
ENV LANG=C.UTF-8 DEBIAN_FRONTEND=noninteractive
RUN |7 VERSION=1.2.6 AGENT_VERSION=1.2.6 GIT_COMMIT=33795a5e3abe438ad6480e819113cfd76eb0b97c PG_MAJOR=17 TIMESCALEDB_PKG_VERSION=2.30.2~debian13-1711 TIMESCALEDB_MIN_VERSION=2.30.2 S6_OVERLAY_VERSION=3.2.3.2 /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg xz-utils tzdata python3.13 postgresql-common fonts-inter monitoring-plugins-basic; sed -ri 's/#?\s*create_main_cluster.*/create_main_cluster = false/' /etc/postgresql-common/createcluster.conf; curl -fsSL https://packagecloud.io/timescale/timescaledb/gpgkey | gpg --dearmor -o /usr/share/keyrings/timescaledb.gpg; echo "deb [signed-by=/usr/share/keyrings/timescaledb.gpg] https://packagecloud.io/timescale/timescaledb/debian/ trixie main" > /etc/apt/sources.list.d/timescaledb.list; apt-get update; apt-get install -y --no-install-recommends postgresql-${PG_MAJOR} postgresql-client-${PG_MAJOR} timescaledb-2-postgresql-${PG_MAJOR}=${TIMESCALEDB_PKG_VERSION} timescaledb-2-loader-postgresql-${PG_MAJOR}=${TIMESCALEDB_PKG_VERSION}; apt-mark hold timescaledb-2-postgresql-${PG_MAJOR} timescaledb-2-loader-postgresql-${PG_MAJOR}; cd /usr/lib/postgresql/${PG_MAJOR}/lib; for f in timescaledb-[0-9]*.so timescaledb-tsl-[0-9]*.so; do v=${f%.so}; v=${v##*-}; [ "$(printf '%s\n%s\n' "$v" "${TIMESCALEDB_MIN_VERSION}" | sort -V | head -1)" = "${TIMESCALEDB_MIN_VERSION}" ] || rm -f "$f"; done; rm -rf /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode; cd /; apt-get purge -y --auto-remove gnupg; rm -rf /var/lib/apt/lists/* /var/cache/apt/* /usr/share/doc/* /usr/share/man/* # buildkit
ARG TARGETARCH=amd64
ADD https://github.com/just-containers/s6-overlay/releases/download/v3.2.3.2/s6-overlay-noarch.tar.xz /tmp/ # buildkit
ADD https://github.com/just-containers/s6-overlay/releases/download/v3.2.3.2/s6-overlay-x86_64.tar.xz /tmp/ # buildkit
ADD https://github.com/just-containers/s6-overlay/releases/download/v3.2.3.2/s6-overlay-aarch64.tar.xz /tmp/ # buildkit
RUN |8 VERSION=1.2.6 AGENT_VERSION=1.2.6 GIT_COMMIT=33795a5e3abe438ad6480e819113cfd76eb0b97c PG_MAJOR=17 TIMESCALEDB_PKG_VERSION=2.30.2~debian13-1711 TIMESCALEDB_MIN_VERSION=2.30.2 S6_OVERLAY_VERSION=3.2.3.2 TARGETARCH=amd64 /bin/sh -c case "${TARGETARCH:-amd64}" in amd64) arch=x86_64 ;; arm64) arch=aarch64 ;; *) echo "unsupported architecture ${TARGETARCH}" >&2; exit 1 ;; esac && tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && tar -C / -Jxpf "/tmp/s6-overlay-${arch}.tar.xz" && rm /tmp/s6-overlay-*.tar.xz # buildkit
RUN |8 VERSION=1.2.6 AGENT_VERSION=1.2.6 GIT_COMMIT=33795a5e3abe438ad6480e819113cfd76eb0b97c PG_MAJOR=17 TIMESCALEDB_PKG_VERSION=2.30.2~debian13-1711 TIMESCALEDB_MIN_VERSION=2.30.2 S6_OVERLAY_VERSION=3.2.3.2 TARGETARCH=amd64 /bin/sh -c useradd --uid 1000 --user-group --home-dir /opt/ifdown --no-create-home --shell /usr/sbin/nologin ifdown # buildkit
COPY /opt/ifdown/venv /opt/ifdown/venv # buildkit
COPY /uv /usr/local/bin/uv # buildkit
COPY /src/web/dist /opt/ifdown/web # buildkit
COPY /out/ /opt/ifdown/downloads/agent/ # buildkit
COPY agent/packaging/install.sh /opt/ifdown/install.sh # buildkit
COPY agent/packaging/windows/install.ps1 /opt/ifdown/install.ps1 # buildkit
COPY plugins/builtin/ /opt/ifdown/plugins/builtin/ # buildkit
COPY docker/s6-rc.d/ /etc/s6-overlay/s6-rc.d/ # buildkit
COPY docker/user-bundles.d/ /etc/s6-overlay/user-bundles.d/ # buildkit
COPY docker/entrypoint/ /opt/ifdown/bin/ # buildkit
RUN |8 VERSION=1.2.6 AGENT_VERSION=1.2.6 GIT_COMMIT=33795a5e3abe438ad6480e819113cfd76eb0b97c PG_MAJOR=17 TIMESCALEDB_PKG_VERSION=2.30.2~debian13-1711 TIMESCALEDB_MIN_VERSION=2.30.2 S6_OVERLAY_VERSION=3.2.3.2 TARGETARCH=amd64 /bin/sh -c ln -s /opt/ifdown/venv/bin/ifdownctl /usr/local/bin/ifdownctl && ln -s "${AGENT_VERSION}" /opt/ifdown/downloads/agent/latest && mkdir -p /data && chown ifdown:ifdown /data # buildkit
ENV PATH=/opt/ifdown/venv/bin:/usr/lib/postgresql/17/bin:/command:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin IFDOWN_ROLES=api,ingest,worker,notifier,scheduler S6_BEHAVIOUR_IF_STAGE2_FAILS=2 S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 S6_SERVICES_GRACETIME=50000 S6_KILL_GRACETIME=5000 S6_VERBOSITY=1
VOLUME [/data]
EXPOSE map[8000/tcp:{} 8443/tcp:{}]
HEALTHCHECK &{["CMD-SHELL" "curl -fsS http://localhost:8000/readyz >/dev/null || exit 1"] "30s" "5s" "1m30s" "0s" '\x03'}
ENTRYPOINT ["/opt/ifdown/bin/entrypoint.sh"]
CMD ["all"]

Labels

Key Value
org.opencontainers.image.description Self-hosted monitoring: server, web UI, agents, built-in TimescaleDB
org.opencontainers.image.revision 33795a5e3abe438ad6480e819113cfd76eb0b97c
org.opencontainers.image.source https://git.menzel.center/menzeljonas/ifdown
org.opencontainers.image.title IfDown
org.opencontainers.image.version 1.2.6
Details
Container
2026-10-29 22:42:20 +01:00
0
OCI / Docker
Versions (13) View all
1.2 2026-10-29
1 2026-10-29
latest 2026-10-29
1.2.6 2026-10-29
edge 2026-10-29