chore: release version 3.4.1 [version-bump]

Stable hotfix for betterdesk.sh Console start after GitHub update (Refs #306).
This commit is contained in:
UNITRONIX
2026-07-25 08:13:10 +02:00
parent f624b3878b
commit eeb201981e
19 changed files with 36 additions and 28 deletions
+8
View File
@@ -1,5 +1,12 @@
## [Unreleased]
### Changed
- _(none yet)_
---
## [3.4.1] — 2026-07-25
### Fixed
- **`betterdesk.sh` Online GitHub update leaves Console inactive (#306):** `start_services_with_verification` no longer aborts under `set -e` when `sqlite3` API-key sync fails after Go start; Console always gets `systemctl start`/`restart`, and update no longer prints success when `betterdesk-console` is not Active. Ships via installer script / next stable hotfix (not panel-only). Verify: Update → Online update from GitHub → `systemctl is-active betterdesk-console` is `active` without a manual start.
@@ -2303,3 +2310,4 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
[3.3.173]: https://github.com/UNITRONIX/BetterDesk/compare/v3.3.172...v3.3.173
[3.3.174]: https://github.com/UNITRONIX/BetterDesk/compare/v3.3.173...v3.3.174
[3.4.0]: https://github.com/UNITRONIX/BetterDesk/compare/v3.3.174...v3.4.0
[3.4.1]: https://github.com/UNITRONIX/BetterDesk/compare/v3.4.0...v3.4.1
+1 -1
View File
@@ -55,7 +55,7 @@ FROM node:20-alpine
LABEL maintainer="UNITRONIX"
LABEL description="BetterDesk — All-in-One (Go Server + Node.js Console)"
LABEL version="3.4.0"
LABEL version="3.4.1"
# Install runtime packages (retry for transient DNS failures)
RUN apk add --no-cache \
+1 -1
View File
@@ -25,7 +25,7 @@ FROM node:20-alpine
LABEL maintainer="UNITRONIX"
LABEL description="BetterDesk Console - Web Management Panel"
LABEL version="3.4.0"
LABEL version="3.4.1"
WORKDIR /app
+1 -1
View File
@@ -34,7 +34,7 @@ FROM alpine:3.20
LABEL maintainer="UNITRONIX"
LABEL description="BetterDesk Server - RustDesk-compatible signal + relay"
LABEL version="3.4.0"
LABEL version="3.4.1"
RUN apk add --no-cache \
ca-certificates \
+1 -1
View File
@@ -9,7 +9,7 @@
![License](https://img.shields.io/badge/license-AGPL--3.0-blue.svg)
![Go](https://img.shields.io/badge/Go-1.21+-00ADD8.svg)
![Node.js](https://img.shields.io/badge/Node.js-18+-339933.svg)
![Version](https://img.shields.io/badge/version-3.4.0-brightgreen.svg)
![Version](https://img.shields.io/badge/version-3.4.1-brightgreen.svg)
![Security](https://img.shields.io/badge/Security-TLS%20%2B%20NaCl%20%2B%20TOTP%20%2B%20E2EE-green.svg)
![Database](https://img.shields.io/badge/DB-SQLite%20%2B%20PostgreSQL-blue.svg)
![CDAP](https://img.shields.io/badge/CDAP-v1.0-orange.svg)
+1 -1
View File
@@ -1 +1 @@
3.4.0
3.4.1
+2 -2
View File
@@ -1,7 +1,7 @@
#!/bin/bash
#===============================================================================
#
# BetterDesk Console Manager v3.4.0
# BetterDesk Console Manager v3.4.1
# All-in-One Interactive Tool for Docker
#
# Features:
@@ -28,7 +28,7 @@
set -e
# Version
VERSION="3.4.0"
VERSION="3.4.1"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Default paths (can be overridden by environment variables)
+1 -1
View File
@@ -1 +1 @@
3.4.0
3.4.1
@@ -1 +1 @@
3.4.0
3.4.1
+2 -2
View File
@@ -1,7 +1,7 @@
#Requires -RunAsAdministrator
<#
.SYNOPSIS
BetterDesk Console Manager v3.4.0 - All-in-One Interactive Tool for Windows
BetterDesk Console Manager v3.4.1 - All-in-One Interactive Tool for Windows
.DESCRIPTION
Features:
@@ -102,7 +102,7 @@ param(
# Configuration
#===============================================================================
$script:VERSION = "3.4.0"
$script:VERSION = "3.4.1"
$script:ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
# Auto mode flags
+2 -2
View File
@@ -1,7 +1,7 @@
#!/bin/bash
#===============================================================================
#
# BetterDesk Console Manager v3.4.0
# BetterDesk Console Manager v3.4.1
# All-in-One Interactive Tool for Linux
#
# Features:
@@ -36,7 +36,7 @@
set -e
# Version
VERSION="3.4.0"
VERSION="3.4.1"
# Bump when installer control-flow changes must apply mid-session after Update (#219).
BETTERDESK_SH_REVISION="20260725-console-start-306"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+3 -3
View File
@@ -34,7 +34,7 @@
services:
server:
image: ghcr.io/unitronix/betterdesk-server:${BETTERDESK_IMAGE_TAG:-3.4.0}
image: ghcr.io/unitronix/betterdesk-server:${BETTERDESK_IMAGE_TAG:-3.4.1}
container_name: betterdesk-server
hostname: betterdesk-server
command: ["/usr/local/bin/betterdesk-server", "-mode", "all", "-api-port", "21114", "-key-file", "/opt/rustdesk/id_ed25519"]
@@ -73,7 +73,7 @@ services:
start_period: 60s
console:
image: ghcr.io/unitronix/betterdesk-console:${BETTERDESK_IMAGE_TAG:-3.4.0}
image: ghcr.io/unitronix/betterdesk-console:${BETTERDESK_IMAGE_TAG:-3.4.1}
container_name: betterdesk-console
# Shares server network stack — panel and RustDesk ports use MACVLAN_IPV4.
network_mode: service:server
@@ -110,7 +110,7 @@ services:
- DOCKER=true
- BETTERDESK_UPDATE_MODE=image
- BETTERDESK_DOCKER_LAYOUT=split
- BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.4.0}
- BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.4.1}
- TZ=${TZ:-UTC}
depends_on:
# service_started (not healthy): avoids deadlock with auth.db on first boot (#138, #186).
+2 -2
View File
@@ -32,7 +32,7 @@
services:
betterdesk:
image: ghcr.io/unitronix/betterdesk:${BETTERDESK_IMAGE_TAG:-3.4.0}
image: ghcr.io/unitronix/betterdesk:${BETTERDESK_IMAGE_TAG:-3.4.1}
container_name: betterdesk
hostname: betterdesk
volumes:
@@ -56,7 +56,7 @@ services:
- DOCKER=true
- BETTERDESK_UPDATE_MODE=image
- BETTERDESK_DOCKER_LAYOUT=single
- BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.4.0}
- BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.4.1}
- AUTH_DB_PATH=/app/data/auth.db
- INIT_ADMIN_USER=${ADMIN_USERNAME:-admin}
- INIT_ADMIN_PASS=${ADMIN_PASSWORD:-}
+2 -2
View File
@@ -35,7 +35,7 @@
services:
betterdesk:
image: ghcr.io/unitronix/betterdesk:${BETTERDESK_IMAGE_TAG:-3.4.0}
image: ghcr.io/unitronix/betterdesk:${BETTERDESK_IMAGE_TAG:-3.4.1}
container_name: betterdesk
hostname: betterdesk
ports:
@@ -75,7 +75,7 @@ services:
- DOCKER=true
- BETTERDESK_UPDATE_MODE=image
- BETTERDESK_DOCKER_LAYOUT=single
- BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.4.0}
- BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.4.1}
- DB_TYPE=${DB_TYPE:-sqlite}
- DATABASE_URL=${DATABASE_URL:-}
- DB_URL=${DATABASE_URL:-}
+3 -3
View File
@@ -38,7 +38,7 @@
services:
# BetterDesk Server (Go) — handles signal, relay, and API
server:
image: ghcr.io/unitronix/betterdesk-server:${BETTERDESK_IMAGE_TAG:-3.4.0}
image: ghcr.io/unitronix/betterdesk-server:${BETTERDESK_IMAGE_TAG:-3.4.1}
container_name: betterdesk-server
hostname: betterdesk-server
command: ["/usr/local/bin/betterdesk-server", "-mode", "all", "-api-port", "21114", "-key-file", "/opt/rustdesk/id_ed25519"]
@@ -93,7 +93,7 @@ services:
# BetterDesk Console — Web Management Interface
console:
image: ghcr.io/unitronix/betterdesk-console:${BETTERDESK_IMAGE_TAG:-3.4.0}
image: ghcr.io/unitronix/betterdesk-console:${BETTERDESK_IMAGE_TAG:-3.4.1}
container_name: betterdesk-console
hostname: betterdesk-console
ports:
@@ -130,7 +130,7 @@ services:
- DOCKER=true
- BETTERDESK_UPDATE_MODE=image
- BETTERDESK_DOCKER_LAYOUT=split
- BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.4.0}
- BETTERDESK_IMAGE_TAG=${BETTERDESK_IMAGE_TAG:-3.4.1}
networks:
- betterdesk-net
depends_on:
+1 -1
View File
@@ -8,7 +8,7 @@ set -e
echo "========================================"
echo " BetterDesk Console - Container Startup"
echo " Version: ${BETTERDESK_IMAGE_VERSION:-3.4.0} (Node.js)"
echo " Version: ${BETTERDESK_IMAGE_VERSION:-3.4.1} (Node.js)"
echo "========================================"
# Public Docker examples use ADMIN_*; the Node.js console seeds from DEFAULT_ADMIN_*.
+1 -1
View File
@@ -5,7 +5,7 @@ set -e
echo "========================================"
echo " BetterDesk All-in-One Container"
echo " Version: ${BETTERDESK_IMAGE_VERSION:-3.4.0}"
echo " Version: ${BETTERDESK_IMAGE_VERSION:-3.4.1}"
echo "========================================"
echo ""
echo "Components:"
+2 -2
View File
@@ -15,7 +15,7 @@
# --docker | --native Installation mode (default: docker)
# --split Legacy two-container layout (server + console images)
# --install-dir PATH Install directory (default: /opt/betterdesk)
# --version TAG Docker image tag / release baseline (default: 3.4.0)
# --version TAG Docker image tag / release baseline (default: 3.4.1)
# --branch BRANCH Git branch for native install (default: main)
# --relay-mode auto|local|public Relay auto-detection strategy
# --relay-servers IP[:port] Fixed relay address (overrides --relay-mode)
@@ -39,7 +39,7 @@ set -euo pipefail
VERSION="1.0.0"
BETTERDESK_REPO="${BETTERDESK_REPO:-UNITRONIX/BetterDesk}"
BETTERDESK_BRANCH="${BETTERDESK_BRANCH:-main}"
BETTERDESK_VERSION="${BETTERDESK_VERSION:-3.4.0}"
BETTERDESK_VERSION="${BETTERDESK_VERSION:-3.4.1}"
BETTERDESK_RAW_BASE="${BETTERDESK_RAW_BASE:-https://raw.githubusercontent.com/${BETTERDESK_REPO}/${BETTERDESK_BRANCH}}"
INSTALL_DIR="${INSTALL_DIR:-/opt/betterdesk}"
INSTALL_MODE="docker"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "betterdesk-console",
"version": "3.4.0",
"version": "3.4.1",
"description": "BetterDesk Console - Professional Web Management Panel for BetterDesk Server",
"main": "server.js",
"scripts": {