Conversation
Show a compact indicator in the sidebar header whenever one or more services are deploying (status "running"), covering applications, compose and databases. A single active deployment links straight to the service; multiple open a dropdown listing service, project / environment and elapsed time. The organization switcher also shows a per-organization count of deploying services. - overview.services accepts an optional status filter so the indicator only fetches deploying services - new overview.activeDeploymentsByOrganization, permission-checked per organization membership - extract OverviewServiceIcon from the overview table for reuse Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- API-key requests are scoped to the key's organization, so activeDeploymentsByOrganization no longer enumerates the key owner's other memberships - count deploying services with count(*) instead of loading full overview rows just to read their length - link application/compose to the deployments tab only when the user has deployment.read; otherwise fall back to the service page Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds an Active Deployments indicator to the sidebar so users can see at a glance when something is deploying and jump straight to it, without leaving the page they are on.
Why
applicationStatusinstead of thedeploymenttableOnly applications and compose create rows in
deployment; databases (postgres, mysql, mariadb, mongo, redis, libsql) don't. TheapplicationStatus/composeStatuscolumn is the one signal shared by all eight service types and is already what the Overview page uses — it only holdsrunningwhile a deploy is in progress (labelled "Deploying" there). Using it means the indicator covers database deploys too and never double-counts a service.Changes
packages/server/src/services/overview.ts—getAllServicesForOrganizationaccepts an optionalstatusfilter (applied per service type insidegetServicesOfType).apps/dokploy/server/api/routers/overview.tsoverview.servicesaccepts an optional{ status }input (backward compatible; existing callers pass nothing).overview.activeDeploymentsByOrganization: for every organization the user belongs to, checksservice:readwith that organization's membership, appliesaccessedServicesfor non-owner/admin members, and returns{ [organizationId]: count }.apps/dokploy/components/layouts/active-deployments.tsx— the indicator (new).apps/dokploy/components/layouts/side.tsx— mounts the indicator; per-organization badge in the organization switcher.apps/dokploy/components/dashboard/overview/show-overview-services.tsx— extracts the existing icon logic intoOverviewServiceIconso it can be reused (no behaviour change).No new dependencies, no schema/migration changes.
Updates
Dokploy has no status subscription channel (websockets are only used for log streaming), so this follows the existing React Query polling pattern:
overview.services({ status: "running" }), 3 s while something is deploying, 10 s when idle. Disabled entirely withoutservice:read.overview.activeDeploymentsByOrganization, fetched only while the organization popover is open (5 s), so there is no extra background polling.Authorization
overview.serviceskeepswithPermission("service", "read")and the memberaccessedServicesscoping.activeDeploymentsByOrganizationevaluates permissions per organization viahasPermissionwith that org'sactiveOrganizationId; organizations where the user lacksservice:readreport0.Tests
__test__/services/overview-services-status.test.ts: no status clause by default, the status clause is added to all eight service-type queries (7 ×applicationStatus, 1 ×composeStatus), and member scoping is preserved alongside it.pnpm -r typecheckand Biome pass on all touched files; the fullapps/dokploysuite passes (theapplication.real.test.tscases requirenixpacksand a network clone and are unaffected).Manual test
⟳ 1 active; hovering shows the service name; clicking opens it.2 activewith a dropdown listing both.⟳ Nbadge next to the organization.🤖 Generated with Claude Code
The PR appears safe to merge, with all previous findings addressed and no new actionable regressions identified.
Summary
Adds a sidebar indicator for deploying services across all eight service types, with direct navigation for one service and a dropdown for multiple services.
Reviews (2) · Last reviewed commit: "fix(overview): scope active deployment c..."