Commit Graph

4047 Commits

Author SHA1 Message Date
Mauricio Siu dbe2b38ea9 Merge branch 'canary' into feat/session-management 2026-08-13 00:40:34 -06:00
Mauricio Siu dc9c67129e fix: lock sidebar-inset scroll while a modal is open
Radix locks scroll on <body>, but the dashboard's actual scroll
container is the sidebar's <main data-slot="sidebar-inset">, so the
background stayed scrollable behind dialogs/sheets. Extend the lock
to that container using the same data-scroll-locked attribute Radix
already sets.

Fixes #5064
2026-08-12 15:38:39 -06:00
Narciso 795f6f094e test: fix stale composeFile mock in domain enabled-filter test 2026-08-12 16:28:06 -04:00
autofix-ci[bot] 26c871946a [autofix.ci] apply automated fixes 2026-08-12 19:03:06 +00:00
Souvik Kumar 65198f6082 fix: add clipboard addon to docker container terminal
The docker container terminal did not load xterm's ClipboardAddon, so
pasting into it (e.g. a MariaDB shell) broke the cursor and left the
pasted text uneditable. The web server terminal already loads this addon;
this brings the container terminal in line with it.

Also dispose the terminal on cleanup so its addons don't leak on remount.

Fixes #5065
2026-08-12 23:43:05 +05:30
Narciso E. Núñez Arias 1c9a538457 Merge pull request #4328 from teoobarca/fix/tooltip-volumes-not-pruned
fix: tooltip incorrectly lists volumes among Daily Cleanup targets
2026-08-12 12:17:43 -04:00
Narciso E. Núñez Arias 3e10a8dd6d Merge pull request #4795 from yusoofsh/fix/4794-preserve-compose-mounts
fix(compose): preserve raw remote mounts
2026-08-12 11:47:04 -04:00
Mauricio Siu c2071bbbfd feat: add Images and Disk Usage tabs to docker dashboard
- Images tab: list, inspect and delete docker images, with a
  force-delete fallback when an image is in use.
- Disk Usage tab: docker system df summary as stat cards plus a
  Build Cache table (docker system df -v) with a prune action.
2026-08-12 04:30:19 -06:00
Mauricio Siu 9412b52172 fix: disable minimumReleaseAge (broke builds on unrelated AWS SDK deps)
@aws-sdk/client-secrets-manager (pre-existing, unrelated to any recent
PR) transitively pulled @smithy/fetch-http-handler + @smithy/core
versions published the same day, with no older compatible version to
fall back to. AWS SDK v3 is dozens of interdependent packages often
published together same-day, so a global minimumReleaseAge with no
per-scope threshold (pnpm only supports all-or-nothing exclude) was
going to keep breaking builds on any lockfile touch. Commented out
rather than deleted -- left for whoever wants to revisit it, see
discussion on #4679.

Also lets @aws-sdk/client-route-53 and @aws-sdk/client-secrets-manager
resolve to their actual latest versions now that nothing blocks it.
2026-08-12 04:26:27 -06:00
Mauricio Siu 7825537964 Merge pull request #5059 from Dokploy/feat/docker-events-tab
feat: add Docker events tab to docker dashboard
2026-08-12 04:11:48 -06:00
Mauricio Siu 3be9cdfe65 feat: add go-to-page input to Docker events pagination 2026-08-12 04:11:32 -06:00
Mauricio Siu fa7a54b4eb feat: add sorting and pagination to Docker events table 2026-08-12 04:09:39 -06:00
Mauricio Siu daba2d7fbc feat: add Docker events tab to docker dashboard
Adds a new Events tab to /dashboard/docker showing Docker daemon
events (equivalent to `docker events`), polled via docker.getEvents
with a time-range selector and refresh button.

Also fixes a stale isCloud redirect that forced the Networks tab
back to Containers even though it is now shown in cloud.
2026-08-12 04:07:59 -06:00
Mauricio Siu 02edd6abe7 fix: remove Route53 endpoint override and pin AWS SDK to an aged version
The endpoint field let anyone with dnsProvider create permission point
the AWS SDK at an arbitrary URL (loopback, link-local, internal
network, cloud metadata), turning testConnection and every other
Route53 operation into an SSRF oracle. There's no way to keep
LocalStack-style testing working while blocking that, since the
target address is identical either way, so the field is removed
entirely rather than validated. Route53 always talks to real AWS now.

