Commit Graph
73 Commits
Author SHA1 Message Date
Raven Scott 637c386e33 Bring Back Realtime Table Stats 2026-08-04 22:37:41 -04:00
Raven Scott c5015a66e8 Alert System Changes: Fixes applied (feature kept, load bounded)
1. Removed docker.df() entirely
2. Poll only what rules need
   • docker_daemon → cheap ping
   • container_health / stack_health → listContainers
   • resource → host statfs only (no Docker)
   • Event-only rules → no poll timer
3. Poll floor 60s, default 120s (was 15s min / 60s default)
4. No overlapping polls (pollInFlight)
5. Event path: drop noisy actions (exec_*, attach, …), match only relevant rules, serialize work (bounded queue)
6. UI status shows whether poll is active
2026-08-04 22:13:20 -04:00
Raven Scott a9e2b54c70 EXPERIMENTAL: new stats logic 2026-08-04 21:47:32 -04:00
Raven Scott ab6cea96c7 Optimize Idle CPU/Dash 2026-08-04 21:04:55 -04:00
Raven Scott 26529e92c6 experimental: pop-out container terminals into dedicated windows
Pin PTY sessions to the peer they were opened on so shells survive
active-node switches until the window is closed. Electron host owns
the connection; pop-out windows relay I/O via IPC (BroadcastChannel
fallback). Explicit terminal sessionIds no longer wipe sibling PTYs
on the same container.
2026-07-29 06:34:13 -04:00
Raven Scott dff35affb7 Fix anonymous registry push X-Registry-Auth EOF error
Docker requires a valid X-Registry-Auth header on push; send empty
anonymous credentials for ttl.sh and other no-auth targets.
2026-07-18 08:07:56 -04:00
Raven Scott 7b5da2da86 Add ttl.sh as ephemeral anonymous push target
Expose ttl.sh in Flatten and Push Image target lists with TTL presets,
auto-retag to ttl.sh/name:duration, and skip vault auth for public temp pushes.
2026-07-18 07:49:33 -04:00
Raven Scott 8235a8a6c8 Fix flatten push auth by retargeting short names to vault registry
Private registry credentials were applied while pushing Docker Hub short
names. Auto-retag under the credential host and prefix the flattener repo.
2026-07-18 07:46:07 -04:00
Raven Scott e9fb26153a Add Container Flattener (export|import squash with job tray push)
Squash a container into a single-layer image from Manage → Flatten, with
repo/tag, pause, config re-apply, vault credentials, and optional registry push.
2026-07-18 07:31:58 -04:00
Raven Scott a6fea51eaf Expand Appearance settings with accents, scale, radius, and chrome
Add twelve accent colors with swatch picker, UI scale, corner radius,
and titlebar/sidebar chrome styles. Preferences live-apply and persist
in the settings cache for both dark and light themes.
2026-07-17 23:47:07 -04:00
Raven Scott a78ef40966 Speed up terminal shell selection with bash/sh/ash fast path
Try bash, sh, and ash first with a short alive-probe so common images
attach quickly; fall back to other shells and adaptive probes only after.
2026-07-17 22:59:58 -04:00
Raven Scott dc3d4ac872 Allow anonymous Docker Hub pulls without usable credentials
Only attach auth when username and password are complete and match the
image registry; retry anonymously if ambient auth fails on public pulls.
2026-07-17 20:07:02 -04:00
Raven Scott 5b8fb142bb Add experimental server alerts and webhook notifications
Server-side alerting for Docker/container/stack health with Discord,
Slack, Teams, ntfy, Gotify, Telegram, and generic webhooks. Settings
tab, client cache, and backup/restore coverage; marked experimental.
2026-07-17 18:10:43 -04:00
Raven Scott 366333e6bd Complete client backup and restore coverage
Include identity, backup policy, and notifications by default; deep-merge
nested settings; rehydrate UI/peers/filters after restore.
2026-07-17 17:48:08 -04:00
Raven Scott ec96356855 Persist remaining client state in disk cache files
Move templates, notifications, backups, table columns, peer envs, and
sidebar/first-connect prefs onto ~/.config/peardock/cache (settings.json
or dedicated JSON files) with legacy localStorage migration.
2026-07-17 17:41:11 -04:00
Raven Scott 49794febf8 Fix image push failing with tag:undefined under Bare
bare-querystring stringifies JS undefined as the literal "undefined", so
dockerode push options with tag: undefined made Docker look up
repo:undefined. Only pass defined push options, and fail the job when
Docker streams an error in the progress body.
2026-07-16 23:09:36 -04:00
Raven Scott bd512df950 Park source container on duplicate so host ports can be reused
When duplicating with the same host ports, stop+rename the origin, deploy
and verify the new container, then remove the parked source. Client
precheck ignores ports owned only by the origin to avoid false blocks.
2026-07-16 22:24:49 -04:00
Raven Scott 461a5498f9 Fix boot active-server selection and titlebar peer chip
Stop overwriting the header on every parallel restore connect; wait for
the last-used peer before falling back; avoid persisting temporary
active selection so the remembered server stays correct across restarts.
2026-07-16 19:20:02 -04:00
Raven Scott 3a2534c11c Fix light-mode terminal init blanking until theme toggle
Fill the details terminal host for FitAddon, wait for a measurable box
before starting the PTY, re-apply xterm palettes after open, and re-fit
on UI color-mode changes so light sessions paint without a dark/light flip.
2026-07-16 19:16:21 -04:00
Raven Scott f8ad7d5b6e Persist client settings to ~/.config/peardock/cache/settings.json
Store theme, density, and other prefs in a versioned JSON cache file
(matching peers.json) instead of localStorage-only, with migration and
a localStorage mirror for FOUC and legacy readers.
2026-07-16 18:52:57 -04:00
Raven Scott 0f59f01cf8 Polish light theme surfaces and add Jobs tray settings
Expand light-mode CSS for dashboard, details, terminals, job/pull progress, restoring boot card, and settings chrome. Add a Jobs tray settings tab for dismiss timing and reconnect feedback volume; auto terminal themes follow UI color mode when saved.
2026-07-16 17:33:23 -04:00
Raven Scott 3a3df4ec10 Add light mode theme setting and remove offline banner
Dark remains default; users can pick light or match system under Settings → Appearance. Drop the full-height connection-lost banner that stretched across the window.
2026-07-16 17:03:08 -04:00
Raven Scott f72a1d0a41 Keep offline peers on Fleet and add max reconnect tries setting
Fleet builds a roster from configured peers so hosts stay visible when
they drop (online / reconnecting / failed / offline). Settings → Behavior
adds max reconnect tries (1–8 or unlimited, default 8) wired into
ConnectionManager, with Retry connect to redial after the budget is spent.
2026-07-16 16:37:19 -04:00
Raven Scott 758b8b13f7 Fix client auto-reconnect when peer connections drop
Dead links now force disconnect after failed pings, failed dials keep
retrying every 5s, and the UI rebinds peers after a successful redial
instead of leaving the workspace stuck offline.
2026-07-16 16:28:29 -04:00
Raven Scott 4460f61f85 Add backups 2026-07-16 16:24:38 -04:00
Raven Scott 254310b495 Precheck deploy networking before container create
Validate port mappings for empty host ports, in-form duplicates,
privileged low ports, and peer-side host port conflicts. Runs on
template deploy, deploy view, and add-container before create RPC.
2026-07-16 14:39:19 -04:00
Raven Scott 67dffcadb8 Remove networks on compose down 2026-07-16 04:40:50 -04:00
Raven Scott 4bbbd45f42 Proper Template Support for Stacks 2026-07-16 04:09:50 -04:00
Raven Scott fb8f1c4fa4 Fix Template Parsing 2026-07-16 04:04:32 -04:00
Raven Scott bc6bd8eda3 Tray Updates Image Pulls 2026-07-16 03:55:43 -04:00
Raven Scott 645f025042 Fix Duplicate/Edit cloning (volumes/settings) and initial image update check. 2026-07-16 00:01:07 -04:00
Raven Scott 9775fe5305 Move Peers into Settings and add a full Registry browser tab.
Peers live under Settings; Images is local-only. Registry is a top-level view with vault credentials, Hub search, and Registry API V2 catalog/tags/manifest/delete over the wire.
2026-07-15 16:04:27 -04:00
Raven Scott 42f066fa47 Fix image update checks against registries on Bare.
Registry HTTP now sets host/hostname, disables keep-alive, and times out cleanly; resolve container image tags/digests more reliably and surface check errors in the UI.
2026-07-15 15:31:46 -04:00
Raven Scott a6925d337e Add container image update indicators.
Compare local RepoDigests to remote registry manifest digests, show status in the containers table Updates column, and support force recheck with vault credentials for private registries.
2026-07-15 15:05:04 -04:00
Raven Scott e51de4ad1d Add full registry manager and image pull/push with vault credentials.
Wire credential-aware pull/push, session auth, and an Images Registries tab for vault management.
2026-07-15 14:54:30 -04:00
Raven Scott 5e13fc0919 Add always-pull option to Duplicate/Edit container modal.
Match Add container so users can reuse a local image when duplicating.
2026-07-15 14:40:46 -04:00
Raven Scott b185ea7a55 Add container create page from the containers list with always-pull.
Adds a dedicated blank create form (name, image, always pull, ports,
auto-remove, advanced settings) separate from template Deploy, reuses
deployContainer with pull-if-missing and publish-all-ports support.
2026-07-15 14:27:05 -04:00
Raven Scott bbf0607aaf Fix container remove timeouts and make force-remove reliable.
Lifecycle RPCs now use a 120s operation timeout, remove cleans up
stats/terminal/log streams then SIGKILLs before force-remove, and the
UI awaits the request instead of a fragile 30s wait race.
2026-07-15 14:12:13 -04:00
Raven Scott f4a97aad2a Move away from Autopass for AlmaLInux Compatibility 2026-07-14 22:19:33 -04:00
Raven Scott c6557b487f Updates 2026-07-14 21:54:53 -04:00
Raven Scott 660d901386 Fix invite rotation after delete and add revoke list management.
Force-wipe AutoPass invite packages on create/delete so spent capabilities cannot poison new invites, clear stale grants on the client, and let admins unrevoke or clear revoked peers from Access.
2026-07-14 21:11:48 -04:00
Raven Scott f44419d5a7 Updates 2026-07-14 20:55:09 -04:00
Raven Scott cb0b59f5c3 Updates 2026-07-14 20:25:17 -04:00
Raven Scott bd460913bf OTA 2026-07-14 20:05:40 -04:00
Raven Scott ecafa4f22a updates 2026-07-14 20:04:49 -04:00
Raven Scott c818edac9d Secure connections with AutoPass invites, HMAC capabilities, and viewer default.
Default peers are read-only; admin requires seed proof and operators redeem AutoPass packages with signed grants. ACL UI and docs match the new trust model.
2026-07-14 19:38:53 -04:00
Raven Scott b2e04caabc Add advanced container stats tab with timeframes and I/O charts.
Expand server history samples with network/block rates and longer
retention, and rebuild the details Stats tab with live KPIs, 1m–30m
windows, auto-scale, pause, CSV export, and CPU/memory/net/disk charts.
2026-07-13 18:13:27 -04:00
Raven Scott 270b38af15 Fix terminal output on connection 2026-07-13 17:56:20 -04:00
Raven Scott 50c43ff2e9 Fix the termninal 2026-07-13 17:43:08 -04:00
Raven Scott 4d6777e765 Remove unused container deploy wizard step header
The Basics/Network/Volumes/Security/Review steps never advanced and only cluttered Container Configuration. Drop the strip, related CSS, and the structure test id.
2026-07-11 19:40:39 -04:00