Backup hardening, UPS monitoring, Nextcloud cron, image bumps #10

Merged
bastian merged 6 commits from backup-hardening into master 2026-07-30 13:05:20 -04:00
Showing only changes of commit 1e1d53ecd8 - Show all commits
@@ -1,16 +1,23 @@
# ESP-IDF firmware job image (managed by ansible: roles/gitea-actions). # ESP-IDF firmware job image (managed by ansible: roles/gitea-actions).
# Adds node (required by actions/checkout and other JS actions), the AWS CLI # Adds node (required by actions/checkout and other JS actions), the AWS CLI
# (firmware artifacts ship to S3), and the common-yaml header generator's Python # (firmware artifacts ship to S3), jq (the release script rewrites the protocol
# deps on top of the official Espressif toolchain. # manifest with it), and the common-yaml header generator's Python deps on top
# of the official Espressif toolchain.
# IDF lives at /opt/esp/idf — firmware jobs source /opt/esp/idf/export.sh. # IDF lives at /opt/esp/idf — firmware jobs source /opt/esp/idf/export.sh.
# python3-yaml + python3-jinja2 are installed as distro packages so the # python3-yaml + python3-jinja2 are installed as distro packages so the
# common-yaml generator runs with a plain `python3 generate.py` — no pip at job # common-yaml generator runs with a plain `python3 generate.py` — no pip at job
# time (the base image's system Python is PEP 668 externally-managed) and no # time (the base image's system Python is PEP 668 externally-managed) and no
# need to source the IDF venv just to generate headers. # need to source the IDF venv just to generate headers.
#
# jq is required by esp32-stm32-vcu scripts/release.sh, which publishes the
# protocol manifest and BLE_API.md to S3 after the firmware upload. Without it
# the release aborts *after* the firmware and version.json are already live —
# clients get the new build while the tag, Gitea release and protocol manifest
# are never written. Keep it installed.
FROM espressif/idf:{{ esp_idf_version }} FROM espressif/idf:{{ esp_idf_version }}
RUN apt-get update && apt-get install -y --no-install-recommends \ RUN apt-get update && apt-get install -y --no-install-recommends \
curl ca-certificates unzip python3-yaml python3-jinja2 \ curl ca-certificates unzip jq python3-yaml python3-jinja2 \
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y --no-install-recommends nodejs \ && apt-get install -y --no-install-recommends nodejs \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*