Also pin @aws-sdk/client-route-53 to ^3.1097.0 (matching the existing
client-secrets-manager pin) instead of whatever caret-latest resolved
to at install time. The version that landed in the merged PR was
published less than a day before this, which violates the
minimumReleaseAge policy that merged into canary around the same time
and broke the Docker build.
2026-08-12 04:01:01 -06:00
Mauricio Siu 37f0bba43f fix: resolve @ to the zone's apex domain before sending it to the provider
Route53 rejects the literal "@" (RRSet with DNS name @. is not
permitted); Cloudflare happens to accept it, but relying on
provider-specific handling of that shorthand isn't safe. Resolve it
client-side to the zone's actual domain name before building the
create/update payload.
2026-08-12 03:35:11 -06:00
Mauricio Siu 16f0f0eeb4 test: add dnsProvider to the enterprise-resources coverage list 2026-08-12 03:31:20 -06:00
Mauricio Siu 4d58f3987f feat: add DNS provider integration (Cloudflare, AWS Route53)
Lets you connect a DNS provider and manage its records (create,
update, delete) from Settings -> DNS Providers, instead of doing it
by hand in Cloudflare/AWS.

- dns_provider table, org-scoped, jsonb config as a discriminated
  union per provider type
- Cloudflare adapter (REST, bearer token)
- Route53 adapter (AWS SDK, SigV4); records are identified by
  type:name since Route53 has no native record id, so update
  handles renames as delete-old + upsert-new
- listZones/listRecords/createRecord/updateRecord/deleteRecord/
  testConnection wired through a shared DnsClient interface
- Settings UI: provider management, zone browser, record CRUD,
  IP-fill dropdown for A records (panel IP + remote servers)
