diff --git a/.circleci/config.yml b/.circleci/config.yml
index d9ef2f365419044c168b644fd5d6294addcbc998..f52f8da3be9cc5a3d2c06a8da785d8e1197445c2 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -49,6 +49,8 @@ workflows:
                 - "influxdb/1.10/meta"
                 - "influxdb/1.11/data"
                 - "influxdb/1.11/meta"
+                - "influxdb/1.12/data"
+                - "influxdb/1.12/meta"
 
 jobs:
   build:
diff --git a/influxdb/1.12/Dockerfile b/influxdb/1.12/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..715e78e6d70ecfd0125692061fe1b3570c5c7afd
--- /dev/null
+++ b/influxdb/1.12/Dockerfile
@@ -0,0 +1,40 @@
+FROM buildpack-deps:bookworm-curl
+
+RUN addgroup --system --gid 1500 influxdb && \
+    adduser --system --uid 1500 --ingroup influxdb --home /var/lib/influxdb --shell /bin/false influxdb
+
+ARG INFLUXDB_VERSION=1.12.0
+RUN set -x && \
+    case "$(dpkg --print-architecture)" in \
+        amd64) ARCH=amd64 ;; \
+        arm64) ARCH=arm64 ;; \
+        *) echo 'Unsupported Architecture' ; exit 1 ;; \
+    esac && \
+    curl -fsSLO "https://dl.influxdata.com/influxdb/releases/v${INFLUXDB_VERSION}/influxdb_${INFLUXDB_VERSION}-1_${ARCH}.deb.asc" \
+         -fsSLO "https://dl.influxdata.com/influxdb/releases/v${INFLUXDB_VERSION}/influxdb_${INFLUXDB_VERSION}-1_${ARCH}.deb" && \
+    # Verify InfluxDB 1.X OSS \
+    gpg --batch --keyserver hkp://keyserver.ubuntu.com --recv-keys \
+        # InfluxData Package Signing Key <support@influxdata.com> \
+        9D539D90D3328DC7D6C8D3B9D8FF8E1F7DF8B07E && \
+    gpg --batch --verify \
+        "influxdb_${INFLUXDB_VERSION}-1_${ARCH}.deb.asc" \
+        "influxdb_${INFLUXDB_VERSION}-1_${ARCH}.deb" && \
+    # Install InfluxDB 1.X OSS \
+    export DEBIAN_FRONTEND=noninteractive && \
+    apt-get update && \
+    apt-get install --no-install-recommends -y \
+        "/influxdb_${INFLUXDB_VERSION}-1_${ARCH}.deb" && \
+    # Cleanup \
+    rm -r "influxdb_${INFLUXDB_VERSION}-1_${ARCH}.deb.asc" \
+          "influxdb_${INFLUXDB_VERSION}-1_${ARCH}.deb" \
+          /var/lib/apt/lists/*
+
+COPY influxdb.conf /etc/influxdb/influxdb.conf
+
+EXPOSE 8086
+VOLUME /var/lib/influxdb
+COPY entrypoint.sh /entrypoint.sh
+COPY init-influxdb.sh /init-influxdb.sh
+USER influxdb
+ENTRYPOINT ["/entrypoint.sh"]
+CMD ["influxd"]
diff --git a/influxdb/1.12/alpine/Dockerfile b/influxdb/1.12/alpine/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..642368357b561078fa09efbfe917cf3e965dc1cb
--- /dev/null
+++ b/influxdb/1.12/alpine/Dockerfile
@@ -0,0 +1,50 @@
+FROM alpine:3.21
+
+RUN apk add --no-cache bash ca-certificates tzdata && \
+    update-ca-certificates
+
+ARG INFLUXDB_VERSION=1.12.0
+RUN apk add --no-cache --virtual .build-deps curl gnupg tar && \
+    case "$(apk --print-arch)" in \
+        x86_64)  ARCH=amd64 ;; \
+        aarch64) ARCH=arm64 ;; \
+        *) echo 'Unsupported Architecture' ; exit 1 ;; \
+    esac && \
+    curl -fsSLO "https://dl.influxdata.com/influxdb/releases/v${INFLUXDB_VERSION}/influxdb-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz.asc" \
+         -fsSLO "https://dl.influxdata.com/influxdb/releases/v${INFLUXDB_VERSION}/influxdb-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz" && \
+    # Verify InfluxDB 1.X OSS \
+    gpg --batch --keyserver hkp://keyserver.ubuntu.com --recv-keys \
+        # InfluxData Package Signing Key <support@influxdata.com> \
+        9D539D90D3328DC7D6C8D3B9D8FF8E1F7DF8B07E && \
+    gpg --batch --verify \
+        "influxdb-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz.asc" \
+        "influxdb-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz" && \
+    # Install InfluxDB 1.X OSS \
+    tar -xvf "influxdb-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz" \
+        -C / --strip-components 1 --wildcards \
+            'influxdb-*/usr/bin/influx' \
+            'influxdb-*/usr/bin/influx_inspect' \
+            'influxdb-*/usr/bin/influxd' && \
+    # Cleanup \
+    rm "influxdb-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz.asc" \
+       "influxdb-${INFLUXDB_VERSION}_linux_${ARCH}.tar.gz" && \
+    apk del .build-deps
+
+COPY influxdb.conf /etc/influxdb/influxdb.conf
+
+RUN addgroup --system --gid 1500 influxdb && \
+    adduser --system --uid 1500 --ingroup influxdb --home /var/lib/influxdb --shell /bin/false influxdb && \
+    mkdir -p /var/lib/influxdb && \
+    mkdir -p /var/log/influxdb && \
+    chown influxdb:influxdb /var/lib/influxdb && \
+    chown influxdb:influxdb /var/log/influxdb && \
+    chmod 0750 /var/lib/influxdb && \
+    chmod 0750 /var/log/influxdb
+
+EXPOSE 8086
+VOLUME /var/lib/influxdb
+COPY entrypoint.sh /entrypoint.sh
+COPY init-influxdb.sh /init-influxdb.sh
+USER influxdb
+ENTRYPOINT ["/entrypoint.sh"]
+CMD ["influxd"]
diff --git a/influxdb/1.12/alpine/entrypoint.sh b/influxdb/1.12/alpine/entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..26e6bd7ad47ce2456926e6bb98adf54410a270bd
--- /dev/null
+++ b/influxdb/1.12/alpine/entrypoint.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+set -e
+
+if [ "${1:0:1}" = '-' ]; then
+    set -- influxd "$@"
+fi
+
+if [ "$1" = 'influxd' ]; then
+	/init-influxdb.sh "${@:2}"
+fi
+
+exec "$@"
diff --git a/influxdb/1.12/alpine/influxdb.conf b/influxdb/1.12/alpine/influxdb.conf
new file mode 100644
index 0000000000000000000000000000000000000000..986803af3bada7b8df7e59f3798d7dfad4661f99
--- /dev/null
+++ b/influxdb/1.12/alpine/influxdb.conf
@@ -0,0 +1,7 @@
+[meta]
+  dir = "/var/lib/influxdb/meta"
+
+[data]
+  dir = "/var/lib/influxdb/data"
+  engine = "tsm1"
+  wal-dir = "/var/lib/influxdb/wal"
diff --git a/influxdb/1.12/alpine/init-influxdb.sh b/influxdb/1.12/alpine/init-influxdb.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3f7349a084ca13944772112c529879ffc3d9f3ac
--- /dev/null
+++ b/influxdb/1.12/alpine/init-influxdb.sh
@@ -0,0 +1,128 @@
+#!/bin/bash
+set -e
+
+AUTH_ENABLED="$INFLUXDB_HTTP_AUTH_ENABLED"
+
+if [ -z "$AUTH_ENABLED" ]; then
+	AUTH_ENABLED="$(grep -iE '^\s*auth-enabled\s*=\s*true' /etc/influxdb/influxdb.conf | grep -io 'true' | cat)"
+else
+	AUTH_ENABLED="$(echo "$INFLUXDB_HTTP_AUTH_ENABLED" | grep -io 'true' | cat)"
+fi
+
+INIT_USERS=$([ ! -z "$AUTH_ENABLED" ] && [ ! -z "$INFLUXDB_ADMIN_USER" ] && echo 1 || echo)
+
+# Check if an environment variable for where to put meta is set.
+# If so, then use that directory, otherwise use the default.
+if [ -z "$INFLUXDB_META_DIR" ]; then
+	META_DIR="/var/lib/influxdb/meta"
+else
+	META_DIR="$INFLUXDB_META_DIR"
+fi
+
+if ( [ ! -z "$INIT_USERS" ] || [ ! -z "$INFLUXDB_DB" ] || [ "$(ls -A /docker-entrypoint-initdb.d 2> /dev/null)" ] ) && [ ! "$(ls -d "$META_DIR" 2>/dev/null)" ]; then
+
+	INIT_QUERY=""
+	CREATE_DB_QUERY="CREATE DATABASE $INFLUXDB_DB"
+
+	if [ ! -z "$INIT_USERS" ]; then
+
+		if [ -z "$INFLUXDB_ADMIN_PASSWORD" ]; then
+			INFLUXDB_ADMIN_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_ADMIN_PASSWORD:$INFLUXDB_ADMIN_PASSWORD"
+		fi
+
+		INIT_QUERY="CREATE USER \"$INFLUXDB_ADMIN_USER\" WITH PASSWORD '$INFLUXDB_ADMIN_PASSWORD' WITH ALL PRIVILEGES"
+	elif [ ! -z "$INFLUXDB_DB" ]; then
+		INIT_QUERY="$CREATE_DB_QUERY"
+	else
+		INIT_QUERY="SHOW DATABASES"
+	fi
+
+	INFLUXDB_INIT_PORT="8086"
+
+	INFLUXDB_HTTP_BIND_ADDRESS=127.0.0.1:$INFLUXDB_INIT_PORT INFLUXDB_HTTP_HTTPS_ENABLED=false influxd "$@" &
+	pid="$!"
+
+	INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -execute "
+
+	for i in {30..0}; do
+		if $INFLUX_CMD "$INIT_QUERY" &> /dev/null; then
+			break
+		fi
+		echo 'influxdb init process in progress...'
+		sleep 1
+	done
+
+	if [ "$i" = 0 ]; then
+		echo >&2 'influxdb init process failed.'
+		exit 1
+	fi
+
+	if [ ! -z "$INIT_USERS" ]; then
+
+		INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -username ${INFLUXDB_ADMIN_USER} -password ${INFLUXDB_ADMIN_PASSWORD} -execute "
+
+		if [ ! -z "$INFLUXDB_DB" ]; then
+			$INFLUX_CMD "$CREATE_DB_QUERY"
+		fi
+
+		if [ ! -z "$INFLUXDB_USER" ] && [ -z "$INFLUXDB_USER_PASSWORD" ]; then
+			INFLUXDB_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_USER_PASSWORD:$INFLUXDB_USER_PASSWORD"
+		fi
+
+		if [ ! -z "$INFLUXDB_USER" ]; then
+			$INFLUX_CMD "CREATE USER \"$INFLUXDB_USER\" WITH PASSWORD '$INFLUXDB_USER_PASSWORD'"
+
+			$INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_USER\""
+
+			if [ ! -z "$INFLUXDB_DB" ]; then
+				$INFLUX_CMD "GRANT ALL ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_USER\""
+			fi
+		fi
+
+		if [ ! -z "$INFLUXDB_WRITE_USER" ] && [ -z "$INFLUXDB_WRITE_USER_PASSWORD" ]; then
+			INFLUXDB_WRITE_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_WRITE_USER_PASSWORD:$INFLUXDB_WRITE_USER_PASSWORD"
+		fi
+
+		if [ ! -z "$INFLUXDB_WRITE_USER" ]; then
+			$INFLUX_CMD "CREATE USER \"$INFLUXDB_WRITE_USER\" WITH PASSWORD '$INFLUXDB_WRITE_USER_PASSWORD'"
+			$INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_WRITE_USER\""
+
+			if [ ! -z "$INFLUXDB_DB" ]; then
+				$INFLUX_CMD "GRANT WRITE ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_WRITE_USER\""
+			fi
+		fi
+
+		if [ ! -z "$INFLUXDB_READ_USER" ] && [ -z "$INFLUXDB_READ_USER_PASSWORD" ]; then
+			INFLUXDB_READ_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_READ_USER_PASSWORD:$INFLUXDB_READ_USER_PASSWORD"
+		fi
+
+		if [ ! -z "$INFLUXDB_READ_USER" ]; then
+			$INFLUX_CMD "CREATE USER \"$INFLUXDB_READ_USER\" WITH PASSWORD '$INFLUXDB_READ_USER_PASSWORD'"
+			$INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_READ_USER\""
+
+			if [ ! -z "$INFLUXDB_DB" ]; then
+				$INFLUX_CMD "GRANT READ ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_READ_USER\""
+			fi
+		fi
+
+	fi
+
+	for f in /docker-entrypoint-initdb.d/*; do
+		case "$f" in
+			*.sh)     echo "$0: running $f"; . "$f" ;;
+			*.iql)    echo "$0: running $f"; $INFLUX_CMD "$(cat ""$f"")"; echo ;;
+			*)        echo "$0: ignoring $f" ;;
+		esac
+		echo
+	done
+
+	if ! kill -s TERM "$pid" || ! wait "$pid"; then
+		echo >&2 'influxdb init process failed. (Could not stop influxdb)'
+		exit 1
+	fi
+
+fi
diff --git a/influxdb/1.12/data/Dockerfile b/influxdb/1.12/data/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..baa1fb23bb74a23d4f08de6478a50c487ee6c4db
--- /dev/null
+++ b/influxdb/1.12/data/Dockerfile
@@ -0,0 +1,32 @@
+FROM buildpack-deps:bookworm-curl
+
+ENV INFLUXDB_VERSION=1.12.0-c1.12.0
+RUN curl -fsSLO "https://dl.influxdata.com/enterprise/releases/influxdb-data_${INFLUXDB_VERSION}-1_amd64.deb.asc" \
+         -fssLO "https://dl.influxdata.com/enterprise/releases/influxdb-data_${INFLUXDB_VERSION}-1_amd64.deb" && \
+    # Verify InfluxDB 1.X Enterprise \
+    gpg --batch --keyserver hkp://keyserver.ubuntu.com --recv-keys \
+        # InfluxData Package Signing Key <support@influxdata.com> \
+        9D539D90D3328DC7D6C8D3B9D8FF8E1F7DF8B07E && \
+    gpg --batch --verify \
+        "influxdb-data_${INFLUXDB_VERSION}-1_amd64.deb.asc" \
+        "influxdb-data_${INFLUXDB_VERSION}-1_amd64.deb" && \
+    # Install InfluxDB 1.X Enterprise \
+    export DEBIAN_FRONTEND=noninteractive && \
+    apt-get update && \
+    apt-get install --no-install-recommends -y \
+        "/influxdb-data_${INFLUXDB_VERSION}-1_amd64.deb" && \
+    # Cleanup \
+    rm -r "influxdb-data_${INFLUXDB_VERSION}-1_amd64.deb.asc" \
+          "influxdb-data_${INFLUXDB_VERSION}-1_amd64.deb" \
+          /var/lib/apt/lists/*
+
+COPY influxdb.conf /etc/influxdb/influxdb.conf
+
+EXPOSE 8086
+
+VOLUME /var/lib/influxdb
+
+COPY entrypoint.sh /entrypoint.sh
+COPY init-influxdb.sh /init-influxdb.sh
+ENTRYPOINT ["/entrypoint.sh"]
+CMD ["influxd"]
diff --git a/influxdb/1.12/data/alpine/Dockerfile b/influxdb/1.12/data/alpine/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..0dd094acd9e7320c2efd253b29045f52a8fc6335
--- /dev/null
+++ b/influxdb/1.12/data/alpine/Dockerfile
@@ -0,0 +1,37 @@
+FROM alpine:3.21
+
+RUN apk add --no-cache tzdata bash ca-certificates && \
+    update-ca-certificates
+
+ENV INFLUXDB_VERSION=1.12.0-c1.12.0
+RUN apk add --no-cache --virtual .build-deps curl gnupg tar && \
+    curl -fsSLO "https://dl.influxdata.com/enterprise/releases/influxdb-data-${INFLUXDB_VERSION}_linux_amd64.tar.gz.asc" \
+         -fssLO "https://dl.influxdata.com/enterprise/releases/influxdb-data-${INFLUXDB_VERSION}_linux_amd64.tar.gz" && \
+    # Verify InfluxDB 1.X Enterprise \
+    gpg --batch --keyserver hkp://keyserver.ubuntu.com --recv-keys \
+        # InfluxData Package Signing Key <support@influxdata.com> \
+        9D539D90D3328DC7D6C8D3B9D8FF8E1F7DF8B07E && \
+    gpg --batch --verify \
+        "influxdb-data-${INFLUXDB_VERSION}_linux_amd64.tar.gz.asc" \
+        "influxdb-data-${INFLUXDB_VERSION}_linux_amd64.tar.gz" && \
+    # Install InfluxDB 1.X Enterprise \
+    tar -xvf "influxdb-data-${INFLUXDB_VERSION}_linux_amd64.tar.gz" \
+        -C / --strip-components 1 --wildcards \
+            'influxdb-*/usr/bin/influx' \
+            'influxdb-*/usr/bin/influx_inspect' \
+            'influxdb-*/usr/bin/influxd' && \
+    # Cleanup \
+    rm "influxdb-data-${INFLUXDB_VERSION}_linux_amd64.tar.gz.asc" \
+       "influxdb-data-${INFLUXDB_VERSION}_linux_amd64.tar.gz" && \
+    apk del .build-deps
+
+COPY influxdb.conf /etc/influxdb/influxdb.conf
+
+EXPOSE 8086
+
+VOLUME /var/lib/influxdb
+
+COPY entrypoint.sh /entrypoint.sh
+COPY init-influxdb.sh /init-influxdb.sh
+ENTRYPOINT ["/entrypoint.sh"]
+CMD ["influxd"]
diff --git a/influxdb/1.12/data/alpine/entrypoint.sh b/influxdb/1.12/data/alpine/entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..83d12eb8ec296f241899f60f913913961c8167ca
--- /dev/null
+++ b/influxdb/1.12/data/alpine/entrypoint.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+set -e
+
+export INFLUXDB_HOSTNAME=${INFLUXDB_HOSTNAME:-$HOSTNAME}
+
+if [ "${1:0:1}" = '-' ]; then
+    set -- influxd "$@"
+fi
+
+if [ "$1" = 'influxd' ]; then
+	/init-influxdb.sh "${@:2}"
+fi
+
+exec "$@"
diff --git a/influxdb/1.12/data/alpine/influxdb.conf b/influxdb/1.12/data/alpine/influxdb.conf
new file mode 100644
index 0000000000000000000000000000000000000000..f03c128c88c5d35d86141f53d8407cf323295f4e
--- /dev/null
+++ b/influxdb/1.12/data/alpine/influxdb.conf
@@ -0,0 +1,10 @@
+[meta]
+  dir = "/var/lib/influxdb/meta"
+
+[data]
+  dir = "/var/lib/influxdb/data"
+  engine = "tsm1"
+  wal-dir = "/var/lib/influxdb/wal"
+
+[hinted-handoff]
+  dir = "/var/lib/influxdb/hh"
diff --git a/influxdb/1.12/data/alpine/init-influxdb.sh b/influxdb/1.12/data/alpine/init-influxdb.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3f7349a084ca13944772112c529879ffc3d9f3ac
--- /dev/null
+++ b/influxdb/1.12/data/alpine/init-influxdb.sh
@@ -0,0 +1,128 @@
+#!/bin/bash
+set -e
+
+AUTH_ENABLED="$INFLUXDB_HTTP_AUTH_ENABLED"
+
+if [ -z "$AUTH_ENABLED" ]; then
+	AUTH_ENABLED="$(grep -iE '^\s*auth-enabled\s*=\s*true' /etc/influxdb/influxdb.conf | grep -io 'true' | cat)"
+else
+	AUTH_ENABLED="$(echo "$INFLUXDB_HTTP_AUTH_ENABLED" | grep -io 'true' | cat)"
+fi
+
+INIT_USERS=$([ ! -z "$AUTH_ENABLED" ] && [ ! -z "$INFLUXDB_ADMIN_USER" ] && echo 1 || echo)
+
+# Check if an environment variable for where to put meta is set.
+# If so, then use that directory, otherwise use the default.
+if [ -z "$INFLUXDB_META_DIR" ]; then
+	META_DIR="/var/lib/influxdb/meta"
+else
+	META_DIR="$INFLUXDB_META_DIR"
+fi
+
+if ( [ ! -z "$INIT_USERS" ] || [ ! -z "$INFLUXDB_DB" ] || [ "$(ls -A /docker-entrypoint-initdb.d 2> /dev/null)" ] ) && [ ! "$(ls -d "$META_DIR" 2>/dev/null)" ]; then
+
+	INIT_QUERY=""
+	CREATE_DB_QUERY="CREATE DATABASE $INFLUXDB_DB"
+
+	if [ ! -z "$INIT_USERS" ]; then
+
+		if [ -z "$INFLUXDB_ADMIN_PASSWORD" ]; then
+			INFLUXDB_ADMIN_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_ADMIN_PASSWORD:$INFLUXDB_ADMIN_PASSWORD"
+		fi
+
+		INIT_QUERY="CREATE USER \"$INFLUXDB_ADMIN_USER\" WITH PASSWORD '$INFLUXDB_ADMIN_PASSWORD' WITH ALL PRIVILEGES"
+	elif [ ! -z "$INFLUXDB_DB" ]; then
+		INIT_QUERY="$CREATE_DB_QUERY"
+	else
+		INIT_QUERY="SHOW DATABASES"
+	fi
+
+	INFLUXDB_INIT_PORT="8086"
+
+	INFLUXDB_HTTP_BIND_ADDRESS=127.0.0.1:$INFLUXDB_INIT_PORT INFLUXDB_HTTP_HTTPS_ENABLED=false influxd "$@" &
+	pid="$!"
+
+	INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -execute "
+
+	for i in {30..0}; do
+		if $INFLUX_CMD "$INIT_QUERY" &> /dev/null; then
+			break
+		fi
+		echo 'influxdb init process in progress...'
+		sleep 1
+	done
+
+	if [ "$i" = 0 ]; then
+		echo >&2 'influxdb init process failed.'
+		exit 1
+	fi
+
+	if [ ! -z "$INIT_USERS" ]; then
+
+		INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -username ${INFLUXDB_ADMIN_USER} -password ${INFLUXDB_ADMIN_PASSWORD} -execute "
+
+		if [ ! -z "$INFLUXDB_DB" ]; then
+			$INFLUX_CMD "$CREATE_DB_QUERY"
+		fi
+
+		if [ ! -z "$INFLUXDB_USER" ] && [ -z "$INFLUXDB_USER_PASSWORD" ]; then
+			INFLUXDB_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_USER_PASSWORD:$INFLUXDB_USER_PASSWORD"
+		fi
+
+		if [ ! -z "$INFLUXDB_USER" ]; then
+			$INFLUX_CMD "CREATE USER \"$INFLUXDB_USER\" WITH PASSWORD '$INFLUXDB_USER_PASSWORD'"
+
+			$INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_USER\""
+
+			if [ ! -z "$INFLUXDB_DB" ]; then
+				$INFLUX_CMD "GRANT ALL ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_USER\""
+			fi
+		fi
+
+		if [ ! -z "$INFLUXDB_WRITE_USER" ] && [ -z "$INFLUXDB_WRITE_USER_PASSWORD" ]; then
+			INFLUXDB_WRITE_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_WRITE_USER_PASSWORD:$INFLUXDB_WRITE_USER_PASSWORD"
+		fi
+
+		if [ ! -z "$INFLUXDB_WRITE_USER" ]; then
+			$INFLUX_CMD "CREATE USER \"$INFLUXDB_WRITE_USER\" WITH PASSWORD '$INFLUXDB_WRITE_USER_PASSWORD'"
+			$INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_WRITE_USER\""
+
+			if [ ! -z "$INFLUXDB_DB" ]; then
+				$INFLUX_CMD "GRANT WRITE ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_WRITE_USER\""
+			fi
+		fi
+
+		if [ ! -z "$INFLUXDB_READ_USER" ] && [ -z "$INFLUXDB_READ_USER_PASSWORD" ]; then
+			INFLUXDB_READ_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_READ_USER_PASSWORD:$INFLUXDB_READ_USER_PASSWORD"
+		fi
+
+		if [ ! -z "$INFLUXDB_READ_USER" ]; then
+			$INFLUX_CMD "CREATE USER \"$INFLUXDB_READ_USER\" WITH PASSWORD '$INFLUXDB_READ_USER_PASSWORD'"
+			$INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_READ_USER\""
+
+			if [ ! -z "$INFLUXDB_DB" ]; then
+				$INFLUX_CMD "GRANT READ ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_READ_USER\""
+			fi
+		fi
+
+	fi
+
+	for f in /docker-entrypoint-initdb.d/*; do
+		case "$f" in
+			*.sh)     echo "$0: running $f"; . "$f" ;;
+			*.iql)    echo "$0: running $f"; $INFLUX_CMD "$(cat ""$f"")"; echo ;;
+			*)        echo "$0: ignoring $f" ;;
+		esac
+		echo
+	done
+
+	if ! kill -s TERM "$pid" || ! wait "$pid"; then
+		echo >&2 'influxdb init process failed. (Could not stop influxdb)'
+		exit 1
+	fi
+
+fi
diff --git a/influxdb/1.12/data/entrypoint.sh b/influxdb/1.12/data/entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..83d12eb8ec296f241899f60f913913961c8167ca
--- /dev/null
+++ b/influxdb/1.12/data/entrypoint.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+set -e
+
+export INFLUXDB_HOSTNAME=${INFLUXDB_HOSTNAME:-$HOSTNAME}
+
+if [ "${1:0:1}" = '-' ]; then
+    set -- influxd "$@"
+fi
+
+if [ "$1" = 'influxd' ]; then
+	/init-influxdb.sh "${@:2}"
+fi
+
+exec "$@"
diff --git a/influxdb/1.12/data/influxdb.conf b/influxdb/1.12/data/influxdb.conf
new file mode 100644
index 0000000000000000000000000000000000000000..f03c128c88c5d35d86141f53d8407cf323295f4e
--- /dev/null
+++ b/influxdb/1.12/data/influxdb.conf
@@ -0,0 +1,10 @@
+[meta]
+  dir = "/var/lib/influxdb/meta"
+
+[data]
+  dir = "/var/lib/influxdb/data"
+  engine = "tsm1"
+  wal-dir = "/var/lib/influxdb/wal"
+
+[hinted-handoff]
+  dir = "/var/lib/influxdb/hh"
diff --git a/influxdb/1.12/data/init-influxdb.sh b/influxdb/1.12/data/init-influxdb.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3f7349a084ca13944772112c529879ffc3d9f3ac
--- /dev/null
+++ b/influxdb/1.12/data/init-influxdb.sh
@@ -0,0 +1,128 @@
+#!/bin/bash
+set -e
+
+AUTH_ENABLED="$INFLUXDB_HTTP_AUTH_ENABLED"
+
+if [ -z "$AUTH_ENABLED" ]; then
+	AUTH_ENABLED="$(grep -iE '^\s*auth-enabled\s*=\s*true' /etc/influxdb/influxdb.conf | grep -io 'true' | cat)"
+else
+	AUTH_ENABLED="$(echo "$INFLUXDB_HTTP_AUTH_ENABLED" | grep -io 'true' | cat)"
+fi
+
+INIT_USERS=$([ ! -z "$AUTH_ENABLED" ] && [ ! -z "$INFLUXDB_ADMIN_USER" ] && echo 1 || echo)
+
+# Check if an environment variable for where to put meta is set.
+# If so, then use that directory, otherwise use the default.
+if [ -z "$INFLUXDB_META_DIR" ]; then
+	META_DIR="/var/lib/influxdb/meta"
+else
+	META_DIR="$INFLUXDB_META_DIR"
+fi
+
+if ( [ ! -z "$INIT_USERS" ] || [ ! -z "$INFLUXDB_DB" ] || [ "$(ls -A /docker-entrypoint-initdb.d 2> /dev/null)" ] ) && [ ! "$(ls -d "$META_DIR" 2>/dev/null)" ]; then
+
+	INIT_QUERY=""
+	CREATE_DB_QUERY="CREATE DATABASE $INFLUXDB_DB"
+
+	if [ ! -z "$INIT_USERS" ]; then
+
+		if [ -z "$INFLUXDB_ADMIN_PASSWORD" ]; then
+			INFLUXDB_ADMIN_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_ADMIN_PASSWORD:$INFLUXDB_ADMIN_PASSWORD"
+		fi
+
+		INIT_QUERY="CREATE USER \"$INFLUXDB_ADMIN_USER\" WITH PASSWORD '$INFLUXDB_ADMIN_PASSWORD' WITH ALL PRIVILEGES"
+	elif [ ! -z "$INFLUXDB_DB" ]; then
+		INIT_QUERY="$CREATE_DB_QUERY"
+	else
+		INIT_QUERY="SHOW DATABASES"
+	fi
+
+	INFLUXDB_INIT_PORT="8086"
+
+	INFLUXDB_HTTP_BIND_ADDRESS=127.0.0.1:$INFLUXDB_INIT_PORT INFLUXDB_HTTP_HTTPS_ENABLED=false influxd "$@" &
+	pid="$!"
+
+	INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -execute "
+
+	for i in {30..0}; do
+		if $INFLUX_CMD "$INIT_QUERY" &> /dev/null; then
+			break
+		fi
+		echo 'influxdb init process in progress...'
+		sleep 1
+	done
+
+	if [ "$i" = 0 ]; then
+		echo >&2 'influxdb init process failed.'
+		exit 1
+	fi
+
+	if [ ! -z "$INIT_USERS" ]; then
+
+		INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -username ${INFLUXDB_ADMIN_USER} -password ${INFLUXDB_ADMIN_PASSWORD} -execute "
+
+		if [ ! -z "$INFLUXDB_DB" ]; then
+			$INFLUX_CMD "$CREATE_DB_QUERY"
+		fi
+
+		if [ ! -z "$INFLUXDB_USER" ] && [ -z "$INFLUXDB_USER_PASSWORD" ]; then
+			INFLUXDB_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_USER_PASSWORD:$INFLUXDB_USER_PASSWORD"
+		fi
+
+		if [ ! -z "$INFLUXDB_USER" ]; then
+			$INFLUX_CMD "CREATE USER \"$INFLUXDB_USER\" WITH PASSWORD '$INFLUXDB_USER_PASSWORD'"
+
+			$INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_USER\""
+
+			if [ ! -z "$INFLUXDB_DB" ]; then
+				$INFLUX_CMD "GRANT ALL ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_USER\""
+			fi
+		fi
+
+		if [ ! -z "$INFLUXDB_WRITE_USER" ] && [ -z "$INFLUXDB_WRITE_USER_PASSWORD" ]; then
+			INFLUXDB_WRITE_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_WRITE_USER_PASSWORD:$INFLUXDB_WRITE_USER_PASSWORD"
+		fi
+
+		if [ ! -z "$INFLUXDB_WRITE_USER" ]; then
+			$INFLUX_CMD "CREATE USER \"$INFLUXDB_WRITE_USER\" WITH PASSWORD '$INFLUXDB_WRITE_USER_PASSWORD'"
+			$INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_WRITE_USER\""
+
+			if [ ! -z "$INFLUXDB_DB" ]; then
+				$INFLUX_CMD "GRANT WRITE ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_WRITE_USER\""
+			fi
+		fi
+
+		if [ ! -z "$INFLUXDB_READ_USER" ] && [ -z "$INFLUXDB_READ_USER_PASSWORD" ]; then
+			INFLUXDB_READ_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_READ_USER_PASSWORD:$INFLUXDB_READ_USER_PASSWORD"
+		fi
+
+		if [ ! -z "$INFLUXDB_READ_USER" ]; then
+			$INFLUX_CMD "CREATE USER \"$INFLUXDB_READ_USER\" WITH PASSWORD '$INFLUXDB_READ_USER_PASSWORD'"
+			$INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_READ_USER\""
+
+			if [ ! -z "$INFLUXDB_DB" ]; then
+				$INFLUX_CMD "GRANT READ ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_READ_USER\""
+			fi
+		fi
+
+	fi
+
+	for f in /docker-entrypoint-initdb.d/*; do
+		case "$f" in
+			*.sh)     echo "$0: running $f"; . "$f" ;;
+			*.iql)    echo "$0: running $f"; $INFLUX_CMD "$(cat ""$f"")"; echo ;;
+			*)        echo "$0: ignoring $f" ;;
+		esac
+		echo
+	done
+
+	if ! kill -s TERM "$pid" || ! wait "$pid"; then
+		echo >&2 'influxdb init process failed. (Could not stop influxdb)'
+		exit 1
+	fi
+
+fi
diff --git a/influxdb/1.12/entrypoint.sh b/influxdb/1.12/entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..832091c7a2cf158d1ec12667e67d1adcb23373cf
--- /dev/null
+++ b/influxdb/1.12/entrypoint.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+set -e
+
+if [ "${1:0:1}" = '-' ]; then
+    set -- influxd "$@"
+fi
+
+if [ "$1" = 'influxd' ]; then
+    /init-influxdb.sh "${@:2}"
+fi
+
+exec "$@"
diff --git a/influxdb/1.12/influxdb.conf b/influxdb/1.12/influxdb.conf
new file mode 100644
index 0000000000000000000000000000000000000000..986803af3bada7b8df7e59f3798d7dfad4661f99
--- /dev/null
+++ b/influxdb/1.12/influxdb.conf
@@ -0,0 +1,7 @@
+[meta]
+  dir = "/var/lib/influxdb/meta"
+
+[data]
+  dir = "/var/lib/influxdb/data"
+  engine = "tsm1"
+  wal-dir = "/var/lib/influxdb/wal"
diff --git a/influxdb/1.12/init-influxdb.sh b/influxdb/1.12/init-influxdb.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3f7349a084ca13944772112c529879ffc3d9f3ac
--- /dev/null
+++ b/influxdb/1.12/init-influxdb.sh
@@ -0,0 +1,128 @@
+#!/bin/bash
+set -e
+
+AUTH_ENABLED="$INFLUXDB_HTTP_AUTH_ENABLED"
+
+if [ -z "$AUTH_ENABLED" ]; then
+	AUTH_ENABLED="$(grep -iE '^\s*auth-enabled\s*=\s*true' /etc/influxdb/influxdb.conf | grep -io 'true' | cat)"
+else
+	AUTH_ENABLED="$(echo "$INFLUXDB_HTTP_AUTH_ENABLED" | grep -io 'true' | cat)"
+fi
+
+INIT_USERS=$([ ! -z "$AUTH_ENABLED" ] && [ ! -z "$INFLUXDB_ADMIN_USER" ] && echo 1 || echo)
+
+# Check if an environment variable for where to put meta is set.
+# If so, then use that directory, otherwise use the default.
+if [ -z "$INFLUXDB_META_DIR" ]; then
+	META_DIR="/var/lib/influxdb/meta"
+else
+	META_DIR="$INFLUXDB_META_DIR"
+fi
+
+if ( [ ! -z "$INIT_USERS" ] || [ ! -z "$INFLUXDB_DB" ] || [ "$(ls -A /docker-entrypoint-initdb.d 2> /dev/null)" ] ) && [ ! "$(ls -d "$META_DIR" 2>/dev/null)" ]; then
+
+	INIT_QUERY=""
+	CREATE_DB_QUERY="CREATE DATABASE $INFLUXDB_DB"
+
+	if [ ! -z "$INIT_USERS" ]; then
+
+		if [ -z "$INFLUXDB_ADMIN_PASSWORD" ]; then
+			INFLUXDB_ADMIN_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_ADMIN_PASSWORD:$INFLUXDB_ADMIN_PASSWORD"
+		fi
+
+		INIT_QUERY="CREATE USER \"$INFLUXDB_ADMIN_USER\" WITH PASSWORD '$INFLUXDB_ADMIN_PASSWORD' WITH ALL PRIVILEGES"
+	elif [ ! -z "$INFLUXDB_DB" ]; then
+		INIT_QUERY="$CREATE_DB_QUERY"
+	else
+		INIT_QUERY="SHOW DATABASES"
+	fi
+
+	INFLUXDB_INIT_PORT="8086"
+
+	INFLUXDB_HTTP_BIND_ADDRESS=127.0.0.1:$INFLUXDB_INIT_PORT INFLUXDB_HTTP_HTTPS_ENABLED=false influxd "$@" &
+	pid="$!"
+
+	INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -execute "
+
+	for i in {30..0}; do
+		if $INFLUX_CMD "$INIT_QUERY" &> /dev/null; then
+			break
+		fi
+		echo 'influxdb init process in progress...'
+		sleep 1
+	done
+
+	if [ "$i" = 0 ]; then
+		echo >&2 'influxdb init process failed.'
+		exit 1
+	fi
+
+	if [ ! -z "$INIT_USERS" ]; then
+
+		INFLUX_CMD="influx -host 127.0.0.1 -port $INFLUXDB_INIT_PORT -username ${INFLUXDB_ADMIN_USER} -password ${INFLUXDB_ADMIN_PASSWORD} -execute "
+
+		if [ ! -z "$INFLUXDB_DB" ]; then
+			$INFLUX_CMD "$CREATE_DB_QUERY"
+		fi
+
+		if [ ! -z "$INFLUXDB_USER" ] && [ -z "$INFLUXDB_USER_PASSWORD" ]; then
+			INFLUXDB_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_USER_PASSWORD:$INFLUXDB_USER_PASSWORD"
+		fi
+
+		if [ ! -z "$INFLUXDB_USER" ]; then
+			$INFLUX_CMD "CREATE USER \"$INFLUXDB_USER\" WITH PASSWORD '$INFLUXDB_USER_PASSWORD'"
+
+			$INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_USER\""
+
+			if [ ! -z "$INFLUXDB_DB" ]; then
+				$INFLUX_CMD "GRANT ALL ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_USER\""
+			fi
+		fi
+
+		if [ ! -z "$INFLUXDB_WRITE_USER" ] && [ -z "$INFLUXDB_WRITE_USER_PASSWORD" ]; then
+			INFLUXDB_WRITE_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_WRITE_USER_PASSWORD:$INFLUXDB_WRITE_USER_PASSWORD"
+		fi
+
+		if [ ! -z "$INFLUXDB_WRITE_USER" ]; then
+			$INFLUX_CMD "CREATE USER \"$INFLUXDB_WRITE_USER\" WITH PASSWORD '$INFLUXDB_WRITE_USER_PASSWORD'"
+			$INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_WRITE_USER\""
+
+			if [ ! -z "$INFLUXDB_DB" ]; then
+				$INFLUX_CMD "GRANT WRITE ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_WRITE_USER\""
+			fi
+		fi
+
+		if [ ! -z "$INFLUXDB_READ_USER" ] && [ -z "$INFLUXDB_READ_USER_PASSWORD" ]; then
+			INFLUXDB_READ_USER_PASSWORD="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;)"
+			echo "INFLUXDB_READ_USER_PASSWORD:$INFLUXDB_READ_USER_PASSWORD"
+		fi
+
+		if [ ! -z "$INFLUXDB_READ_USER" ]; then
+			$INFLUX_CMD "CREATE USER \"$INFLUXDB_READ_USER\" WITH PASSWORD '$INFLUXDB_READ_USER_PASSWORD'"
+			$INFLUX_CMD "REVOKE ALL PRIVILEGES FROM \"$INFLUXDB_READ_USER\""
+
+			if [ ! -z "$INFLUXDB_DB" ]; then
+				$INFLUX_CMD "GRANT READ ON \"$INFLUXDB_DB\" TO \"$INFLUXDB_READ_USER\""
+			fi
+		fi
+
+	fi
+
+	for f in /docker-entrypoint-initdb.d/*; do
+		case "$f" in
+			*.sh)     echo "$0: running $f"; . "$f" ;;
+			*.iql)    echo "$0: running $f"; $INFLUX_CMD "$(cat ""$f"")"; echo ;;
+			*)        echo "$0: ignoring $f" ;;
+		esac
+		echo
+	done
+
+	if ! kill -s TERM "$pid" || ! wait "$pid"; then
+		echo >&2 'influxdb init process failed. (Could not stop influxdb)'
+		exit 1
+	fi
+
+fi
diff --git a/influxdb/1.12/meta/Dockerfile b/influxdb/1.12/meta/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..6d3c600f1709950b071c259fd41862c02282325c
--- /dev/null
+++ b/influxdb/1.12/meta/Dockerfile
@@ -0,0 +1,31 @@
+FROM buildpack-deps:bookworm-curl
+
+ENV INFLUXDB_VERSION=1.12.0-c1.12.0
+RUN curl -fsSLO "https://dl.influxdata.com/enterprise/releases/influxdb-meta_${INFLUXDB_VERSION}-1_amd64.deb.asc" \
+         -fssLO "https://dl.influxdata.com/enterprise/releases/influxdb-meta_${INFLUXDB_VERSION}-1_amd64.deb" && \
+    # Verify InfluxDB 1.X Enterprise \
+    gpg --batch --keyserver hkp://keyserver.ubuntu.com --recv-keys \
+        # InfluxData Package Signing Key <support@influxdata.com> \
+        9D539D90D3328DC7D6C8D3B9D8FF8E1F7DF8B07E && \
+    gpg --batch --verify \
+        "influxdb-meta_${INFLUXDB_VERSION}-1_amd64.deb.asc" \
+        "influxdb-meta_${INFLUXDB_VERSION}-1_amd64.deb" && \
+    # Install InfluxDB 1.X Enterprise \
+    export DEBIAN_FRONTEND=noninteractive && \
+    apt-get update && \
+    apt-get install --no-install-recommends -y \
+        "/influxdb-meta_${INFLUXDB_VERSION}-1_amd64.deb" && \
+    # Cleanup \
+    rm -r "influxdb-meta_${INFLUXDB_VERSION}-1_amd64.deb.asc" \
+          "influxdb-meta_${INFLUXDB_VERSION}-1_amd64.deb" \
+          /var/lib/apt/lists/*
+
+COPY influxdb-meta.conf /etc/influxdb/influxdb-meta.conf
+
+EXPOSE 8091
+
+VOLUME /var/lib/influxdb
+
+COPY entrypoint.sh /entrypoint.sh
+ENTRYPOINT ["/entrypoint.sh"]
+CMD ["influxd-meta"]
diff --git a/influxdb/1.12/meta/alpine/Dockerfile b/influxdb/1.12/meta/alpine/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..316933a958f93f481fc5a0838b274bcae79f0f6c
--- /dev/null
+++ b/influxdb/1.12/meta/alpine/Dockerfile
@@ -0,0 +1,35 @@
+FROM alpine:3.21
+
+RUN apk add --no-cache tzdata bash ca-certificates && \
+    update-ca-certificates
+
+ENV INFLUXDB_VERSION=1.12.0-c1.12.0
+RUN apk add --no-cache --virtual .build-deps curl gnupg tar && \
+    curl -fsSLO "https://dl.influxdata.com/enterprise/releases/influxdb-meta-${INFLUXDB_VERSION}_linux_amd64.tar.gz.asc" \
+         -fssLO "https://dl.influxdata.com/enterprise/releases/influxdb-meta-${INFLUXDB_VERSION}_linux_amd64.tar.gz" && \
+    # Verify InfluxDB 1.X Enterprise \
+    gpg --batch --keyserver hkp://keyserver.ubuntu.com --recv-keys \
+        # InfluxData Package Signing Key <support@influxdata.com> \
+        9D539D90D3328DC7D6C8D3B9D8FF8E1F7DF8B07E && \
+    gpg --batch --verify \
+        "influxdb-meta-${INFLUXDB_VERSION}_linux_amd64.tar.gz.asc" \
+        "influxdb-meta-${INFLUXDB_VERSION}_linux_amd64.tar.gz" && \
+    # Install InfluxDB 1.X Enterprise \
+    tar -xvf "influxdb-meta-${INFLUXDB_VERSION}_linux_amd64.tar.gz" \
+        -C / --strip-components 1 --wildcards \
+            'influxdb-*/usr/bin/influxd-ctl' \
+            'influxdb-*/usr/bin/influxd-meta' && \
+    # Cleanup \
+    rm "influxdb-meta-${INFLUXDB_VERSION}_linux_amd64.tar.gz.asc" \
+       "influxdb-meta-${INFLUXDB_VERSION}_linux_amd64.tar.gz" && \
+    apk del .build-deps
+
+COPY influxdb-meta.conf /etc/influxdb/influxdb-meta.conf
+
+EXPOSE 8091
+
+VOLUME /var/lib/influxdb
+
+COPY entrypoint.sh /entrypoint.sh
+ENTRYPOINT ["/entrypoint.sh"]
+CMD ["influxd-meta"]
diff --git a/influxdb/1.12/meta/alpine/entrypoint.sh b/influxdb/1.12/meta/alpine/entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..ae61bda42823affdecfc0a62578fcfdb22bc5e3b
--- /dev/null
+++ b/influxdb/1.12/meta/alpine/entrypoint.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+set -e
+
+export INFLUXDB_HOSTNAME=${INFLUXDB_HOSTNAME:-$HOSTNAME}
+export INFLUXDB_META_CONFIG_PATH=${INFLUXDB_META_CONFIG_PATH:-/etc/influxdb/influxdb-meta.conf}
+
+if [ "${1:0:1}" = '-' ]; then
+    set -- influxd-meta "$@"
+fi
+
+if [ "$1" = 'influxd-meta' ]; then
+    shift
+    if [ $# -gt 0 ]; then
+        case $1 in
+          config)
+            shift
+            set -- influxd-meta config -config "${INFLUXDB_META_CONFIG_PATH}" "$@"
+            ;;
+          run)
+            shift
+            set -- influxd-meta run -config "${INFLUXDB_META_CONFIG_PATH}" "$@"
+            ;;
+          -*)
+            set -- influxd-meta -config "${INFLUXDB_META_CONFIG_PATH}" "$@"
+            ;;
+          *)
+            set -- influxd-meta "$@"
+            ;;
+        esac
+    else
+        set -- influxd-meta -config "${INFLUXDB_META_CONFIG_PATH}"
+    fi
+fi
+
+exec "$@"
diff --git a/influxdb/1.12/meta/alpine/influxdb-meta.conf b/influxdb/1.12/meta/alpine/influxdb-meta.conf
new file mode 100644
index 0000000000000000000000000000000000000000..6491d8a186014e50af284810016b5f7273923d96
--- /dev/null
+++ b/influxdb/1.12/meta/alpine/influxdb-meta.conf
@@ -0,0 +1,2 @@
+[meta]
+  dir = "/var/lib/influxdb/meta"
diff --git a/influxdb/1.12/meta/entrypoint.sh b/influxdb/1.12/meta/entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..ae61bda42823affdecfc0a62578fcfdb22bc5e3b
--- /dev/null
+++ b/influxdb/1.12/meta/entrypoint.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+set -e
+
+export INFLUXDB_HOSTNAME=${INFLUXDB_HOSTNAME:-$HOSTNAME}
+export INFLUXDB_META_CONFIG_PATH=${INFLUXDB_META_CONFIG_PATH:-/etc/influxdb/influxdb-meta.conf}
+
+if [ "${1:0:1}" = '-' ]; then
+    set -- influxd-meta "$@"
+fi
+
+if [ "$1" = 'influxd-meta' ]; then
+    shift
+    if [ $# -gt 0 ]; then
+        case $1 in
+          config)
+            shift
+            set -- influxd-meta config -config "${INFLUXDB_META_CONFIG_PATH}" "$@"
+            ;;
+          run)
+            shift
+            set -- influxd-meta run -config "${INFLUXDB_META_CONFIG_PATH}" "$@"
+            ;;
+          -*)
+            set -- influxd-meta -config "${INFLUXDB_META_CONFIG_PATH}" "$@"
+            ;;
+          *)
+            set -- influxd-meta "$@"
+            ;;
+        esac
+    else
+        set -- influxd-meta -config "${INFLUXDB_META_CONFIG_PATH}"
+    fi
+fi
+
+exec "$@"
diff --git a/influxdb/1.12/meta/influxdb-meta.conf b/influxdb/1.12/meta/influxdb-meta.conf
new file mode 100644
index 0000000000000000000000000000000000000000..6491d8a186014e50af284810016b5f7273923d96
--- /dev/null
+++ b/influxdb/1.12/meta/influxdb-meta.conf
@@ -0,0 +1,2 @@
+[meta]
+  dir = "/var/lib/influxdb/meta"