fix: netavark GLIBC mismatch in ISO, container adopt, app updates

ISO build no longer copies netavark from build host (Debian 13/GLIBC 2.41)
which broke container networking on Debian 12 targets. Rootfs already
installs netavark from Debian 12 repos — just configure the backend.

Install RPC now adopts existing containers (from first-boot) instead of
erroring on duplicates. Container scanner extracts real versions from
image tags and detects available updates against pinned versions.

Frontend shows update button with version info when updates are available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-04-09 11:47:35 +02:00
co-authored by Claude Opus 4.6
parent b94e1aa135
commit 56e04a9df8
21 changed files with 830 additions and 66 deletions
+1
View File
@@ -59,6 +59,7 @@ export const useAppStore = defineStore('app', () => {
startPackage: server.startPackage,
stopPackage: server.stopPackage,
restartPackage: server.restartPackage,
updatePackage: server.updatePackage,
updateServer: server.updateServer,
restartServer: server.restartServer,
shutdownServer: server.shutdownServer,
+6 -1
View File
@@ -17,7 +17,7 @@ export const useServerStore = defineStore('server', () => {
watch(() => sync.packages, (packages) => {
if (!packages) return
for (const [appId, pkg] of Object.entries(packages)) {
if ((pkg.state as string) === 'installing') {
if ((pkg.state as string) === 'installing' || (pkg.state as string) === 'updating') {
// Backend confirms it's installing — update or create tracking entry
if (!installingApps.value.has(appId)) {
installingApps.value.set(appId, {
@@ -121,6 +121,10 @@ export const useServerStore = defineStore('server', () => {
return rpcClient.restartPackage(id)
}
async function updatePackage(id: string): Promise<{ status: string }> {
return rpcClient.updatePackage(id)
}
// Server actions
async function updateServer(marketplaceUrl: string): Promise<'updating' | 'no-updates'> {
return rpcClient.updateServer(marketplaceUrl)
@@ -169,6 +173,7 @@ export const useServerStore = defineStore('server', () => {
startPackage,
stopPackage,
restartPackage,
updatePackage,
updateServer,
restartServer,
shutdownServer,