From eb9bc573510015dcdede660677e9b2bc8043e8a2 Mon Sep 17 00:00:00 2001 From: Erich Blume Date: Tue, 3 Mar 2026 11:56:40 -0800 Subject: [PATCH] =?UTF-8?q?Upgrade=20TeslaMate=20v2.2.0=20=E2=86=92=20v3.0?= =?UTF-8?q?.0=20(#279)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Upgrade TeslaMate from v2.2.0 to v3.0.0 (first service review) - Elixir 1.18 → 1.19.5, runtime base bookworm → trixie - Adds zstd/brotli build deps for new static asset compression - DB migration (BTREE → BRIN indexes) runs automatically via entrypoint ## Deployment and Testing - [ ] Trigger container build: `mise run container-build-and-release teslamate` - [ ] Update kustomization.yaml with new image tag - [ ] Deploy from branch: `argocd app set teslamate --revision upgrade/teslamate-v3.0.0 && argocd app sync teslamate` - [ ] Verify TeslaMate UI loads and data is intact - [ ] Check logs for migration errors - [ ] After merge: reset ArgoCD to main, update kustomization tag to `[main]` image Reviewed-on: https://forge.eblu.me/eblume/blumeops/pulls/279 --- containers/teslamate/Dockerfile | 18 ++++++++---------- .../upgrade-teslamate-v3.0.0.infra.md | 1 + service-versions.yaml | 4 ++-- 3 files changed, 11 insertions(+), 12 deletions(-) create mode 100644 docs/changelog.d/upgrade-teslamate-v3.0.0.infra.md diff --git a/containers/teslamate/Dockerfile b/containers/teslamate/Dockerfile index c3e1a62..2624822 100644 --- a/containers/teslamate/Dockerfile +++ b/containers/teslamate/Dockerfile @@ -1,17 +1,17 @@ # TeslaMate - Tesla data logger # Based on upstream Dockerfile -ARG CONTAINER_APP_VERSION=v2.2.0 +ARG CONTAINER_APP_VERSION=v3.0.0 ARG TESLAMATE_VERSION=${CONTAINER_APP_VERSION} -FROM elixir:1.18-otp-26 AS builder +FROM elixir:1.19.5-otp-26 AS builder ARG TESLAMATE_VERSION SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN apt-get update \ - && apt-get install -y ca-certificates curl gnupg git \ + && apt-get install -y ca-certificates curl gnupg git zstd brotli \ && mkdir -p /etc/apt/keyrings \ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key \ | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ @@ -43,7 +43,7 @@ RUN mix compile RUN SKIP_LOCALE_DOWNLOAD=true mix release --path /opt/built # Runtime image -FROM debian:bookworm-slim AS app +FROM debian:trixie-slim AS app ENV LANG=C.UTF-8 \ SRTM_CACHE=/opt/app/.srtm_cache \ @@ -54,7 +54,7 @@ WORKDIR $HOME RUN apt-get update && apt-get install -y --no-install-recommends \ libodbc2 \ libsctp1 \ - libssl3 \ + libssl3t64 \ libstdc++6 \ netcat-openbsd \ tini \ @@ -65,11 +65,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && useradd --uid 10000 --system --gid nonroot --home-dir /home/nonroot --shell /sbin/nologin nonroot \ && chown -R nonroot:nonroot . -COPY entrypoint.sh / -COPY --from=builder /opt/built . -RUN chmod 555 /entrypoint.sh && \ - chown -R nonroot:nonroot . && \ - mkdir $SRTM_CACHE +COPY --chown=nonroot:nonroot --chmod=555 entrypoint.sh / +COPY --from=builder --chown=nonroot:nonroot /opt/built . +RUN mkdir $SRTM_CACHE USER nonroot:nonroot diff --git a/docs/changelog.d/upgrade-teslamate-v3.0.0.infra.md b/docs/changelog.d/upgrade-teslamate-v3.0.0.infra.md new file mode 100644 index 0000000..a3b92ce --- /dev/null +++ b/docs/changelog.d/upgrade-teslamate-v3.0.0.infra.md @@ -0,0 +1 @@ +Upgrade TeslaMate from v2.2.0 to v3.0.0 (dark mode, BRIN index optimization, Elixir 1.19.5, trixie-slim runtime) diff --git a/service-versions.yaml b/service-versions.yaml index 00e1084..66e555a 100644 --- a/service-versions.yaml +++ b/service-versions.yaml @@ -156,8 +156,8 @@ services: - name: teslamate type: argocd - last-reviewed: null - current-version: "v2.2.0" + last-reviewed: 2026-03-03 + current-version: "v3.0.0" upstream-source: https://github.com/teslamate-org/teslamate/releases - name: transmission