100 Commits
Author SHA1 Message Date
Amir Raminfar b2982e80cf docs: give Dozzle Cloud its own section, move dtop and alerts (#5044) 2026-09-07 20:24:35 -07:00
Amir RaminfarandClaude Opus 5 333f7a5b86 feat(auth): sign in with GitHub and OIDC 🥳 (#5043)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 19:42:59 -07:00
Amir RaminfarandClaude Opus 5 780c279aaf feat: Redesign the live log indicator bar (#5042)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 15:40:14 -07:00
Amir RaminfarandClaude Opus 5 d77a7ccff7 fix(cloud): min_level=disabled should not also stop metrics (#5041)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 21:55:43 +00:00
Amir RaminfarandClaude Opus 5 720ef136e9 fix(logs): stop merged log stream from deadlocking the container store (#5039)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 21:13:41 +00:00
Amir RaminfarandClaude Opus 5 cbd1084e71 perf(ci): persist the Go build cache across container builds (#5033)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-06 07:21:21 -07:00
Amir Raminfar 0adb8bd45c chore: release v10.10.0 2026-09-06 07:03:36 -07:00
Amir RaminfarandClaude Opus 5 3297713c63 fix(ui): stop the alert form from jumping while previews load (#5032)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-06 06:45:37 -07:00
Amir RaminfarandClaude Opus 5 50a14311e7 ci: run pnpm dedupe on renovate updates (#5031)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-06 06:41:31 -07:00
Amir RaminfarandClaude Opus 5 b81c483c59 perf(ui): stop duplicating the cloud config and status requests (#5030)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-06 13:32:47 +00:00
Amir RaminfarandClaude Opus 5 02a3e78469 fix(ui): tint the notification bell with the log level (#5029)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-06 13:30:03 +00:00
Amir RaminfarandClaude Opus 5 56d109d4b6 perf(ui): stop refetching dispatchers per alert card (#5028)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-06 13:29:06 +00:00
Amir Raminfar b570b14b02 perf(ui): prefetch route chunks once the app is idle (#5027) 2026-09-05 21:41:19 -07:00
Amir RaminfarandClaude Opus 5 5b14626ace docs: translate the site into zh, de, fr and es (#5025)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-05 20:35:12 -07:00
Amir RaminfarandClaude Opus 5 7ac348e055 docs: fix incorrect docs and drop stale content (#5024)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-05 20:35:12 -07:00
Amir RaminfarandClaude Opus 5 7cd703b6e9 fix(ui): unwrap the link hint popover and unify the mono font (#5023)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-06 02:13:50 +00:00
Amir RaminfarandClaude Opus 5 81c3e30152 refactor: remove native compose deploy feature (#5022)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-06 01:56:14 +00:00
Amir RaminfarandClaude Opus 5 49d7954190 fix(notifications): polish the alert and destination cards (#5021)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-05 18:48:50 -07:00
Amir RaminfarandClaude Opus 5 8e8f9db446 feat(notifications): rebuild the alert and destination workflows (#5020)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-06 01:04:14 +00:00
Amir RaminfarandClaude Opus 5 c5fbdf404b fix(docker): skip pnpm version switch during offline install (#5019)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-06 00:21:00 +00:00
Amir Raminfar 07cc4404d1 chore: updates pnpm files 2026-09-05 17:07:57 -07:00
Amir RaminfarandClaude Opus 5 59bcc18495 perf: cut first-load cost and precompress assets at build time (#5018)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-06 00:03:36 +00:00
Amir RaminfarandClaude Opus 5 52b39ee068 feat(ui): make the same-name container dropdown readable (#5015)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-05 23:02:03 +00:00
Amir RaminfarandClaude Opus 5 ac9a9097bd fix(web): link every stylesheet the entry chunk depends on (#5014)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-05 23:01:58 +00:00
Amir Raminfar 2e8ff49651 ci: auto-comment the pr-XXX image tag on PRs and linked issues (#5013) 2026-09-05 14:35:16 -07:00
Amir RaminfarandClaude Opus 5 5b8ce5f065 feat(ui): show link hint on the dashboard too (#5012)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-05 20:28:24 +00:00
Amir RaminfarandClaude Opus 5 e214d607b4 fix(events): stop containers from getting stuck after a restart (#5011)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-05 20:12:34 +00:00
Amir RaminfarandClaude Opus 5 e9b2f7065c feat(ui): pro badge, icon button animations, splitpanes nav fixes (#5009)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-05 13:08:03 -07:00
Amir RaminfarandClaude Opus 5 3168aa0b85 fix(ui): stop truncating container names that fit (#5010)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-05 13:07:51 -07:00
Amir RaminfarandClaude Opus 5 5d60e7fae2 feat(ui): suggest dev.dozzle.url from traefik router labels (#5008)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-05 11:27:27 -07:00
Amir RaminfarandClaude Opus 5 a0c1a53d61 feat(ui): dev.dozzle.url label to link a container to its own web UI (#5004)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-05 14:52:50 +00:00
Amir RaminfarandClaude Opus 5 098606870b feat(logs): add download JSON button to log details (#5005)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-05 14:45:54 +00:00
Amir Raminfar ca54a13e6e chore: release v10.9.2 2026-09-04 14:55:28 -07:00
Amir RaminfarandClaude Opus 5 c838ebd360 feat(cloud): report what kind of process this is, and tell agents about streamLogs (#4996)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-04 21:54:51 +00:00
Amir Raminfar fed01ebc28 chore: release v10.9.1 2026-09-04 08:40:35 -07:00
Amir RaminfarandClaude Opus 5 934afcb555 fix(ui): share useColorMode and the relative-time tick instead of one per component (#4994)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-03 23:44:17 +00:00
Amir RaminfarandClaude Opus 5 bf9d6d41f2 fix(cloud): report remote agents to Dozzle Cloud (#4993)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-03 16:43:19 -07:00
Amir Raminfar 6a88871a8d chore: updates gitignore 2026-09-02 09:01:03 -07:00
Amir RaminfarandClaude Opus 5 2879bf965b fix(auth): resolve roles from users.yml instead of the JWT claim (#4983)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-02 08:37:46 -07:00
Amir RaminfarandClaude Opus 5 2a6edf52dc feat(ui): add loading skeletons to the container table (#4982)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-02 15:06:53 +00:00
Amir Raminfar 3b278f935f perf: shrink entry bundle from 628 kB to 85 kB (#4980) 2026-09-01 20:45:42 -07:00
Amir Raminfar 5dba2be0c3 chore: release v10.9.0 2026-09-01 17:33:11 -07:00
Amir RaminfarandClaude Opus 5 89e9794c96 fix(auth): restore permissions for sessions minted before roles existed (#4979)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-02 00:29:27 +00:00
Amir RaminfarandClaude Opus 5 abb141a0cf refactor: give every setting a description and drop the card outlines (#4977)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-01 17:07:03 -07:00
Amir RaminfarandClaude Opus 5 49dce121be feat: show app icons for well known container images (#4976)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-01 17:07:02 -07:00
Amir RaminfarandClaude Opus 5 1ec2699260 feat: check for newer container images and prompt to update (#4973)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-01 12:33:31 -07:00
Amir RaminfarandClaude Opus 5 949cf7daa9 fix(notification): name the signal behind a container's exit code (#4975)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-01 19:12:15 +00:00
Amir RaminfarandClaude Opus 5 75a0367051 docs: drop compose deployments note from actions page (#4974)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-09-01 08:32:31 -07:00
Amir RaminfarandClaude Opus 5 43d8be8f1c fix(deps): actually migrate releases to goldmark v2
v2 was added to go.mod but the code still imported v1, so v1 stayed a
direct dependency and renovate kept reopening the major bump. v2 removed
the top-level Convert, so use parser + html renderer directly.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UYTSyPzuMMzuaxgGShHdL4
2026-08-31 12:05:04 -07:00
Amir RaminfarandClaude Opus 5 db80ba682e fix(ui): restore log header on notched phones and widen mobile container names (#4972)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-31 11:51:50 -07:00
Amir Raminfar f9dc18a0aa chore: release v10.8.0 2026-08-30 18:44:22 -07:00
Amir RaminfarandClaude Opus 5 0cd356942b feat(ui): rebuild cloud welcome modal around the daily scan (#4967)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 01:36:47 +00:00
Amir RaminfarandClaude Opus 5 4d738904e3 feat(ui): single status icon in sidebar container list (#4968)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-30 17:48:49 -07:00
Amir Raminfar 3b6b388355 feat(ui): show stopped containers on dashboard (#4966) 2026-08-29 19:53:12 -07:00
Amir RaminfarandClaude Opus 5 86ad7d639d feat(ui): move status icon next to container name (#4961)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-28 18:39:33 +00:00
Amir Raminfar 080130f7e5 chore: release v10.7.5 2026-08-28 08:35:25 -07:00
Amir RaminfarandClaude Opus 5 3794a3b637 fix(cloud): gate cloud endpoints behind a new cloud role (#4960)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-28 14:08:38 +00:00
Amir RaminfarandClaude Opus 5 bed7e7a226 feat(auth): support excluding roles with ^ prefix (#4959)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-28 13:58:01 +00:00
Amir RaminfarandClaude Opus 5 9bb8b3ae2b fix(security)!: scope cloud search, alerts and debug to user labels, add notifications role (#4951)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-26 14:57:39 -07:00
Amir RaminfarandClaude Opus 5 4bff12c46e fix(security): apply user label filter to notification preview (#4950)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-26 14:57:39 -07:00
Amir RaminfarandClaude Opus 5 c2d2623bb2 feat(ui): show health status in container table (#4949)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-25 15:50:22 -07:00
Amir Raminfar c374e78638 chore: release v10.7.4 2026-08-23 08:56:28 -07:00
Amir RaminfarandClaude Opus 5 ae7a42e172 fix(logs): guess levels for "::INFO::" and signale style lines (#4941)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 08:53:52 -07:00
Amir RaminfarandClaude Opus 5 017690da99 refactor: adopt go 1.27 idioms (#4935)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-20 12:17:04 -07:00
Amir RaminfarandClaude Opus 5 f18e4489f8 chore(deps): pin typescript to typescript-native-bridge 6.0.3-bridge.13 (#4932)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-20 07:30:24 -07:00
Amir Raminfar a9138bbd4c chore: release v10.7.3 2026-08-19 07:07:09 -07:00
Amir RaminfarandClaude Opus 5 f96bd973bf fix(logs): stop logging client disconnects as stream errors (#4931)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-18 15:58:17 -07:00
Amir RaminfarandClaude Opus 5 786b060c64 fix(logs): keep event badges through the viewer's re-clone (#4930)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-18 07:37:56 -07:00
Amir RaminfarandClaude Opus 5 43aa003a1b ci: fix broken Go cache and drop redundant protoc install (#4926)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-17 19:51:11 +00:00
Amir RaminfarandClaude Opus 5 fa1d2a220c fix(logs): show cloud alerts in the historical log view (#4925)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-17 17:04:07 +00:00
Amir RaminfarandClaude Opus 5 11d2894f04 refactor(cloud): treat alert ids as opaque strings (#4924)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 19:35:15 -07:00
Amir RaminfarandClaude Opus 5 82dea58f40 perf(logs): poll Cloud for alerts on a timer, not on every log line (#4921)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 19:15:43 -07:00
Amir RaminfarandClaude Opus 5 304c0c027e fix(logs): correct the alert row, and badge the events behind it (#4920)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 19:15:43 -07:00
Amir RaminfarandClaude Opus 5 dceeb6cf97 fix(logs): re-enable copy actions in the log context menu (#4919)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 22:43:26 +00:00
Amir RaminfarandClaude Opus 5 2b781926a0 feat(logs): mark alerts in the scroll gutter (#4917)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 15:09:04 -07:00
Amir RaminfarandClaude Opus 5 4f21a44b4b feat(logs): show how long an alert's incident kept firing (#4916)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 15:09:03 -07:00
Amir RaminfarandClaude Opus 5 4b7b3d2221 feat(logs): merge Dozzle Cloud alerts into the log stream (#4915)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 15:09:03 -07:00
Amir RaminfarandClaude Opus 5 13270eed8b feat(cloud): proxy alert history to the local web layer (#4914)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 15:03:33 -07:00
Amir RaminfarandClaude Opus 5 0d03442e58 feat(cloud): add GetAlerts to the cloud tool service (#4913)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 14:53:33 -07:00
Amir Raminfar edb3421d74 chore: release v10.7.2 2026-08-15 11:35:03 -07:00
Amir RaminfarandClaude Opus 5 2b49998a60 feat(cloud): stream windowed container metrics to Dozzle Cloud (#4911)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 10:16:30 -07:00
Amir RaminfarandClaude Opus 5 be30692e62 fix: don't log an error when docker events listener exits cleanly (#4907)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 12:56:54 -07:00
Amir RaminfarandClaude Opus 5 b944b52495 feat: Prompt to reload when the UI is older than the server (#4904)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-11 11:03:11 -07:00
Amir RaminfarandClaude Opus 5 893aa23ee0 docs: polish hero mock and add icons to hero buttons
Make the hero mock non-selectable and non-interactive so it reads as an
image rather than a web page. Animate the CPU, memory and network readouts
by scrolling a window across a fixed deterministic series, which keeps SSR
and hydration identical while looking live. Match the container name chip
to the real btn-sm height, and give the hero action buttons rocket and
GitHub icons.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 15:09:26 -07:00
Amir Raminfar 68d8e4c50c docs: updates homepage 2026-08-09 14:58:38 -07:00
Amir Raminfar 4f6dfd3588 chore: release v10.7.1 2026-08-09 13:06:43 -07:00
Amir RaminfarandClaude Opus 5 6573887045 fix: stop alpine build from overwriting the latest tag (#4902)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 13:06:29 -07:00
Amir Raminfar cee383da8e chore: release v10.7.0 2026-08-09 12:44:10 -07:00
Amir Raminfar 38ac279b7e chore: updates protoc 2026-08-08 20:35:22 -07:00
Amir RaminfarandClaude Opus 5 cea3d13e93 feat: publish optional alpine image variant (#4900)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 16:14:32 +00:00
Amir RaminfarandClaude Opus 5 770dcbbfde ci: group and automerge github action digest updates (#4899)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 15:56:37 +00:00
Amir Raminfar 6f28474d46 chore: release v10.6.15 2026-08-07 10:01:10 -07:00
Amir Raminfar a25c379771 chore: updates d files 2026-08-07 10:00:54 -07:00
Amir Raminfar 7aa449d77c chore: updates d files 2026-08-07 10:00:34 -07:00
Amir Raminfar 8e39e35127 fix(cloud): stream logs from the container start (#4895) 2026-08-07 16:43:38 +00:00
Amir RaminfarandClaude Opus 5 8358b98111 chore: use import.meta.dirname in vite configs (#4891)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-05 23:20:53 +00:00
Amir Raminfar 8cf7ccd5ee fix(security): block IPv6 transition addresses in webhook SSRF guard (#4887) 2026-08-04 12:33:51 -07:00
Amir Raminfar c159db5f0b chore: release v10.6.14 2026-07-30 10:36:35 -07:00
Amir Raminfar a18edf03ec chore: release v10.6.13 2026-07-30 10:36:13 -07:00
Amir RaminfarandClaude Opus 5 18acf6722b test(e2e): assert static assets resolve under a custom base path (#4880)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 07:20:19 -07:00