Commit Graph

9 Commits

Author SHA1 Message Date
Alejandro Gutiérrez
e4e5cc97d3 Deep-link Dozzle logs button to specific container
The discover API now fetches container names from Docker via the Python
API on port 9876 and matches them to services by UUID. The Dozzle logs
button builds a proper deep link using the Dozzle host ID and container
name, opening directly to that container's log stream.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 01:17:46 +01:00
Alejandro Gutiérrez
68649b0073 Add Dozzle logs button to service card footer
Adds a scroll-text icon button between the web link and Coolify link
that opens Dozzle for viewing container logs.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 01:01:19 +01:00
Alejandro Gutiérrez
1a5be27a17 Redesign ServiceCard: card body is informational, links in footer
The card body no longer wraps in an <a> tag. Instead, the footer has
explicit icon buttons: external-link for the web URL, settings gear for
Coolify management, with a divider before start/stop/restart controls.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 00:52:50 +01:00
Alejandro Gutiérrez
5fd10819e4 Add Coolify management links to service cards and overview chips
Each discovered service now shows a settings gear icon linking to its
Coolify management page alongside the existing web URL link.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 00:51:42 +01:00
Alejandro Gutiérrez
eda6d956b2 Redesign ServiceCard: state-driven controls with visual indicators
- Color-coded left border: green=running, red=stopped, grey=unknown
- Status pill with icon: "Running" (green), "Stopped" (red), etc.
- Stopped cards appear muted (75% opacity), recover on hover
- Running: restart (↻) + stop (⏻) icon buttons, stop needs confirm
- Stopped: prominent green play (▶) button
- Loading state: spinner replaces controls with "Processing..."
- Added coolify.ts lib and config.ts for shared Coolify API access
- No pause support (Coolify API doesn't expose docker pause)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 00:37:05 +01:00
Alejandro Gutiérrez
14fc608754 Add restart/stop controls to every ServiceCard on Services tab
Running services show Restart and Stop buttons. Stopped/unknown show
Start button. Stop requires double-click confirmation (3s timeout).
Card restructured from <a> wrapper to <div> with nested <a> for the
link area, so buttons can coexist without nesting issues.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 23:58:17 +01:00
Alejandro Gutiérrez
d70f7a902f Add auto-discovery services tab using Coolify API
Replace static services list with dynamic discovery from Coolify's
server resources API. Services are auto-categorized using a registry
of known service names mapped to icons and categories. Falls back to
static list with health checks when Coolify is unreachable.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 21:28:02 +01:00
Alejandro Gutiérrez
331441b57e Add subtle shadow and reduce border intensity on cards
- Add shadow-sm to ServiceCard, BookmarkCard, and Settings card
- Reduce border opacity: slate-100 (light) / stone-700/50 (dark)
- Lighter hover states for a softer look

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 00:19:15 +00:00
Alejandro Gutiérrez
1a7a0ed4d3 Initial NUC Portal dashboard
- 17 internal services with live health status
- 28 external bookmarks organized by category
- Dark/light mode toggle with persistence
- Cmd+K search filtering
- Health API polling every 30 seconds

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 22:52:38 +00:00