Commit Graph
110 Commits
Author SHA1 Message Date
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 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 30f283394e Harden live server apply for alerts and peer roles
Flush alert config immediately, re-arm runtime without restart, and push
role updates to connected clients so ACL changes apply live.
2026-07-17 19:51:30 -04:00
Raven Scott e2fa2ff85a Apply all settings and alerts live without Save buttons
Auto-persist client preferences on change with footer feedback, and
apply server alert engine settings/channels/rules immediately.
2026-07-17 19:48:28 -04:00
Raven Scott f6f059ab94 Add remote registry repository delete
Delete all tags/manifests for a repository via Registry V2 digests, with
admin RPC, audit logging, and catalog/tags UI actions.
2026-07-17 19:43:53 -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 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 abc34b39d8 Restore and restart origin container when swap deploy fails
On duplicate/swap failure after parking, rename the origin back and start
it if it was running so a bad deploy does not leave the source offline.
2026-07-16 22:26:22 -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 55421cdecd Fix Terminal State! 2026-07-16 14:06:57 -04:00
Raven Scott 67dffcadb8 Remove networks on compose down 2026-07-16 04:40:50 -04:00
Raven Scott d697f6f90d Fix logs tab stuck on Loading after switching away and back. 2026-07-16 00:45:30 -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 b53f4a58b1 Fix stuck container remove with timed raw Docker stop/kill/delete. 2026-07-15 23:22:27 -04:00
Raven Scott afc10d1dbc Stop containers gracefully before remove instead of immediate SIGKILL. 2026-07-15 22:56:15 -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 e9e78f52c9 Fix registry vault KDF on Bare (no scryptSync).
bare-crypto lacks scrypt; derive vault keys with PBKDF2-SHA256 there, keep scrypt on Node, and record the KDF on encrypted blobs.
2026-07-15 15:22:53 -04:00
Raven Scott 53e6dd8853 Update 2026-07-15 15:08:55 -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 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 b76d5cc02c Stop AutoPass invites from silently connecting as viewer.
Force fresh capability auth after pairing, heal active grants stuck on the spent list, and fail closed when a grant is spent instead of falling back to bare viewer.
2026-07-14 21:41:26 -04:00
Raven Scott 0e07074291 Fix operator invite elevation and pair invite UI with capability grants.
Stop silently dropping failed capabilities (which forced viewer), log handshake role/auth, and show each AutoPass invite with its linked capability on one Access card.
2026-07-14 21:27:23 -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 6ff528f884 Update 2026-07-14 20:41:42 -04:00
Raven Scott d822152c7e Updates 2026-07-14 20:27:41 -04:00
Raven Scott cb0b59f5c3 Updates 2026-07-14 20:25:17 -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 b8bd4eb902 Strip ANSI sequences from container logs for clean display.
PM2 and similar tools emit VT100 color codes that browsers hide only
partially, leaving artifacts like [32m between table columns. Strip CSI/OSC
escapes when formatting log lines, and harden Docker multiplex demux on the
server so frames are not mis-parsed as text.
2026-07-13 18:53:17 -04:00
Raven Scott 5c16254ff4 Add Portainer-style container bulk actions and network manager.
Always show a containers action bar (start/stop/restart/pause/resume/kill/
recreate/remove/prune) driven by row selection via typed bulk RPC. Rebuild
the container Networking tab into a join/leave network manager with aliases
and optional static IPs, plus a clearer ports table.
2026-07-13 18:22:19 -04:00
Raven Scott 245d532efd Add Portainer-style container name replace on deploy.
When deploying a container whose name already exists, prompt to Replace
(stop and remove the old container) or Cancel. Server accepts replace:true
to perform the swap; clients pre-check names and retry on conflict races.
2026-07-13 18:16:54 -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 9680437fab Improve container details UX, dashboard shortcuts, and RPC rate limits.
Tighten container detail tabs into a fit-to-viewport layout with a richer
overview, debounced process filters, and a readable process table. Make
dashboard KPI cards navigate to resource views (with status filters that
reset on leave), and raise per-peer RPC limits so normal UI polling no
longer trips rate limiting.
2026-07-13 17:25:14 -04:00
Raven Scott 42a69c6dc7 Ship Track G UX, multi-shell terminals, Swarm default-on, install.peardock.boats
Probe bash/sh/ash and related shells until a container terminal works, enable Swarm APIs by default, add keyboard go-chords and appearance prefs, and point install docs at https://install.peardock.boats.
2026-07-11 18:06:46 -04:00
Raven Scott ac8419029d Fix CPU and memory usage display in containers table
Parse Docker stats streams as NDJSON so samples actually land, ship
memory limit for accurate bars, keep CPU/Memory columns visible with a
compact stacked meter, and match stats updates to table rows reliably.
2026-07-11 17:26:49 -04:00
Raven Scott 3fe050d7a6 Fix container start via raw empty-body Docker socket POST
dockerode/modem (and Bare HTTP shims) can still emit a non-empty start
body, which Engine API ≥1.24 rejects. Start/pause/unpause now write a
minimal HTTP request on the docker.sock with Content-Length: 0.
2026-07-11 17:04:28 -04:00
Raven Scott c49d7301d0 Stabilize multi-peer UI and fix container start API body
Keep the containers table scoped to the active peer with a merge store,
restore the last active server on boot with a restoring screen, start
containers without a Docker API body (v1.24+), and stop ⋮ menus from
sticking to the viewport bottom after refreshes.
2026-07-11 16:52:57 -04:00
Raven Scott 06022e6e90 Fix Holesail in Bare standalone via static import
createRequire(import.meta.url) could not resolve holesail inside the
packed app bundle even though holesail was embedded. Import holesail
statically so Bare resolution works; surface loadError in status banner.
2026-07-11 15:50:56 -04:00
Raven Scott 6bdb64b1fd Fix Bare Docker access: HTTP unix socket support for dockerode
bare-http1 ignores socketPath and always dials TCP localhost:80, so
dockerode got HTTP 301→HTTPS and TLS errors. Patch the Bare http Agent
to connect via bare-net IPC when socketPath is set, matching Node.
2026-07-11 15:46:46 -04:00
snxraven fa99bd8c6e Harden server logging and production boot experience
Replace ad-hoc console output with a structured logger (pretty/JSON,
levels, redaction, optional file rotation), a clean startup banner with
Docker/feature probes, graceful shutdown signals, and slow-RPC warnings.
2026-07-10 23:59:13 -04:00
snxraven 2b6cfc644f Complete Track F optional Docker/Portainer ops items
Implement volume browse, stack env file, service scale, create
secret/config, disconnect network, registry Hub search, server
schedules, resource editor, and fleet environment tags. Mark roadmap
Tracks A–F complete.
2026-07-10 23:52:26 -04:00