- Access control: dnsProvider resource wired into custom roles
- Unit tests for both adapters and the config mask/merge logic
2026-08-12 03:25:25 -06:00
Mauricio Siu 3cad115155 feat: make organization selector larger and searchable (#5052)
Replaces the organization dropdown with a Popover + Command combobox: wider panel and a search input to filter organizations by name.

Closes #5043
2026-08-11 20:55:26 -06:00
Mauricio Siu 3fbd67fe4d fix: invalid replacement placeholder in redirect form (#5050) 2026-08-11 20:22:59 -06:00
Mauricio Siu 5492ed12a0 Add new journal entry for "0184_wonderful_absorbing_man" with version 7 2026-08-11 20:02:29 -06:00
Mauricio Siu cba6ce9c57 Merge branch 'canary' into feat/scaleway-secret-manager 2026-08-11 20:02:08 -06:00
Mauricio Siu 8bf1167530 Remove deprecated entry for legal_hydra from journal.json 2026-08-11 20:01:44 -06:00
Vyacheslav Scherbinin a089870e8b test(compose): enable domain in security fixture 2026-08-11 23:03:53 +07:00
Vyacheslav Scherbinin 5bcaf9dafb Merge remote-tracking branch 'upstream/canary' into feat/domain-enable-disable
# Conflicts:
#	apps/dokploy/drizzle/meta/0182_snapshot.json
#	apps/dokploy/drizzle/meta/_journal.json
2026-08-11 22:59:41 +07:00
Quentin Gillet f238347ed7 feat(vault): add Scaleway Secret Manager provider
Adds Scaleway Secret Manager as a first-class vault provider alongside
HashiCorp Vault/OpenBao, Infisical, AWS, Doppler and Azure Key Vault.

- New `scaleway` provider type, zod-validated config (region, project ID,
  API secret key, overridable API URL) and migration adding the enum value
- Plain `fetch` client (no new dependency) against the Secret Manager
  v1beta1 REST API: access-by-path for reads, paginated listing for the
  env editor autocomplete, and a connection test
- Refs are `[folder/]name[:field]` — the field selector extracts a key
  from JSON/key-value secrets, like the AWS provider
- Secret key masked in API responses like every other provider credential
- Settings -> Secrets form with region picker, brand icon and reference
  format help
2026-08-11 16:21:32 +01:00
Mauricio Siu aaf8d7e12f feat(organization): allow setting a default role for new members 2026-08-11 02:21:33 -06:00
Mauricio Siu 4732b38d5a refactor: align cluster/swarm read queries with docker.read, gate node actions by server permissions 2026-08-11 02:04:09 -06:00
Mauricio Siu c76c5b2f90 refactor: show nodes tab to any user with docker.read 2026-08-11 02:02:24 -06:00
Mauricio Siu c6c259f926 refactor: add icon support for deployments and services in UI components 2026-08-11 02:01:21 -06:00
Mauricio Siu 1617d07fbd refactor: move cluster nodes into docker dashboard swarm tab
- Add Nodes sub-tab under Docker > Swarm (visible with organization.update permission)
- Remove Cluster item from settings sidebar and delete /dashboard/settings/cluster page
- Point internal cluster links to /dashboard/docker?tab=swarm&subtab=nodes
- Make ShowNodes card full-width to match the other docker tabs
2026-08-11 01:55:42 -06:00
Mauricio Siu 71521f2711 feat: upgrade to TypeScript 7 and Next.js 16.3 2026-08-11 01:39:09 -06:00
Vyacheslav Scherbinin 5ceb88bebe fix(compose): regenerate mapping domain labels 2026-08-11 12:29:49 +07:00
Vyacheslav Scherbinin 92b628c8fc fix(domains): add status tooltip to table 2026-08-11 12:19:03 +07:00
Narciso E. Núñez Arias 00d9603209 Merge pull request #4820 from techdawnarea/mariaDB-color-fix
MariaDB svg color updated: in Dark theme its not visible properly
2026-08-11 00:42:14 -04:00
Narciso E. Núñez Arias cf22a0e058 Merge pull request #4828 from Dokploy/fix/yaml-editor-auto-indent
fix(editor): consistent YAML auto-indent on newline
2026-08-11 00:40:52 -04:00
Narciso E. Núñez Arias c05e6d5a6b Merge pull request #4872 from Dokploy/fix/cmdi-domain-servicename
fix(security): command injection via compose domain serviceName (host escape)
2026-08-11 00:38:57 -04:00
Narciso E. Núñez Arias 79b5ff96ca Merge pull request #4791 from PixelPerfector/fix/remote-threshold-server-name
fix(notifications): use real server name in remote threshold alerts
2026-08-11 00:22:12 -04:00
Narciso 604d9b1004 Merge remote-tracking branch 'origin/canary' into fix/cmdi-domain-servicename 2026-08-11 00:18:31 -04:00
Vyacheslav Scherbinin 67fa8e4104 fix(compose): clean domain labels across services 2026-08-11 11:16:44 +07:00
Vyacheslav Scherbinin f14f12c778 fix(compose): clean up mapping domain labels 2026-08-11 11:02:49 +07:00
Vyacheslav Scherbinin 37c8d6477e fix(compose): remove stale labels for disabled domains 2026-08-11 10:45:33 +07:00
Narciso E. Núñez Arias ce0fe63b4a Merge pull request #4967 from Dokploy/fix/restore-drop-use-statements
fix(restore): drop USE/CREATE DATABASE statements so mysql/mariadb restores target the selected database
2026-08-10 23:40:10 -04:00
Narciso 63144e6855 Merge branch 'canary' into feat/domain-enable-disable 2026-08-10 22:38:27 -04:00
autofix-ci[bot] c8b87c7105 [autofix.ci] apply automated fixes 2026-08-11 02:15:03 +00:00
Mauricio Siu 2d7caceeed Merge pull request #5035 from alsmadi99/fix/biome-scanner-memory-leak
fix: exclude node_modules/.next from biome scanner, bump to 2.5.7
2026-08-10 16:58:24 -06:00
Mauricio Siu be9c8260c6 feat: add AWS Secrets Manager client dependency
- Included the @aws-sdk/client-secrets-manager package to enable integration with AWS Secrets Manager for managing environment secrets.
2026-08-10 16:56:33 -06:00
Mauricio Siu 9747e832ac feat: enhance vault provider access control and environment variable handling
- Updated the environment autocomplete component to include projectId and environmentId in vault secret fetching logic.
- Added authorization checks in the vault provider router to ensure users have access to the specified project and environment.
- Modified the vault provider schema to include projectId and optional environmentId for better validation.
- Improved error handling for unauthorized access and invalid vault provider assignments.
2026-08-10 16:41:08 -06:00
autofix-ci[bot] ce717a3de6 [autofix.ci] apply automated fixes 2026-08-10 22:28:45 +00:00
Mauricio Siu f6622428f7 feat: enhance vault provider management and environment variable resolution
- Introduced support for project and environment assignments for vault providers, allowing for more granular access control.
- Updated the vault provider schema to include assignments and modified related components to handle these changes.
- Enhanced UI to display assignment status and allow users to manage project and environment associations effectively.
- Added validation to ensure assignments reference valid projects and environments within the organization.
- Updated tests to cover new functionality related to vault provider assignments and environment variable resolution.
2026-08-10 16:25:39 -06:00
Mauricio Siu b8822a1fde feat: integrate vault provider management and environment variable resolution
- Added support for managing various vault providers (HashiCorp, AWS, Azure, Doppler, Infisical) in the dashboard.
- Implemented environment variable resolution using vault references, allowing seamless integration of secrets into application environments.
- Enhanced UI components to display and manage vault providers effectively.
- Introduced tests for vault reference resolution and environment variable preparation.
- Updated related components to utilize new vault management features.
2026-08-10 11:14:55 -06:00