From 12fd1fcbc99f90ff9ba8cfe22773fc85b451fe7a Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Fri, 12 Jun 2026 20:18:26 +0000 Subject: [PATCH] =?UTF-8?q?android-emulator:=20api36-v7=20=E2=80=94=20noVN?= =?UTF-8?q?C=20defaults:=20scaled=20view,=20autoconnect,=20reconnect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Viktor's screen rendered unscaled on a bare /vnc.html. The entrypoint now writes /usr/share/novnc/defaults.json (resize=scale, autoconnect, reconnect with 2s delay, shared) so every load behaves right without URL params, and viewers self-heal across pod restarts/wakes. Already applied live to the running pod; this makes it survive the next wake. --- stacks/android-emulator/docker/Dockerfile | 4 ++-- stacks/android-emulator/docker/entrypoint.sh | 11 +++++++++++ stacks/android-emulator/variables.tf | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/stacks/android-emulator/docker/Dockerfile b/stacks/android-emulator/docker/Dockerfile index 1de82e9a..762026c3 100644 --- a/stacks/android-emulator/docker/Dockerfile +++ b/stacks/android-emulator/docker/Dockerfile @@ -4,8 +4,8 @@ # cmdline-tools and the native libraries the emulator needs at runtime. # # Rebuild + push (rare — only when tool/library versions bump): -# docker build -t forgejo.viktorbarzin.me/viktor/android-emulator:api36-v6 . -# docker push forgejo.viktorbarzin.me/viktor/android-emulator:api36-v6 +# docker build -t forgejo.viktorbarzin.me/viktor/android-emulator:api36-v7 . +# docker push forgejo.viktorbarzin.me/viktor/android-emulator:api36-v7 FROM eclipse-temurin:17-jdk-jammy ENV DEBIAN_FRONTEND=noninteractive diff --git a/stacks/android-emulator/docker/entrypoint.sh b/stacks/android-emulator/docker/entrypoint.sh index 511d9bb0..c9390407 100644 --- a/stacks/android-emulator/docker/entrypoint.sh +++ b/stacks/android-emulator/docker/entrypoint.sh @@ -79,6 +79,17 @@ hw.keyboard=yes EOF fi +# --- noVNC defaults: scaled view, autoconnect, self-reconnect ---------------- +cat > /usr/share/novnc/defaults.json <<'JSON' +{ + "autoconnect": true, + "reconnect": true, + "reconnect_delay": 2000, + "resize": "scale", + "shared": true +} +JSON + # --- virtual display + browser viewing --------------------------------------- export DISPLAY=:0 Xvfb :0 -screen 0 "$SCREEN_GEOMETRY" -nolisten tcp & diff --git a/stacks/android-emulator/variables.tf b/stacks/android-emulator/variables.tf index 230384ca..70ffca04 100644 --- a/stacks/android-emulator/variables.tf +++ b/stacks/android-emulator/variables.tf @@ -5,6 +5,6 @@ variable "tls_secret_name" { variable "image_tag" { type = string - default = "api36-v6" + default = "api36-v7" description = "android-emulator image tag at forgejo.viktorbarzin.me/viktor/android-emulator. Built + pushed manually from stacks/android-emulator/docker/ (see README.md) — bump this when the image is rebuilt." }