Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
0393c26
feat: add drag-and-drop logo upload for organizations
imrja8 Jul 8, 2026
49bf39d
[autofix.ci] apply automated fixes
autofix-ci[bot] Jul 8, 2026
2a76686
Merge branch 'Dokploy:canary' into feat/organization-logo-drag-drop
imrja8 Jul 8, 2026
26d716b
fix: eliminate FOUC for whitelabeling across all pages
imrja8 Jul 8, 2026
ac2e081
Merge branch 'Dokploy:canary' into fix/whitelabeling-fouc
imrja8 Jul 8, 2026
6dc22bd
Merge branch 'Dokploy:canary' into feat/organization-logo-drag-drop
imrja8 Jul 9, 2026
79baa24
Merge branch 'Dokploy:canary' into fix/whitelabeling-fouc
imrja8 Jul 9, 2026
f23b5b9
fix(typecheck): fix twoFactorRedirect typescript error
imrja8 Jul 9, 2026
5344945
[autofix.ci] apply automated fixes
autofix-ci[bot] Jul 9, 2026
da3c0b1
Merge remote-tracking branch 'origin/main' into fix/whitelabeling-fouc
imrja8 Sep 1, 2026
c0f07f1
Merge branch 'Dokploy:canary' into fix/whitelabeling-fouc
imrja8 Sep 1, 2026
ff3ebef
feat: add Infomaniak DNS provider support
mitc-gjuge Sep 1, 2026
e629248
feat: add OVHcloud DNS provider support
mitc-gjuge Sep 1, 2026
2bc22c5
fix(dns): represent the Infomaniak apex as a root dot
mitc-gjuge Sep 1, 2026
be4a5da
fix(dns): match apex records stored under any apex spelling
mitc-gjuge Sep 1, 2026
80a6baf
fix(dns): restore the original OVH record when a type change fails
mitc-gjuge Sep 1, 2026
b75785d
Merge canary and resolve conflicts
imrja8 Sep 1, 2026
d56ef89
Cleanup leftover unused code in side.tsx
imrja8 Sep 1, 2026
59a7484
fix(dns): paginate the documented Infomaniak products endpoint
mitc-gjuge Sep 1, 2026
f83097b
fix(dns): spell out the OVH right that lists zones
mitc-gjuge Sep 1, 2026
6282b6e
fix: resolve security vulnerabilities in whitelabeling
imrja8 Sep 1, 2026
58f3714
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 1, 2026
5606a2b
fix: account for whitespace in style tag regex to prevent XSS
imrja8 Sep 1, 2026
13bb1ac
fix: account for all style end-tag variants like </style/>
imrja8 Sep 1, 2026
6d51c10
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 1, 2026
8806d4e
fix: resolve SVG unicode base64 encoding error and image upload race …
imrja8 Sep 1, 2026
3893150
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 1, 2026
1d26fdd
feat(vault): add AWS Parameter Store provider
its-felix Sep 2, 2026
18e617e
Merge canary and regenerate the migration at a free number
mitc-gjuge Sep 2, 2026
4746cfc
Merge canary and regenerate the migration at a free number
mitc-gjuge Sep 2, 2026
62e43b1
Remove unused journal entry for wide Korg from _journal.json
Siumauricio Sep 2, 2026
b2ed974
Merge branch 'canary' into codex/5265-aws-parameter-store
Siumauricio Sep 2, 2026
6dacab0
Remove unused journal entry for tag "0190_nappy_anita_blake" from _jo…
Siumauricio Sep 2, 2026
8b38acd
Merge branch 'Dokploy:canary' into feat/organization-logo-drag-drop
imrja8 Sep 2, 2026
e2c9bd2
Merge branch 'Dokploy:canary' into fix/whitelabeling-fouc
imrja8 Sep 2, 2026
8c9e473
test: fix CI failures and improve local test robustness
imrja8 Sep 2, 2026
c901260
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 2, 2026
261ebb2
Merge pull request #5271 from imrja8/fix/ci-docker-tests
narcisonunez Sep 2, 2026
f904a7b
fix: Fix server card title overflow for responsiveness
bogdaaamn Sep 2, 2026
f617561
Merge branch 'Dokploy:canary' into feat/organization-logo-drag-drop
imrja8 Sep 2, 2026
e25e241
Merge branch 'Dokploy:canary' into fix/whitelabeling-fouc
imrja8 Sep 2, 2026
e79ed76
fix(domains): include server interface addresses in validation
pparage Sep 2, 2026
dfa9c17
refactor: extract createServerSideHelpers into a reusable function
imrja8 Sep 2, 2026
4877c4f
fix: address PR feedback (SVG helper & AddOrganization crash)
imrja8 Sep 2, 2026
c180f75
refactor: extract resizeImage to shared utility
imrja8 Sep 2, 2026
f58ff10
chore(deps): bump nanoid
dependabot[bot] Sep 2, 2026
ad00669
fix: sync pnpm-lock.yaml with nanoid 3.3.18
narcisonunez Sep 2, 2026
03cdd00
Merge pull request #5282 from Dokploy/dependabot/npm_and_yarn/package…
narcisonunez Sep 2, 2026
bbca400
fix(ui): truncate organization name properly in sidebar without clipp…
imrja8 Sep 3, 2026
0889d76
Merge branch 'Dokploy:canary' into feat/organization-logo-drag-drop
imrja8 Sep 3, 2026
d389b3c
Merge branch 'Dokploy:canary' into fix/whitelabeling-fouc
imrja8 Sep 3, 2026
d1fda63
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 3, 2026
ea9a466
Merge remote-tracking branch 'origin/canary' into feat/infomaniak-dns…
mitc-gjuge Sep 3, 2026
7ae566f
Merge remote-tracking branch 'origin/canary' into feat/ovh-dns-provider
mitc-gjuge Sep 3, 2026
b839e6d
fix(auth): enforce SSO on server-side sign-in endpoints
somuai Sep 3, 2026
9568a4f
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 3, 2026
bf547e2
Merge pull request #4769 from imrja8/fix/whitelabeling-fouc
narcisonunez Sep 3, 2026
f4e1154
Merge pull request #4765 from imrja8/feat/organization-logo-drag-drop
narcisonunez Sep 3, 2026
782bb4e
Merge pull request #5287 from imrja8/fix/sidebar-truncation
narcisonunez Sep 3, 2026
12ea7a8
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 3, 2026
5cbc7ef
docs: fix reset-password command invocation in CONTRIBUTING
detail-app[bot] Sep 3, 2026
5faa363
docs: drop stale .mcp.json reference in fix-issue skill
detail-app[bot] Sep 3, 2026
399e20c
chore: remove unused filterEmptyValues and hasValues utils
detail-app[bot] Sep 3, 2026
5f10ed6
fix(auth): block passkey authentication and email signup when SSO is …
somuai Sep 3, 2026
1572008
Merge pull request #5272 from bogdaaamn/bogdaaamn-fix-server-card-tit…
narcisonunez Sep 3, 2026
1a29694
feat(ui): smart truncation tooltips, org name limits, and logo UI pol…
imrja8 Sep 4, 2026
631816f
Merge pull request #5297 from Dokploy/detail/dead-code/chore-remove-u…
Siumauricio Sep 4, 2026
7fb02ab
Merge pull request #5295 from Dokploy/detail/fix-docs/docs-fix-reset-…
Siumauricio Sep 4, 2026
7effae3
Merge pull request #5296 from Dokploy/detail/fix-docs/docs-drop-stale…
Siumauricio Sep 4, 2026
5c0d3b8
fix(auth): enforce SSO on server-side sign-in endpoints (#5291)
narcisonunez Sep 4, 2026
b5c3d86
feat: add dynamic open graph metadata for enterprise whitelabeling
imrja8 Sep 4, 2026
b6c83e0
chore: use compressed open graph image
imrja8 Sep 4, 2026
62e948a
Merge branch 'Dokploy:canary' into feat/open-graph-metadata
imrja8 Sep 4, 2026
48dfb2b
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 4, 2026
13b043e
fix: replace metaTitle with ogImageUrl in reset payloads
imrja8 Sep 4, 2026
15bf663
fix: make fallback og image url absolute for social scrapers
imrja8 Sep 4, 2026
41251b4
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 4, 2026
29e5940
chore: revert accidental package.json changes
imrja8 Sep 4, 2026
28f71e7
fix(dns): report an OVH zone refresh failure for what it is
mitc-gjuge Sep 4, 2026
d7884c7
Merge pull request #5257 from mitc-gjuge/feat/infomaniak-dns-provider
narcisonunez Sep 4, 2026
e962311
Merge canary and resolve conflicts by regenerating migration
imrja8 Sep 5, 2026
2311f34
fix(dns): do not report a restored OVH record as lost
mitc-gjuge Sep 5, 2026
7e9fdbb
Merge canary and regenerate the migration after Infomaniak landed
mitc-gjuge Sep 5, 2026
57d92b7
chore: drop local scratch files committed by mistake
mitc-gjuge Sep 5, 2026
8409b8c
perf(dns): filter Infomaniak records server-side when upserting
mitc-gjuge Sep 5, 2026
3b065db
Merge pull request #5258 from mitc-gjuge/feat/ovh-dns-provider
narcisonunez Sep 7, 2026
ab87f2d
Merge pull request #5273 from pparage/fix/issue-4658-interface-addresses
narcisonunez Sep 7, 2026
57a5465
Remove unused journal entry for "confused_rocket_racer" from _journal…
Siumauricio Sep 7, 2026
383438e
Merge branch 'canary' into codex/5265-aws-parameter-store
Siumauricio Sep 7, 2026
600657e
Add new journal entry for "0193_chemical_the_liberteens" with version 7
Siumauricio Sep 7, 2026
0c19973
fix(ui): align close button in web server update modal
kcybe Sep 7, 2026
6e760da
fix(vault): expand Infisical secret references when listing secrets
Sep 7, 2026
f0f7843
Merge pull request #5266 from its-felix/codex/5265-aws-parameter-store
Siumauricio Sep 8, 2026
91eaab6
Reduce trial duration from 14 to 7 days
Siumauricio Sep 8, 2026
150c34d
Merge pull request #5378 from Dokploy/chore/trial-7-days
Siumauricio Sep 8, 2026
e8f94a9
Merge pull request #5373 from kcybe/fix/update-modal-close-alignment
Siumauricio Sep 8, 2026
6ed5746
Resolve merge conflicts in drizzle migrations
imrja8 Sep 8, 2026
0f28775
fix(domains): don't fetch AddDomain queries until the dialog opens
Siumauricio Sep 8, 2026
7c18892
Merge pull request #5379 from Dokploy/fix/terminal-permissions-and-mi…
Siumauricio Sep 8, 2026
e369541
fix(billing): update server inclusion descriptions for clarity
Siumauricio Sep 8, 2026
988f5b6
feat(trial-banner): add trial banner component to display trial statu…
Siumauricio Sep 8, 2026
67f6890
fix(sso): trust admin-configured SSO providers for account linking
Siumauricio Sep 8, 2026
1e6ab0f
Merge pull request #5380 from Dokploy/fix/sso-account-not-linked-trust
Siumauricio Sep 8, 2026
91db4e6
fix(dns): match record content in upsertRecord to prevent overwriting…
imrja8 Sep 8, 2026
caca3c1
Resolve merge conflicts in drizzle migrations
imrja8 Sep 8, 2026
df0986b
fix(dns): apply content normalization in upsert match logic to preven…
imrja8 Sep 8, 2026
ea1c6fc
fix(dns): fallback to data fields comparison for cloudflare structure…
imrja8 Sep 8, 2026
94cd503
fix(dns): extract and normalize prio for porkbun MX/SRV records to pr…
imrja8 Sep 8, 2026
e701644
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 8, 2026
8291165
Update packages/server/src/utils/dns/porkbun.ts
imrja8 Sep 8, 2026
2d5a6ef
feat: add dynamic open graph metadata for link previews (#5348)
narcisonunez Sep 8, 2026
467c80a
Merge pull request #5356 from mitc-gjuge/feat/infomaniak-record-filter
narcisonunez Sep 8, 2026
be128d5
Merge remote-tracking branch 'upstream/canary' into fix/dns-upsert-pr…
imrja8 Sep 8, 2026
aaff71b
Merge pull request #5382 from imrja8/fix/dns-upsert-preserve-existing…
narcisonunez Sep 8, 2026
df4e299
[autofix.ci] apply automated fixes
autofix-ci[bot] Sep 8, 2026
887a457
Merge pull request #5374 from aspatari/fix/infisical-expand-secret-re…
narcisonunez Sep 8, 2026
5611662
feat(vault): address an Infisical folder from the reference
Sep 7, 2026
e99a98e
Merge pull request #5375 from aspatari/feat/infisical-path-in-reference
narcisonunez Sep 8, 2026
ea3f9f3
fix(server-health): detect custom default-address-pools via docker info
Siumauricio Sep 8, 2026
85786a3
Merge pull request #5386 from Dokploy/fix/server-health-address-pools
Siumauricio Sep 8, 2026
6dcd0e1
Merge pull request #5381 from Dokploy/canary
Siumauricio Sep 8, 2026
3e176c9
Merge upstream v0.30.6 into canary
AminDhouib Sep 15, 2026
02f4df0
chore(drizzle): re-issue upstream 0191-0195 as fork 0201_steep_sage
AminDhouib Sep 15, 2026
e8e72af
docs(sync): record v0.30.6 adaptations
AminDhouib Sep 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,13 +123,13 @@ pnpm run docker:push
In the case you lost your password, you can reset the owner's password using the following command

```bash
pnpm run reset-password
pnpm --filter=dokploy run reset-password
```

To reset the password of a specific user instead, pass their email as an argument

```bash
pnpm run reset-password -- user@example.com
pnpm --filter=dokploy run reset-password user@example.com
```

Both commands print the new randomly generated password to the console.
Expand Down
11 changes: 10 additions & 1 deletion apps/dokploy/__test__/compose/env-file-literals.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,16 @@ const inputEncoding: Record<string, string> = {
DB_HOST: '"${UNDEFINED_HOST:-localhost}"',
};

describe("getCreateEnvFileCommand", () => {
const hasDocker = () => {
try {
execFileSync("docker", ["info"], { stdio: "ignore" });
return true;
} catch {
return false;
}
};

describe.skipIf(!hasDocker())("getCreateEnvFileCommand", () => {
it("writes special environment values that Docker Compose reads back literally", () => {
mkdirSync(codePath, { recursive: true });

Expand Down
25 changes: 23 additions & 2 deletions apps/dokploy/__test__/dns/cloudflare.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -323,9 +323,11 @@ describe("cloudflareClient.upsertRecord", () => {
expect(createInit.method).toBe("POST");
});

it("updates the existing record instead of creating a duplicate", async () => {
it("updates the existing record when content matches", async () => {
mockFetch
.mockResolvedValueOnce(cfSuccess([{ id: "existing-1" }]))
.mockResolvedValueOnce(
cfSuccess([{ id: "existing-1", type: "A", content: "5.6.7.8" }]),
)
.mockResolvedValueOnce(cfSuccess({ id: "existing-1" }));

const result = await cloudflareClient.upsertRecord(config, {
Expand All @@ -344,6 +346,25 @@ describe("cloudflareClient.upsertRecord", () => {
expect(updateInit.method).toBe("PUT");
});

it("creates a new record when content differs from existing", async () => {
mockFetch
.mockResolvedValueOnce(
cfSuccess([{ id: "existing-1", type: "A", content: "1.1.1.1" }]),
)
.mockResolvedValueOnce(cfSuccess({ id: "new-2" }));

const result = await cloudflareClient.upsertRecord(config, {
zoneId: "zone-1",
type: "A",
name: "app.example.com",
content: "5.6.7.8",
});

expect(result).toEqual({ id: "new-2" });
const [, createInit] = mockFetch.mock.calls[1] as [string, RequestInit];
expect(createInit.method).toBe("POST");
});

it("defaults ttl to 1 (automatic) when not provided", async () => {
mockFetch
.mockResolvedValueOnce(cfSuccess([]))
Expand Down
Loading