Compare commits

...

1279 Commits

Author SHA1 Message Date
Mauricio Siu
9298d6c693 Merge pull request #1144 from Dokploy/canary
🚀 Release v0.17.3
2025-01-19 11:11:36 -06:00
Mauricio Siu
23df3fba85 refactor: regenerate migrations 2025-01-19 11:01:41 -06:00
Mauricio Siu
93c7f1ce76 chore: update 2025-01-19 10:56:43 -06:00
Mauricio Siu
1323394589 chore: remove draft 2025-01-19 10:51:05 -06:00
Mauricio Siu
4f11fc2547 chore: remove spaces 2025-01-19 10:49:08 -06:00
Mauricio Siu
6d052ad455 chore: add quotes 2025-01-19 10:47:04 -06:00
Mauricio Siu
60748da144 chore: update 2025-01-19 10:45:51 -06:00
Mauricio Siu
1956836cde refactor: update 2025-01-19 10:45:12 -06:00
Mauricio Siu
7dca4fe430 refactor: update 2025-01-19 10:43:32 -06:00
Mauricio Siu
84690c5f75 chore: update pr 2025-01-19 10:41:44 -06:00
Mauricio Siu
95b67ef2e9 chore: update 2025-01-19 10:36:47 -06:00
Mauricio Siu
3f8bc47ce5 refactor: update 2025-01-19 10:35:07 -06:00
Mauricio Siu
498678c4ae Revert "refactor: update"
This reverts commit 3d602c232d.
2025-01-19 10:21:30 -06:00
Mauricio Siu
3d602c232d refactor: update 2025-01-19 10:19:59 -06:00
Mauricio Siu
94ffa7d578 chore: update 2025-01-19 10:15:28 -06:00
Mauricio Siu
64fc3c7677 chore: remove pr 2025-01-19 10:14:58 -06:00
Mauricio Siu
f27830daf0 refactor: update version 2025-01-19 10:08:53 -06:00
Mauricio Siu
3ec2e2dd1a Revert "chore: bump version"
This reverts commit 1e006cb094.
2025-01-19 10:06:50 -06:00
Mauricio Siu
1e006cb094 chore: bump version 2025-01-19 10:00:54 -06:00
Mauricio Siu
8aa655af2c chore: add pr 2025-01-19 10:00:09 -06:00
Mauricio Siu
65659e27f1 Merge pull request #1137 from Dokploy/feat/github-runners
Feat/GitHub runners
2025-01-19 09:58:27 -06:00
Mauricio Siu
4b6f9108d4 refactor: update 2025-01-19 02:56:08 -06:00
Mauricio Siu
1e4a41a8e3 chore: replace circle with github actions 2025-01-19 02:55:05 -06:00
Mauricio Siu
539aa7a85b refactor: print version 2025-01-19 02:47:14 -06:00
Mauricio Siu
b6ae502b92 refactor: update 2025-01-19 02:38:38 -06:00
Mauricio Siu
e82db47ec4 refactor: add github docker 2025-01-19 02:33:53 -06:00
Mauricio Siu
f9b4f008c2 Merge pull request #1134 from Dokploy/1031-excessive-unused-docker-cache-generated-by-dokploy-deployments
feat: add cleanup cache on deployments
2025-01-19 02:08:48 -06:00
Mauricio Siu
adb204ec1f refactor: add sidebar persistence 2025-01-19 01:44:42 -06:00
Mauricio Siu
5310a559b0 refactor: improve sidebar 2025-01-19 01:29:29 -06:00
Mauricio Siu
43b7db00f9 refactor: add missing values to test 2025-01-19 01:21:03 -06:00
Mauricio Siu
52c83fd6fc refactor: update text 2025-01-19 01:07:41 -06:00
Mauricio Siu
25a8df567e feat: add cleanup cache on deployments 2025-01-19 00:57:42 -06:00
Mauricio Siu
089274492d Merge pull request #1125 from SlavenIvanov/feat/add-couch-db-template
feat: added couchdb template
2025-01-18 17:39:12 -06:00
Mauricio Siu
65c0ea829f Merge branch 'canary' into feat/add-couch-db-template 2025-01-18 17:39:02 -06:00
Mauricio Siu
d060eec465 Update apps/dokploy/templates/couchdb/docker-compose.yml 2025-01-18 17:38:33 -06:00
Mauricio Siu
2dca0d343e Merge pull request #1069 from nktnet1/accessed-typo
chore: typo "accesed" changed to "accessed" for TS code
2025-01-18 17:35:04 -06:00
Mauricio Siu
a8f63bb4d3 Merge pull request #1131 from agustints/fix/db-backups-destination-url
fix: Update link text and destination for db backup settings
2025-01-18 17:34:09 -06:00
Mauricio Siu
cecd371988 Merge pull request #1081 from depado/gotify-notifications
feat(notifications): implement gotify provider
2025-01-18 17:33:55 -06:00
Mauricio Siu
6c4d94cb4f Merge pull request #1118 from izayl/feature/ci-skip
feat: add ci skip check
2025-01-18 17:30:41 -06:00
Mauricio Siu
c4e5c818f3 Merge branch 'canary' into gotify-notifications 2025-01-18 17:23:35 -06:00
Mauricio Siu
31a35d91e8 Merge pull request #1088 from shiqocred/canary
Update telegram message notification
2025-01-18 17:22:50 -06:00
Mauricio Siu
74a2f79a36 Merge pull request #1123 from nktnet1/it-tools-template
feat(template): added it-tools
2025-01-18 11:02:42 -06:00
Mauricio Siu
a8f8a727bd Merge pull request #1128 from TheLetslook/patch-1
feat(style): custom scrollbar styling
2025-01-18 11:00:42 -06:00
Mauricio Siu
e8f2ab35c9 Merge pull request #1121 from thebadking/canary
style: fix tablet and mobile (Create from Template)
2025-01-18 10:52:24 -06:00
depado
9806a5d607 feat(notifications): fix gotify style 2025-01-18 14:23:53 +01:00
depado
e25d0c0c68 feat(notifications): implement notifications for gotify 2025-01-18 14:23:27 +01:00
depado
1f8a476264 chore(lint): run biome 2025-01-18 14:23:27 +01:00
depado
cc473b3e87 feat(notifications): implement gotify provider 2025-01-18 14:23:27 +01:00
Agustin Tornielli
10b3543d39 fix: Update link text and destination for db backup settings 2025-01-18 01:19:33 -03:00
thebadking
0893149db0 style: grid fix 2025-01-17 20:45:17 +00:00
Vasiliy
e257f86194 feat(style): custom scrollbar styling 2025-01-17 21:49:44 +03:00
Slaven Ivanov
a9a0b4cb03 feat: added couchdb template 2025-01-17 18:09:02 +02:00
Khiet Tam Nguyen
c5073c9f30 feat(template): added it-tools 2025-01-18 01:02:39 +11:00
izayl
e69c602d1c chore: enhance deployment skip message to include reason for skipping 2025-01-17 15:47:18 +08:00
izayl
0116d995d9 test: extractCommitMessage 2025-01-17 15:32:59 +08:00
Mauricio Siu
ad479c4be1 Merge pull request #1112 from nktnet1/conduwuit-template
feat(template): added conduwuit
2025-01-16 22:24:46 -06:00
Mauricio Siu
f70192a71c refactor: lint 2025-01-16 22:24:31 -06:00
Mauricio Siu
abff70f081 refactor: lint 2025-01-16 22:24:17 -06:00
Mauricio Siu
9f03faaec2 Merge branch 'canary' into conduwuit-template 2025-01-16 22:24:03 -06:00
Mauricio Siu
1d760bd25f Merge pull request #1104 from nktnet1/cloudflared-template
feat(template): added cloudflared
2025-01-16 22:20:59 -06:00
Mauricio Siu
26a67dd175 Merge pull request #1119 from wish-oss/extrernal-link
refactor: update icon handling and restructure sidebar external links
2025-01-16 22:15:57 -06:00
thebadking
013ee89a56 style: fix tablet and mobile (Create from Template) 2025-01-16 21:12:11 +00:00
vishalkadam47
c3d3c7b96a refactor: update icon handling and restructure sidebar external links 2025-01-16 19:31:55 +05:30
izayl
4e724d88aa feat: add ci skip check 2025-01-16 16:26:28 +08:00
Mauricio Siu
351e4b6103 Merge pull request #1115 from TheLetslook/patch-1
fix: db type typo
2025-01-15 23:30:29 -06:00
Vasiliy
5b633ec6c5 fix: db type typo
Postgres -> Mongo
2025-01-14 23:25:22 +03:00
Khiet Tam Nguyen
ca9552d618 chore: sort conduwuit tags 2025-01-14 17:30:45 +11:00
Khiet Tam Nguyen
23b40c1aa7 feat(template): added conduwuit 2025-01-14 17:21:05 +11:00
Mauricio Siu
5e0b7ba143 Merge pull request #1109 from 190km/fix/sidebar
fix: fixed missing cluster side item
2025-01-13 23:50:02 -06:00
Mauricio Siu
cb1203e302 refactor: exclude cluster from cloud 2025-01-13 23:49:22 -06:00
Mauricio Siu
373c5bc507 Merge pull request #1106 from DJKnaeckebrot/fix/styling-after-sidebar-fixes
fix(style): clean up sidebar related style issue
2025-01-13 23:41:00 -06:00
Mauricio Siu
ee5afa4793 Merge pull request #1110 from szwabodev/fix/wslCheck
fix: isWSL check was not awaited
2025-01-13 22:58:15 -06:00
Mauricio Siu
7b9426586d Merge pull request #1107 from joaotonaco/refactor/improve_sidebar_animation
refactor(sidebar): improve animation
2025-01-13 22:38:41 -06:00
190km
772b24a415 fix: fixed missing cluster side item 2025-01-13 14:12:19 +00:00
UndefinedPony
1922437115 fix: isWSL check was not awaited causing always true 2025-01-13 14:48:13 +01:00
João Gabriel
c5eb8b087d refactor: transition logo size 2025-01-13 09:20:02 -03:00
João Gabriel
94ee5391fb refactor: apply ease-out to sidebar toggle animation 2025-01-13 09:19:32 -03:00
djknaeckebrot
b3ff14f792 style: clean up class names for consistency in dashboard components 2025-01-13 12:09:06 +01:00
djknaeckebrot
b68273c8ca style: adjust grid layout for monitoring card and clean up class names 2025-01-13 12:02:59 +01:00
djknaeckebrot
8b203c48b4 feat: update sidebar with Traefik File System title and add support link 2025-01-13 11:55:58 +01:00
djknaeckebrot
fb33a5b6a5 style: make sure card do use the full width of the div 2025-01-13 11:53:05 +01:00
Khiet Tam Nguyen
b17ab6d8cb feat(template): added cloudflared 2025-01-13 20:02:18 +11:00
Mauricio Siu
30d20bd267 Merge pull request #1101 from Dokploy/canary
v0.17.2
2025-01-13 02:28:37 -06:00
Mauricio Siu
f9b1c2575e refactor: lint 2025-01-13 02:28:00 -06:00
Mauricio Siu
b0b22224c3 revert: add missing installation buttons 2025-01-13 02:27:49 -06:00
shiqocred
2de0e73284 Merge branch 'Dokploy:canary' into canary 2025-01-13 13:31:31 +07:00
shiqocred
537950dd9f Revision notification (#7)
* Update build-success.ts

* Update compose.ts

* Update application.ts

* Update notification.ts

* Update utils.ts

* Update dokploy-restart.ts

* Update docker-cleanup.ts

* Update database-backup.ts

* Update build-success.ts

* Update build-success.ts
2025-01-13 13:13:13 +07:00
Mauricio Siu
f2f3986c56 Merge pull request #1100 from Dokploy/canary
v0.17.1
2025-01-13 00:00:05 -06:00
Mauricio Siu
dd3fccea02 refactor: adjust sizes 2025-01-12 23:59:35 -06:00
Mauricio Siu
5052688aaf Merge pull request #1099 from Dokploy/fix/version
fix: adjust size of cards and add ssh keys
2025-01-12 23:52:58 -06:00
Mauricio Siu
5825b3eae7 Merge pull request #1098 from nktnet1/fix-ssh-keys-create-server
fix: query for ssh keys to show servers, rather than default empty
2025-01-12 23:52:28 -06:00
Mauricio Siu
dbca102178 fix: adjust size of cards and add ssh keys 2025-01-12 23:51:57 -06:00
Tam Nguyen
32a757a247 fix: query for ssh keys to show servers, rather than default empty 2025-01-13 16:44:34 +11:00
Mauricio Siu
8e4d8d68ca Merge pull request #1096 from Dokploy/canary
v0.17.0
2025-01-12 19:07:28 -06:00
Mauricio Siu
48e6c40a38 chore: bump version 2025-01-12 18:29:01 -06:00
Mauricio Siu
0a06c0aa28 refactor: add breadcrumb redis 2025-01-12 15:18:36 -06:00
Mauricio Siu
a965c0e924 fix: add prefix and remove resolution esm flag (#1095)
* fix: add prefix and remove resolution esm flag

* refactor: revert
2025-01-12 15:10:25 -06:00
Khiet Tam Nguyen
ae97595610 feat(template): added Actual Budget, a super fast and privacy-focused app for managing your finances (#1080)
Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-01-12 14:46:11 -06:00
João Gabriel
106a660a2b fix: discord decoration tiny adjustment (#1086) 2025-01-12 14:42:39 -06:00
Alexis Loiseau
c25e7c53aa feat(template): added conduit, a matrix homeserver (#1087)
* feat(template): added conduit, a matrix homeserver

* Update apps/dokploy/templates/conduit/index.ts

* Update apps/dokploy/templates/conduit/index.ts

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-01-12 14:41:50 -06:00
Vishal kadam
c9308aebc2 style: enhance template selection UI and add view modes toggle (#1094)
* feat: enhance template selection UI and add view modes toggle

* fix: show template tags only in detailed view mode

* refactor: set detailed

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-01-12 14:34:28 -06:00
sao-coding
c0a2d2c399 feat(i18n): add missing keys and improve wording in Traditional Chinese translations (#1091)
* feat(i18n): add missing keys to Traditional Chinese translation

* feat(i18n): add missing keys to Traditional Chinese translation
2025-01-12 14:31:07 -06:00
Mauricio Siu
a104867ed2 Feat/add sidebar (#1084)
* refactor: add sidebar

* chore: add deps

* refactor: update sidebar

* refactor: another layout

* refactor: update variant

* refactor: change layout

* refactor: change variant

* refactor: enhance sidebar navigation with active state management

* feat: add project button to dashboard

* Merge branch 'canary' into feat/add-sidebar

* refactor: add loader

* refactor: update destinations and refactor

* refactor: ui refactor certificates

* refactor: delete unused files

* refactor: remove unused files and duplicate registry

* refactor: update style registry

* refactor: add new design registry

* refactor: enhance git providers

* refactor: remove duplicate files

* refactor: update

* refactor: update users

* refactor: delete unused files

* refactor: update profile

* refactor: apply changes

* refactor: update UI

* refactor: enhance Docker monitoring UI layout

* refactor: add theme toggle and language selection to user navigation (#1083)

* refactor: remove unused files

* feat: add filter to services

* refactor: add active items

* refactor: remove tab prop

* refactor: remove unused files

* refactor: remove duplicated files

* refactor: remove unused files

* refactor: remove duplicate files

* refactor: remove unused files

* refactor: delete unused files

* refactor: remove unsued files

* refactor: delete unused files

* refactor: lint

* refactor: remove unused secuirty

* refactor: delete unused files

* refactor: delete unused files

* remove imports

* refactor: add update button

* refactor: delete unused files

* refactor: remove unused code

* refactor: remove unused files

* refactor: update login page

* refactor: update login UI

* refactor: update ui reset password

* refactor: add justify end

* feat: add suscriptions

* feat: add sheet

* feat: add logs for postgres

* feat: add logs for all databases

* feat: add server logs with drawer logs

* refactor: remove unused files

* refactor: add refetch when closing

* refactor: fix linter

* chore: bump node-20

* revert

* refactor: fix conflicts

* refactor: update

* refactor: add missing deps

* refactor: delete duplicate files

* refactor: delete unsued files

* chore: lint

* refactor: remove unsued file

* refactor: add refetch

* refactor: remove duplicated files

* refactor: delete unused files

* refactor: update setup onboarding

* refactor: add breadcrumb

* refactor: apply updates

* refactor: add faker

* refactor: use 0 in validation

* refactor: show correct state

* refactor: update

---------

Co-authored-by: vishalkadam47 <vishal@jeevops.com>
Co-authored-by: Vishal kadam <107353260+vishalkadam47@users.noreply.github.com>
2025-01-12 14:29:43 -06:00
Tobias Barsnes
87f4c7b71b refactor: better focus-visible a11y (#1017)
* refactor: better focus-visible a11y

* style: fix tree leaf width

* style: input focus ring size

* refactor: focus a11y on project pages

* fix: project-environment import statement

* style: `ring-border` on input

* refactor: use ring border

---------

Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
2025-01-11 17:42:05 -06:00
shiqocred
d2094d6d76 Update notification.ts (#6)
fix router notification
2025-01-12 02:14:09 +07:00
shiqocred
c0b8a411bd Update build-success.ts (#5)
add format
2025-01-12 02:04:10 +07:00
shiqocred
1d8db07fa1 Add inline button telegram (#4)
* Update utils.ts

add type inline button

* Update dokploy-restart.ts

fixing format massage and adding [] for inline button type

* Update docker-cleanup.ts

fixing telegram message

* Update database-backup.ts

fixing telegram message

* Update build-error.ts

fixing message and adding button logs view

* Update build-success.ts

fixing message, adding domains props, adding inline button

* Update compose.ts

adding get domains compose and send to notif

* Update application.ts

adding get domains and send it to notif

* Update build-success.ts

fix space

* Update dokploy-restart.ts

fixing space
2025-01-12 01:20:39 +07:00
shiqocred
dd3618bfd9 Add inline button telegram (#3)
* Update utils.ts

add type inline button

* Update dokploy-restart.ts

fixing format massage and adding [] for inline button type

* Update docker-cleanup.ts

fixing telegram message

* Update database-backup.ts

fixing telegram message

* Update build-error.ts

fixing message and adding button logs view

* Update build-success.ts

fixing message, adding domains props, adding inline button

* Update compose.ts

adding get domains compose and send to notif

* Update application.ts

adding get domains and send it to notif
2025-01-12 00:55:31 +07:00
Khiet Tam Nguyen
9db979e43f fix(ui): full width for body tag (#1078) 2025-01-10 22:02:40 -06:00
shiqocred
553ae70656 feat(i18n): indonesian language (#1082)
* Update languages.ts

* Create common.json

* Create settings.json
2025-01-10 22:01:53 -06:00
Mauricio Siu
15fd663972 Merge pull request #1066 from szwabodev/fix/localServerTerminal
fix: connection to local server terminal
2025-01-10 00:45:11 -06:00
Mauricio Siu
123605dc0d Merge pull request #1068 from yiiman-dev/canary
Update wordpress version to latest
2025-01-08 22:20:38 -06:00
Mauricio Siu
d3f3265728 Merge pull request #1065 from nktnet1/gotenberg-template
feat(template): added Gotenberg, a Docker-powered stateless API for PDF files
2025-01-08 22:19:10 -06:00
Mauricio Siu
1a956314f8 Update apps/dokploy/templates/gotenberg/docker-compose.yml 2025-01-08 22:17:07 -06:00
Mauricio Siu
15cc8440f2 Merge pull request #1064 from nktnet1/template-generateBase64-import-index.ts
docs(contribution): fix template index.ts
2025-01-08 22:15:21 -06:00
Tam Nguyen
4a9d7225c9 chore: typo "accesed" changed to "accessed" for TS code 2025-01-08 13:44:59 +11:00
Saman Beheshtian (YiiMan)
103654d678 Update wordpress version to latest 2025-01-08 02:07:19 +00:00
Khiet Tam Nguyen
34a375776e docs: added the "tools" tag for gotenberg 2025-01-07 09:23:58 +11:00
Khiet Tam Nguyen
644fb1ef43 fix: switch to using gotenberg "latest" tag 2025-01-07 09:07:38 +11:00
Khiet Tam Nguyen
4e581bae99 fix: updated gotenberg from 8.15.2 -> 8.15.3 2025-01-07 09:03:49 +11:00
UndefinedPony
ee9f4796c3 style: remove spaces from commands 2025-01-06 12:12:23 +01:00
UndefinedPony
41a970c526 feat: add permission grant command when key generation fails 2025-01-06 12:09:54 +01:00
UndefinedPony
76c6d02566 feat: add ssh key comment for auto generated key 2025-01-06 12:09:15 +01:00
UndefinedPony
d0a5427c66 fix: connecting to local server terminal 2025-01-06 11:41:34 +01:00
UndefinedPony
aa3541b67b feat: add utils to get docker host and check if running on WSL 2025-01-06 11:39:19 +01:00
UndefinedPony
c31ed2b2b0 feat: add iproute2 as dependency to dockerfile 2025-01-06 11:38:08 +01:00
Khiet Tam Nguyen
a42b0ba32b docs(template): more concise description for gotenberg 2025-01-06 19:20:40 +11:00
Tam Nguyen
6866da97dd feat(template): added gotenberg, a pdf API service 2025-01-06 15:26:18 +11:00
Tam Nguyen
fdaea01b5b docs(contribution): added missing generateBase64 import for template index.ts 2025-01-06 14:00:43 +11:00
Khiet Tam Nguyen
fa2d81d2e7 docs(contribution): added missing generateBase64 import for template index.ts 2025-01-06 13:50:38 +11:00
Mauricio Siu
332416b7e7 Merge pull request #1054 from kerimovok/canary
feat(i18n): azerbaijani language
2025-01-05 15:34:17 -06:00
Mauricio Siu
7a4ee76eb6 Merge pull request #1039 from CyberHotline/canary
Added GLPI template
2025-01-05 14:50:09 -06:00
Mauricio Siu
0c304bd304 Merge pull request #1053 from SIPC/patch-1
Updated Chinese translation
2025-01-05 14:48:34 -06:00
Orkhan Karimov
8314c1a0a5 fix(indention): tab -> 4 spaces 2025-01-06 00:16:09 +04:00
Mauricio Siu
46a4e31e71 chore: add new sponsors 2025-01-03 16:19:48 -06:00
Mauricio Siu
acd3e0dd7d Merge pull request #1060 from jmsx/canary
fix: Update Vaultwarden version to 1.32.7 [CVE fix]
2025-01-03 14:58:18 -06:00
Mohab Gabber
f4e7a4d79a Merge branch 'canary' into canary 2025-01-03 19:11:33 +02:00
Jose Manuel Gonzalez
c7e5eba086 fix: Update Vaultwarden version to 1.32.7 [CVE fix] 2025-01-03 10:51:42 +01:00
Mauricio Siu
65361d18c2 Merge pull request #1055 from wish-oss/fix/console-error
refactor: remove unnecessary error logging in GPU setup functions
2025-01-02 16:21:04 -06:00
Mohab Gabber
bb5fd9895d fix: update MySQL image reference in docker-compose.yml 2025-01-02 21:28:52 +02:00
vishalkadam47
49a6b72c60 refactor: remove unnecessary error logging in GPU setup functions 2025-01-02 21:01:03 +05:30
Orkhan Karimov
84a88299ea feat(i18n): azerbaijani language 2025-01-02 16:27:57 +04:00
ink
d0fe635620 Update settings.json 2025-01-02 19:43:20 +08:00
Mauricio Siu
41d4ff8489 Merge pull request #1051 from wyattjoh/canary
fix: added unzip to server setup
2025-01-02 01:25:32 -06:00
Mauricio Siu
b9d8a48ae6 Merge pull request #1052 from Dokploy/1050-dokploy-ignore-run-command
refactor: add text for run command
2025-01-01 19:29:48 -06:00
Mauricio Siu
3e8708d2b9 refactor: add text for run command 2025-01-01 19:29:33 -06:00
Mauricio Siu
2b0232a24c Merge pull request #1047 from Pi-Bouf/environment-style-improvement
style: environment style improvement
2025-01-01 19:25:26 -06:00
Mauricio Siu
cbdea7cf48 Merge pull request #1049 from designorant/style/favicon-theme
style: enhance favicon with dark mode support
2025-01-01 19:19:56 -06:00
Mauricio Siu
f042cb720f Merge pull request #1042 from szwabodev/feat/newUpdateModalInNavbar
feat: use check updates modal for update available in navbar
2025-01-01 19:15:12 -06:00
Mauricio Siu
02b977bfc4 Merge pull request #1037 from 190km/feat-shows-req-when-is-active
feat: shows req when is active
2025-01-01 19:05:47 -06:00
Mauricio Siu
9f24f24de3 refactor: improve requests 2025-01-01 19:05:06 -06:00
Mauricio Siu
cbc8c24985 Merge pull request #1038 from 190km/swarm-style-improvement
style: swarm style improvement
2025-01-01 19:02:57 -06:00
Mauricio Siu
b17369264c refactor: remove min-h-screen 2025-01-01 19:02:24 -06:00
Mauricio Siu
9c783177c8 Merge pull request #1033 from DJKnaeckebrot/feature/check-mate-template
feat(template): add checkmate template
2025-01-01 18:57:32 -06:00
Mauricio Siu
f2159a3439 Update apps/dokploy/templates/checkmate/docker-compose.yml 2025-01-01 18:57:27 -06:00
Mauricio Siu
eec0a55212 Update apps/dokploy/templates/checkmate/docker-compose.yml 2025-01-01 18:57:23 -06:00
Mauricio Siu
16bab629de Merge pull request #1030 from DJKnaeckebrot/feature/fix-2fa-style
style(2fa): make pin input centered and make boarder more white to make it more visible
2025-01-01 18:54:49 -06:00
Mauricio Siu
592bf9292e Merge pull request #1032 from DJKnaeckebrot/feature/fix-huly-template
fix(huly-template): resolve issue with wrong domain
2025-01-01 18:54:33 -06:00
Mauricio Siu
b93d26f937 refactor: use shadcn ui classes 2025-01-01 18:53:30 -06:00
Mauricio Siu
c0e7f4ad8c Merge pull request #1029 from wish-oss/refactor/port-mapping-ui
refactor: enhance ManageTraefikPorts with ScrollArea for better UI
2025-01-01 18:52:09 -06:00
Mauricio Siu
05cf51bfb3 Merge pull request #1028 from designorant/feat/complete-polish
feat(i18n): add missing keys to Polish translation
2025-01-01 18:48:10 -06:00
Wyatt Johnson
7cf5cb4032 fix: added unzip to server setup
The installation script for rclone requires unzip to be present
in order to install. This adds this dep to the deps installed
as it's not present on Debian.
2025-01-01 16:44:41 -07:00
Michał Ordon
76787b9056 style: enhance favicon with dark mode support 2025-01-01 17:46:39 +00:00
Pierre B
513b17105e style: environment style improvement 2025-01-01 15:47:47 +01:00
UndefinedPony
187f051484 fix: check health endpoint instead of awaiting service restart to fix update success status 2024-12-31 11:20:59 +01:00
UndefinedPony
2be79304fb refactor: allow using already fetched updateData, remove ping icon 2024-12-31 11:19:22 +01:00
UndefinedPony
29a8cb63c0 refactor: pass update data and use updates modal in navbar 2024-12-31 11:13:58 +01:00
UndefinedPony
ed5936ede7 feat: add health endpoint for frontend app 2024-12-31 11:11:33 +01:00
Mohab Gabber
d4f89425db Added GLPI template 2024-12-30 23:45:59 +02:00
190km
a7983f32a6 style: added gap for cards title & gap for tls status & availability 2024-12-30 20:05:44 +01:00
190km
198ace236b feat: shows req when is active 2024-12-30 19:23:31 +01:00
djknaeckebrot
931f3fc28e feat: add checkmate template 2024-12-30 16:08:04 +01:00
DJKnaeckebrot
a4cc3b619a fix: resolve issue with wrong domain 2024-12-30 11:07:28 +01:00
DJKnaeckebrot
cb5077cfcc style(2fa): make pin input centered and make boarder more white to make it more visible 2024-12-30 10:54:47 +01:00
vishalkadam47
9122a1e4b2 refactor: enhance ManageTraefikPorts with ScrollArea for better UI and port management display 2024-12-30 07:32:34 +05:30
Michał Ordon
b2cf442d9b feat(i18n): add missing keys to Polish translation 2024-12-30 01:52:09 +00:00
Mauricio Siu
973b54408e Merge pull request #1027 from Dokploy/canary
v0.16.1
2024-12-29 18:39:17 -06:00
Mauricio Siu
638fbe17a6 refactor: update paths 2024-12-29 18:23:07 -06:00
Mauricio Siu
75e0d0ba78 refactor: add is cloud validation 2024-12-29 18:14:32 -06:00
Mauricio Siu
0f1b911236 chore: bump version 2024-12-29 18:08:20 -06:00
Mauricio Siu
da148a6c50 Merge pull request #959 from szwabodev/feat/localServerTerminal
feat: local server terminal access
2024-12-29 18:06:32 -06:00
Mauricio Siu
c168648cce Merge pull request #1026 from 190km/fix/missing-norwegian-select
fix: missing norwegian lang in select
2024-12-29 17:40:16 -06:00
190km
efd3ad4102 fix: missing norwegian lang in select 2024-12-30 00:30:57 +01:00
Mauricio Siu
a9577395eb Merge pull request #1025 from Dokploy/998-add-unifi-applicaton
feat: add unifi template
2024-12-29 17:19:33 -06:00
Mauricio Siu
1d02d4308f feat: add unifi template 2024-12-29 17:19:17 -06:00
Mauricio Siu
e93e15a9c8 Merge pull request #995 from 190km/refactor-i18n
feat: i18n displays real lang name
2024-12-29 16:14:03 -06:00
Mauricio Siu
511a9beaa5 Merge pull request #1024 from Dokploy/fix/add-fallback-getIp
refactor: add fallback ipv4
2024-12-29 16:13:48 -06:00
Mauricio Siu
ac8c180ba6 refactor: add fallback ipv4 2024-12-29 16:13:06 -06:00
Mauricio Siu
9a2898ba4f Merge pull request #1023 from Dokploy/1008-s3-provider-dropdown-default-value-reset
fix: add provider value in edit destination
2024-12-29 15:56:50 -06:00
Mauricio Siu
2c258c84eb fix: add provider value in edit destination 2024-12-29 15:56:30 -06:00
Mauricio Siu
36511f34f8 Merge branch 'canary' into refactor-i18n 2024-12-29 15:51:17 -06:00
Mauricio Siu
fee5bbc535 Merge pull request #1022 from Dokploy/fix/cron-jobs
fix: add try catch inside of cron jobs
2024-12-29 15:49:28 -06:00
Mauricio Siu
84ad9a5bb3 refactor: revert notifications 2024-12-29 15:45:54 -06:00
Mauricio Siu
69576988eb Merge pull request #1021 from Dokploy/fix/memory-reservation
Fix/memory reservation
2024-12-29 15:36:14 -06:00
Mauricio Siu
d65d050494 fix: add try catch inside of cron jobs 2024-12-29 15:35:15 -06:00
Mauricio Siu
46a5adf793 refactor: remove muted text 2024-12-29 14:17:15 -06:00
Mauricio Siu
5558ee3248 fix: add tooltip and placeholder values 2024-12-29 14:10:41 -06:00
Mauricio Siu
5d8ebd027e fix: parse correctly numbers 2024-12-29 13:53:38 -06:00
Mauricio Siu
9aa49ce9be Merge pull request #1019 from jocubeit/canary
Spelling and grammar corrections
2024-12-29 13:52:31 -06:00
Mauricio Siu
7bcfc17fe9 Merge pull request #1020 from champ3oy/patch-1
convert email to lower case when loging in
2024-12-29 13:34:27 -06:00
cirlorm
5d2d4104f0 convert email to lower case when loging in
I had an issue signing in to my dashboard only to find out it was because the first letter of my email was in caps.
2024-12-29 17:46:44 +00:00
Dom
2af8d6f565 Spelling and grammar corrections 2024-12-29 22:34:57 +10:00
Mauricio Siu
ba45b27608 Merge pull request #1010 from joaotonaco/canary
feat: prevent layout shifting from scrollbar
2024-12-28 19:31:36 -06:00
Mauricio Siu
5aa1c6efb7 Merge pull request #1011 from joaotonaco/fix/inconsistent-service-card-height
fix: inconsistent service card height
2024-12-28 19:30:42 -06:00
Mauricio Siu
e9dad8f9f8 Merge pull request #1016 from 190km/style/swarm
feat: swarm overview style
2024-12-28 19:30:13 -06:00
Mauricio Siu
0c2a382541 Update apps/dokploy/components/dashboard/settings/servers/show-swarm-overview-modal.tsx 2024-12-28 19:29:51 -06:00
190km
81408985d4 feat: swarm overview style 2024-12-29 01:07:47 +01:00
João Gabriel
d45b558251 fix: inconsistent service card height 2024-12-27 11:08:55 -03:00
João Gabriel
a30b1a0cb8 refactor: prevent layout shifting from scrollbar 2024-12-27 10:51:31 -03:00
João Gabriel
c946e3e01b refactor: prevent layout shifting from scrollbar 2024-12-27 10:50:36 -03:00
Mauricio Siu
eb7bae2ef5 Merge pull request #1006 from Dokploy/canary
v0.16.0
2024-12-26 22:52:02 -06:00
Mauricio Siu
4533b193a4 chore: bump version 2024-12-26 22:32:44 -06:00
Mauricio Siu
c22f744e6c Merge pull request #1000 from faytranevozter/feat/simplify-node-logs
Feat: simplify node service log & add badge color on list service/container
2024-12-26 22:23:43 -06:00
Mauricio Siu
d3663eba6b Merge pull request #1005 from Dokploy/fix/swarm-overview
fix: remove unused parsed
2024-12-26 22:18:52 -06:00
Mauricio Siu
f9e4a71144 fix: remove unused parsed 2024-12-26 22:14:18 -06:00
faytranevozter
985b8bc2e0 refactor: extract badgeStateColor function for reuse across log components 2024-12-27 08:48:36 +07:00
Mauricio Siu
87ef889114 Merge pull request #999 from 190km/logs-typo
fix: typo Logssss > Logs
2024-12-26 13:31:57 -06:00
Mauricio Siu
f3494922be Merge pull request #997 from Barsnes/feat/norwegian-lang
feat(i18n): add Norwegian language support
2024-12-26 13:31:21 -06:00
faytranevozter
27252cf58d feat: add badge component to display container state with color coding 2024-12-27 01:44:46 +07:00
faytranevozter
f69fb7684b fix: normalize state string to lowercase and update filter quotes in docker service functions 2024-12-27 01:44:10 +07:00
faytranevozter
20a7995d73 fix: update docker logs command to conditionally include raw flag for swarm 2024-12-27 01:43:52 +07:00
faytranevozter
6df66c3871 fix: correct typo in logs title 2024-12-27 01:34:20 +07:00
usopp
cbfdda1928 fix: typo Logssss > Logs 2024-12-26 17:20:18 +01:00
Tobias Barsnes
766279f265 fix: add norwegian common.json file 2024-12-26 13:30:29 +01:00
Tobias Barsnes
f6e4ae700a feat(i18n): add Norwegian language support 2024-12-26 13:26:16 +01:00
Mauricio Siu
8c8ffe04a7 Merge pull request #926 from thewilloftheshadow/feat/mongo-replica-sets
feat: mongo replica sets
2024-12-25 23:37:29 -06:00
190km
f242f5c65e chore: lint 2024-12-26 01:29:18 +01:00
190km
46348f43f6 chore: lint 2024-12-26 01:26:53 +01:00
190km
c3476a1fdf refactor: refactored i18n to display real lang name 2024-12-26 00:04:50 +01:00
Mauricio Siu
379ea2ac65 Merge pull request #994 from jmsx/canary
feat(i18n): add Spanish language support
2024-12-25 16:34:24 -06:00
Jose Manuel Gonzalez
a172abaee4 feat(i18n): add Spanish language support 2024-12-25 22:44:31 +01:00
Mauricio Siu
a325b293b6 Merge pull request #990 from Dokploy/986-error-to-save-the-deployment
fix: omit macos files and create folders every time
2024-12-25 13:48:48 -06:00
Mauricio Siu
364c2e192e fix: adjust types 2024-12-25 13:45:24 -06:00
Mauricio Siu
d4a3c5cff9 fix: omit macos files and create folders every time 2024-12-25 04:51:49 -06:00
Mauricio Siu
229a9a3a5e Merge pull request #989 from Dokploy/refactor/add-no-trunc
Refactor/add no trunc
2024-12-25 03:54:51 -06:00
Mauricio Siu
5c1993a647 refactor: exclude dokploy services 2024-12-25 03:54:25 -06:00
Mauricio Siu
64a449a09d refactor: add swarm improvements 2024-12-25 03:45:21 -06:00
Mauricio Siu
e65e6d225f refactor: add no trunc 2024-12-25 03:35:21 -06:00
Mauricio Siu
b4fcdc433e feat: add migration 2024-12-25 03:27:46 -06:00
Mauricio Siu
5ce6172187 Merge branch 'canary' into feat/mongo-replica-sets 2024-12-25 03:27:00 -06:00
Mauricio Siu
0affeea5dd remove 2024-12-25 03:26:06 -06:00
Mauricio Siu
8f76d520c8 feat: add replica sets migration 2024-12-25 03:24:18 -06:00
Mauricio Siu
566d9e0bee Merge pull request #931 from faytranevozter/feature/node-cluster-logs
feat: add support for viewing docker logs in swarm mode
2024-12-25 02:52:49 -06:00
Mauricio Siu
da858e215d refactor: add toggle for normal containers & stack 2024-12-25 02:51:44 -06:00
Mauricio Siu
f672c429c4 Merge branch 'canary' into feature/node-cluster-logs 2024-12-25 02:15:14 -06:00
Mauricio Siu
ce34fe3cd8 Merge pull request #985 from Barsnes/chore/autocomplete-off
fix: turn off `autoComplete` for some inputs
2024-12-25 00:48:36 -06:00
Tobias Barsnes
d8dbdb2b9e fix: turn off autoComplete for some inputs 2024-12-25 03:23:02 +01:00
Mauricio Siu
4065ad4428 Update apps/dokploy/components/dashboard/project/add-database.tsx
Co-authored-by: Dominik Koch <dominik@koch-bautechnik.de>
2024-12-24 15:34:09 -06:00
Mauricio Siu
e035062a10 Merge pull request #971 from drudge/cert-enhancements
fix(certificates): ensure certificates are accessible by traefik
2024-12-24 15:33:26 -06:00
Mauricio Siu
36a1daae4b Merge pull request #984 from Dokploy/feat/add-hide-extra-logs
feat: add hide extra logs
2024-12-24 15:13:18 -06:00
Mauricio Siu
830a254837 Merge pull request #979 from drudge/compose-builder-error
fix: show error message when compose builder throws
2024-12-24 15:10:19 -06:00
Mauricio Siu
b8580d69d6 feat: add hide extra logs 2024-12-24 15:09:57 -06:00
Mauricio Siu
e3f1518b0d Merge pull request #977 from drudge/ports-ui
feat(traefik/ports): improved UI
2024-12-24 14:47:58 -06:00
Mauricio Siu
ce19a42aee refactor: use react hook form 2024-12-24 14:47:42 -06:00
Mauricio Siu
28a2ab9aa5 Merge pull request #974 from drudge/preview-deployments
feat(preview-deployments): new UI
2024-12-24 14:31:37 -06:00
Mauricio Siu
0535d780b1 refactor: add missing running state 2024-12-24 14:31:05 -06:00
Mauricio Siu
e1dd666e24 Merge pull request #972 from drudge/traefik-port
fix(setup): use traefik port/version from env
2024-12-24 14:28:10 -06:00
Mauricio Siu
ce71fa4f4d Merge pull request #962 from joaotonaco/feat/discord-emoji-toggle
feat(notifications): discord decoration toggle
2024-12-24 14:13:09 -06:00
Nicholas Penree
364d04f238 fix: show error message when compose builder throws
(cherry picked from commit 3633e3d66ab73a89382d0a2f079af63f57289419)
2024-12-23 22:13:49 -05:00
Nicholas Penree
0db98c0b92 feat(traefik/ports): improved UI 2024-12-23 21:39:16 -05:00
Nicholas Penree
8410d94283 feat(preview-deployments): new UI 2024-12-23 16:55:13 -05:00
Nicholas Penree
56cfd35e7d feat(certificates): clarify you are selecting the cert provider 2024-12-23 12:37:53 -05:00
Nicholas Penree
e7beb5c75b fix(setup): use traefik port/version from env 2024-12-23 10:32:31 -05:00
Nicholas Penree
9c5a61e42f fix(certificates): show proper placeholder for private key format 2024-12-23 09:17:11 -05:00
Nicholas Penree
0ee5a6f13e fix(certificates): ensure certificates are accessible by traefik 2024-12-23 09:16:10 -05:00
João Gabriel
1d35d218ca Merge branch 'canary' into feat/discord-emoji-toggle 2024-12-23 10:08:56 -03:00
Mauricio Siu
96cdffb5b9 Merge pull request #886 from DJKnaeckebrot/feature/delete-docker-volumes
feat: option to delete docker volumes on service deletion
2024-12-23 02:38:28 -06:00
Mauricio Siu
353effd720 refactor: delete log 2024-12-23 02:37:04 -06:00
Mauricio Siu
8bfe1632fa refactor: remove delete volumes 2024-12-23 02:32:43 -06:00
Mauricio Siu
ed543e5397 refactor: lint 2024-12-23 02:28:40 -06:00
djknaeckebrot
c6892ba188 format: fix formatting 2024-12-23 08:39:50 +01:00
djknaeckebrot
fa710d4855 format: fix formatting 2024-12-23 08:39:11 +01:00
djknaeckebrot
375decebb2 chore: remove application delete volume 2024-12-23 08:36:18 +01:00
djknaeckebrot
be2e70a17e chore: only make this apply to compose files 2024-12-23 08:27:45 +01:00
djknaeckebrot
3b4214e040 Merge remote-tracking branch 'origin/feature/delete-docker-volumes' into feature/delete-docker-volumes 2024-12-23 08:13:57 +01:00
djknaeckebrot
43a493bb5a Merge branch 'canary' into feature/delete-docker-volumes 2024-12-23 08:13:12 +01:00
Mauricio Siu
455cae6b8c Merge pull request #938 from 190km/preview-deployment-view
style(preview-deployment): better preview deployment card
2024-12-23 00:40:51 -06:00
Mauricio Siu
869843d9ac Merge pull request #921 from DJKnaeckebrot/feature/swarm-overview
feat: add swarm overview page
2024-12-23 00:09:09 -06:00
Mauricio Siu
d2b662f547 Merge pull request #904 from acgonzales/fix/api-appname
fix: fixed/improved handling of app names in api
2024-12-23 00:08:40 -06:00
Mauricio Siu
31336152ce Merge pull request #968 from drudge/fix-esc-vi
fix: prevent Esc key from closing terminal modals
2024-12-23 00:07:47 -06:00
Mauricio Siu
6afd443257 feat: add swarm overview for servers 2024-12-23 00:03:30 -06:00
Mauricio Siu
1d023ac9f3 Merge pull request #965 from drudge/fancy-ansi
feat(logs): use fancy-ansi for ansi colors
2024-12-22 23:09:02 -06:00
Devin AI
49616e53ea fix: prevent Esc key from closing terminal modals
Co-Authored-By: Nicholas Penree <nick@penree.com>
(cherry picked from commit ee469d5ac3f72cc8e010728cc7c6273c711875b0)
2024-12-22 23:59:57 -05:00
Mauricio Siu
a32e934969 Merge pull request #967 from 190km/white-theme-notifications
style(notifications): fixed white style
2024-12-22 22:59:49 -06:00
190km
eb495b7b99 style: fixed white style 2024-12-23 03:15:11 +01:00
190km
65ddc22010 refactor: removed useless export 2024-12-23 02:41:08 +01:00
190km
7a5b9e3b76 refactor: deleted separate component, and add it to show preview build 2024-12-23 02:34:50 +01:00
Nicholas Penree
5a302d3c47 feat(logs): use fancy-ansi for ansi colors 2024-12-22 15:20:54 -05:00
DJKnaeckebrot
5c5066bc72 chore: remove server from swarms page 2024-12-22 20:07:48 +01:00
UndefinedPony
228d12a61c refactor: code cleanup 2024-12-22 19:01:02 +01:00
UndefinedPony
fd0a9b8b58 feat: add local server config, add local server support in terminal modal, add fixed terminal container height 2024-12-22 18:46:02 +01:00
UndefinedPony
1ea7d2e1bf feat: enable server translations for servers page 2024-12-22 18:44:38 +01:00
UndefinedPony
7e08c8881e refactor: adapt terminal component to pass local server data and add initialized check 2024-12-22 16:37:26 +01:00
UndefinedPony
e68d867d31 refactor: adapt terminal wss to allow local server connection, add status logs 2024-12-22 16:35:28 +01:00
UndefinedPony
a53929a787 feat: add enter terminal option to server dropdown 2024-12-22 16:32:20 +01:00
UndefinedPony
ec8eaf6249 feat: add util to configure and get private ssh key for local ssh connection 2024-12-22 16:31:52 +01:00
UndefinedPony
0d58935ad1 refactor: translations for common terminal stuff 2024-12-22 16:30:53 +01:00
Mauricio Siu
f7c8324c4b Merge pull request #963 from Dokploy/540-need-more-control-over-docker-compose-command-in-deployments
540 need more control over docker compose command in deployments
2024-12-22 01:55:49 -06:00
Mauricio Siu
c0e9670daf refactor: delete log 2024-12-22 01:53:30 -06:00
Mauricio Siu
a710728e77 feat: add support for custom command 2024-12-22 01:51:05 -06:00
João Gabriel
80bd80b786 refactor: make decoration prop optional at discord tester schema 2024-12-22 01:08:34 -03:00
João Gabriel
6e262cde0d fix: update discord notification decoration 2024-12-22 01:07:29 -03:00
João Gabriel
21b2cce7a0 fix: send decoration prop to notification tester 2024-12-22 01:06:47 -03:00
João Gabriel
870e074825 feat: implement decoration to embeds 2024-12-22 00:44:25 -03:00
João Gabriel
055b59e6fa feat: discord decoration switch 2024-12-22 00:42:00 -03:00
João Gabriel
8c06296503 feat: add decoration column to discord notification 2024-12-22 00:39:18 -03:00
190km
29ce8908ee refactor: remove all the props except id, serverid, isloading, and delete function 2024-12-21 23:11:55 +01:00
Mauricio Siu
839e1c0f9f Merge pull request #961 from Dokploy/canary
v0.15.1
2024-12-21 15:42:19 -06:00
Mauricio Siu
54dd531a26 Merge branch 'main' into canary 2024-12-21 15:36:20 -06:00
Mauricio Siu
7ebf5ad0f9 chore: bump version 2024-12-21 15:28:27 -06:00
Mauricio Siu
b85163d935 refactor: add conditional value 2024-12-21 15:10:00 -06:00
Mauricio Siu
a953e59327 Merge pull request #960 from Dokploy/fix/add-latest-cases
refactor: update digest
2024-12-21 15:00:51 -06:00
Mauricio Siu
b2661e4533 refactor: update 2024-12-21 14:58:58 -06:00
Mauricio Siu
883459624e refactor: update digest 2024-12-21 14:54:14 -06:00
Mauricio Siu
6e2b2d564b refactor: add missing additional ports 2024-12-21 14:11:06 -06:00
Mauricio Siu
065963857c Merge pull request #958 from Dokploy/fix/update-fetch
Fix/update fetch
2024-12-21 13:50:13 -06:00
Mauricio Siu
a0c9df4bd4 refactor: add 7 minutes interval 2024-12-21 13:35:17 -06:00
Mauricio Siu
68c8c70260 refactor: iterate pages 2024-12-21 13:34:50 -06:00
Mauricio Siu
a926f28d30 Merge pull request #930 from lost-end-found/additional-ports-management
feat(ports): implement additional ports management
2024-12-21 13:30:32 -06:00
Mauricio Siu
59c0636fb0 refactor: add is cloud to fn 2024-12-21 13:19:30 -06:00
Mauricio Siu
ae159c5678 refactor: add tag to web server update 2024-12-21 13:13:38 -06:00
Mauricio Siu
0abf62dd52 refactor: prevent update appName in services 2024-12-21 13:10:34 -06:00
UndefinedPony
e2b155280a feat: add enter terminal translation 2024-12-21 20:08:08 +01:00
Mauricio Siu
e42e9bec17 refactor: use schema inline 2024-12-21 12:48:32 -06:00
Mauricio Siu
978324e2bf Merge pull request #957 from drudge/check-for-updates
New Updates UI
2024-12-21 12:47:24 -06:00
Nicholas Penree
8f05f06259 Merge remote-tracking branch 'dokploy/canary' into check-for-updates 2024-12-21 13:47:01 -05:00
Mauricio Siu
392be2cfa2 Merge pull request #951 from szwabodev/checkUpdatesTweaks
feat: automatic check for updates
2024-12-21 12:45:39 -06:00
Mauricio Siu
18e89df9a5 Update apps/dokploy/components/layouts/navbar.tsx 2024-12-21 12:45:14 -06:00
UndefinedPony
4d2a9f8aa7 refactor: use dynamic tag for comparing latest tag digest 2024-12-21 13:35:39 -05:00
Nicholas Penree
d08530d451 feat(updates): clean up light mode 2024-12-21 13:02:58 -05:00
UndefinedPony
6c9b12cee9 refactor: use dynamic tag for comparing latest tag digest 2024-12-21 18:33:22 +01:00
Nicholas Penree
a8ff6c7b3f feat(updates): new update UI 2024-12-21 11:24:19 -05:00
UndefinedPony
8699e024ee refactor: add try catch, add default update data 2024-12-21 10:05:31 +01:00
Mauricio Siu
73782ffd26 Merge pull request #954 from Dokploy/915-daily-docker-cleanup-seems-to-be-doing-nothing
fix: add missing notifications in cron jobs
2024-12-21 02:51:52 -06:00
Mauricio Siu
7a8bb8f71d fix: add missing notifications in cron jobs 2024-12-21 02:45:58 -06:00
UndefinedPony
18eae9f7d7 refactor: use service image sha instead of image itself for checking updates 2024-12-21 09:04:25 +01:00
Mauricio Siu
1aae523a0b refactor: add missing verifyToken 2024-12-21 01:53:39 -06:00
UndefinedPony
f40e802331 fix: pull latest release in case of no image when checking update 2024-12-21 08:47:21 +01:00
Mauricio Siu
d979aa17c2 Merge pull request #948 from 190km/notifications-style
style(notifications): better notification item style
2024-12-20 23:34:57 -06:00
Mauricio Siu
e2d20fb0e3 Merge pull request #929 from drudge/certificate-details
feat(certs): show expiration and chain details
2024-12-20 23:23:33 -06:00
Mauricio Siu
62f59c1f9a Merge pull request #941 from mezotv/bump-plausible
feat(plausible): bump to 2.1.4
2024-12-20 23:17:22 -06:00
Mauricio Siu
93e1071057 Merge pull request #949 from 190km/fix-edit-password
fix(settings/profile): edit profile password fixed
2024-12-20 23:17:07 -06:00
Mauricio Siu
788771c5eb refactor: add password in validation 2024-12-20 23:16:38 -06:00
UndefinedPony
ab9aa56c48 refactor: disable automatic updates for cloud version 2024-12-20 18:57:28 +01:00
UndefinedPony
4565b3d7a2 refactor: add latestVersion information to update data 2024-12-20 18:26:54 +01:00
UndefinedPony
c8514e3a1b refactor: remove unused async 2024-12-20 17:32:10 +01:00
UndefinedPony
a06dd17aa1 feat(navbar): add automatic update checking interval, add update available button 2024-12-20 17:30:14 +01:00
UndefinedPony
256534570b refactor: add image tag helper, refactor update check logic, remove try/catch 2024-12-20 17:29:01 +01:00
UndefinedPony
2804748118 refactor: rename action, move pull to updateServer 2024-12-20 17:27:51 +01:00
UndefinedPony
e6bc40e7fe refactor: adapt to navbar version, move confirm action, add reload info 2024-12-20 17:27:14 +01:00
UndefinedPony
196603126b refactor: move check updates function, use new api 2024-12-20 17:26:31 +01:00
UndefinedPony
a5cd8f18cd feat: show auto check update toggle 2024-12-20 17:23:02 +01:00
UndefinedPony
b842887bc3 feat: add toggle for auto updates checking 2024-12-20 16:43:05 +01:00
UndefinedPony
dd64b06340 style: format with biome 2024-12-20 14:09:05 +01:00
UndefinedPony
d9a1976cc0 fix: check updates message fixes 2024-12-20 14:01:55 +01:00
190km
fdfa927532 feat(settings/profile): reset password form after validating password change 2024-12-20 01:00:16 +01:00
190km
bf2551b0f6 fix(settings/profile): fixed password changing 2024-12-20 00:54:32 +01:00
usopp
ed8be62ff3 chore: lint 2024-12-20 00:24:44 +01:00
usopp
77336a21f9 chore: lint 2024-12-20 00:21:51 +01:00
usopp
e05d01788f style(notifications): better notification item style 2024-12-20 00:11:48 +01:00
Dominik Koch
651e81ce6d feat(plausible): bump to 2.1.4 2024-12-19 11:22:58 +01:00
Mauricio Siu
fac29b70a5 Merge pull request #937 from drudge/fix-custom-registry
fix(docker): fix for custom registry login
2024-12-19 02:14:34 -06:00
Mauricio Siu
95eaab43df Merge pull request #936 from drudge/fix-light-term
fix(term): fix light mode foreground color
2024-12-19 02:14:26 -06:00
Mauricio Siu
abdef13b93 refactor: set current color 2024-12-19 02:14:06 -06:00
Mauricio Siu
65f397e1b1 Merge pull request #939 from 190km/2fa-typo-login
fix(2fa-login): typo - Setup -> Login
2024-12-19 02:08:26 -06:00
Mauricio Siu
1ae96297e8 refactor: update lint 2024-12-19 02:07:08 -06:00
Mauricio Siu
c51b502116 refactor: add path join to prevent concatenate double slash and update the getImageName 2024-12-19 02:05:30 -06:00
Mauricio Siu
5a42b78098 Merge pull request #940 from drudge/wrap-secrets
fix(preview-deployments): wrap long envs
2024-12-19 01:19:01 -06:00
Nicholas Penree
b39c0ef915 fix(preview-deployments): wrap long envs 2024-12-18 23:00:50 -05:00
Nicholas Penree
844d582147 fix(docker): fix for custom registry login 2024-12-18 21:58:22 -05:00
190km
0b51088489 fix: typo - Setup -> Login 2024-12-19 02:10:07 +01:00
usopp
9d1cf3736b chore: lint 2024-12-19 01:58:18 +01:00
usopp
3a95474662 chore: lint 2024-12-19 01:44:20 +01:00
190km
3858205e52 style: better preview deployment card 2024-12-18 22:36:57 +01:00
Nicholas Penree
1dece58cff fix(term): fix light mode foreground color
closes #907
2024-12-18 13:56:09 -05:00
Shadow
06b8c82484 feat: add a toggle for replica sets to be used or not 2024-12-18 11:50:30 -06:00
DJKnaeckebrot
8ea453f444 feat: add application handling 2024-12-18 13:01:09 +01:00
djknaeckebrot
63c0912849 xMerge branch 'canary' into feature/delete-docker-volumes 2024-12-18 12:10:04 +01:00
faytranevozter
6211a19805 feat: add support for viewing docker logs in swarm mode 2024-12-18 16:40:33 +07:00
Larry Ioannidis
d22330f983 feat(ports): implement additional ports management 2024-12-18 09:39:20 +00:00
djknaeckebrot
8642d8235e chore: add seperator and make tittles big 2024-12-18 09:14:10 +01:00
djknaeckebrot
b52f57cb0d chore: remove imports 2024-12-18 08:51:49 +01:00
djknaeckebrot
d4d74d3831 refactor: remove not needed import, move to better folder structure 2024-12-18 08:49:02 +01:00
djknaeckebrot
9d497142db feat: add latest cards 2024-12-18 08:43:07 +01:00
Mauricio Siu
852895c382 Merge pull request #912 from drudge/new-ansi-logs
feat(logs): support ansi codes
2024-12-17 23:55:12 -06:00
Mauricio Siu
20d5913820 Merge pull request #910 from drudge/canary
feat(cluster): use code editor for node config
2024-12-17 23:52:25 -06:00
Mauricio Siu
f1b4a73158 Merge pull request #928 from drudge/discord-notif
feat(discord): remove dots
2024-12-17 23:51:01 -06:00
Mauricio Siu
3830f6c4ee Merge pull request #925 from mohabgabber/canary
Added onedev docker compose
2024-12-17 23:50:33 -06:00
Mauricio Siu
5c8eda2405 Update apps/dokploy/templates/onedev/docker-compose.yml 2024-12-17 23:47:48 -06:00
Mauricio Siu
6bf85bcfa3 Merge branch 'canary' into new-ansi-logs 2024-12-17 23:43:18 -06:00
Mauricio Siu
bc03e718bf Merge pull request #911 from 190km/mutlti-select-fiter-logs
feat(logs): multi select fiter logs & hide/show timestamp
2024-12-17 23:42:50 -06:00
Nicholas Penree
a941efb1ff feat(certs): show expiration and chain details 2024-12-17 23:17:29 -05:00
Nicholas Penree
fe2de6b899 feat(discord): remove dots 2024-12-17 22:03:58 -05:00
djknaeckebrot
752c9f2818 style: remove bg and border 2024-12-17 21:35:32 +01:00
djknaeckebrot
577b126e66 feat: make bg transparent 2024-12-17 21:19:38 +01:00
djknaeckebrot
be237ae4cf chore: comment out refresh for now 2024-12-17 21:07:47 +01:00
djknaeckebrot
3080926a50 feat: add new items 2024-12-17 21:07:30 +01:00
djknaeckebrot
e3ee89104b chore: remove tables and add new cards 2024-12-17 20:48:56 +01:00
djknaeckebrot
f98f18b331 feat: add monitoring card 2024-12-17 20:48:35 +01:00
Shadow
8505236263 feat: mongo replica sets 2024-12-17 12:59:18 -06:00
usopp
b3313cf975 style: better white style 2024-12-17 19:16:40 +01:00
Mohab Gabber
4e31d8ac02 Added onedev to templates.ts and onedev's icon 2024-12-17 18:51:38 +02:00
Mohab Gabber
536507377d Added onedev docker compose 2024-12-17 17:23:26 +02:00
djknaeckebrot
763219e859 refactor: streamline imports and improve code formatting in ShowSwarmNodes component 2024-12-17 12:12:48 +01:00
djknaeckebrot
3fc5bfc5c5 feat: implement fetching of Docker service applications and their details 2024-12-17 12:11:43 +01:00
djknaeckebrot
813da8f811 refactor: clean up code formatting and improve readability in swarm dashboard 2024-12-17 12:06:08 +01:00
djknaeckebrot
5716954665 feat: add components for displaying swarm node details and applications 2024-12-17 12:05:39 +01:00
djknaeckebrot
04d3eb9ec0 feat: add swarm tab and dashboard page for managing Docker swarm 2024-12-17 12:05:02 +01:00
djknaeckebrot
b592a025e4 feat: add swarm router and related Docker service functions 2024-12-17 12:04:49 +01:00
Nicholas Penree
6db9c99080 feat(logs): add number of lines filter 2024-12-16 20:12:05 -05:00
Nicholas Penree
7e8953ff44 chore: lint 2024-12-16 17:18:11 -05:00
Nicholas Penree
81c85ce155 fix: don't trigger if already selected 2024-12-16 17:12:18 -05:00
Nicholas Penree
bd16e03602 chore: lint 2024-12-16 17:07:31 -05:00
190km
87a5ce2053 fix: timestamp width 2024-12-16 22:55:36 +01:00
Nicholas Penree
ca4820940e feat(logs): filter improvements 2024-12-16 16:55:13 -05:00
190km
71fe6de9cb feat(logs): added show/hide timestamp option 2024-12-16 21:27:32 +01:00
Nicholas Penree
9ff4968e61 feat(logs): support ansi codes 2024-12-16 14:59:35 -05:00
190km
2312ae1c12 fix: fixed lint 2024-12-16 19:56:47 +01:00
190km
b03011a94f feat(logs): replaced the log type component with the new 2024-12-16 19:50:13 +01:00
190km
7577e40b25 feat(logs): added filter log type component 2024-12-16 19:49:09 +01:00
Nicholas Penree
75e34285ef feat(cluster): use code editor for node config 2024-12-16 11:51:17 -05:00
Aaron Gonzales
8e5b0988cf fix: fixed/improved handling of app names in api 2024-12-16 18:13:07 +08:00
Mauricio Siu
038df9c8a7 Merge pull request #897 from Dokploy/canary
v0.15.0
2024-12-15 21:49:15 -06:00
Mauricio Siu
829aa2a63c Merge pull request #901 from Dokploy/feat/security
Feat: add remote server audit
2024-12-15 21:38:37 -06:00
Mauricio Siu
91e90fc379 Merge pull request #900 from drudge/canary
chore: clean up page titles
2024-12-15 21:38:28 -06:00
Mauricio Siu
a1e13ee964 refactor: set audit 2024-12-15 21:37:33 -06:00
Mauricio Siu
341af1bd07 feat: add loader to enhance ux/ui 2024-12-15 21:33:10 -06:00
Nicholas Penree
8a274d10eb chore: clean up page titles 2024-12-15 22:21:10 -05:00
Mauricio Siu
6c586f9606 refactor: add experimental advice 2024-12-15 21:18:23 -06:00
Mauricio Siu
dcb1ea37c3 feat: add server audit 2024-12-15 21:16:14 -06:00
Mauricio Siu
58c2ceb355 feat: add security audit 2024-12-15 21:13:37 -06:00
Mauricio Siu
beae03b53d Merge pull request #898 from drudge/canary
feat(server): monospace script editor
2024-12-15 20:48:38 -06:00
Nicholas Penree
55ec25f5e8 feat(server): edit copy on script editor 2024-12-15 21:24:27 -05:00
Nicholas Penree
9382acb40c feat(server): monospace script editor 2024-12-15 21:16:39 -05:00
Mauricio Siu
c0acdc5df1 refactor: add audit 2024-12-15 19:55:45 -06:00
Mauricio Siu
413536a336 chore: bump version 2024-12-15 19:30:05 -06:00
Mauricio Siu
190f45b3a8 Merge pull request #857 from 190km/new-logs
feat(logs): new railway inspired logs
2024-12-15 19:29:26 -06:00
Mauricio Siu
e6c242a064 refactor: set logs no found when the search is empty 2024-12-15 19:24:50 -06:00
Mauricio Siu
c2fe1eed01 fix: remote server search add long buffering 2024-12-15 19:18:41 -06:00
Mauricio Siu
676082fc5b Merge branch 'canary' into new-logs 2024-12-15 19:01:26 -06:00
Mauricio Siu
b676b1a2de Merge pull request #894 from Dokploy/feat/improve-cloud
refactor: remove unused files
2024-12-15 18:50:46 -06:00
Mauricio Siu
5885712c6a Merge pull request #896 from drudge/copy-delete
feat(delete): add quick copy to resource to clipboard in delete modal
2024-12-15 18:49:51 -06:00
Mauricio Siu
afedeede16 feat: add self remove accounts 2024-12-15 18:45:02 -06:00
Nicholas Penree
5f09018199 feat(delete): add quick copy to resource to clipboard in delete modal 2024-12-15 19:17:46 -05:00
Mauricio Siu
9d37876bc4 feat: add reset onboarding 2024-12-15 15:03:25 -06:00
Mauricio Siu
775107ec24 feat: add dokploy cloud modal 2024-12-15 14:54:38 -06:00
DJKnaeckebrot
7725b3ca36 Merge branch 'Dokploy:canary' into feature/delete-docker-volumes 2024-12-15 19:42:34 +01:00
Mauricio Siu
5f297fd984 feat: add react tour 2024-12-15 02:14:43 -06:00
Mauricio Siu
86aba9ce3e refactor: remove cols 2024-12-14 23:12:21 -06:00
Mauricio Siu
c6e512bec1 refåctor: remove files 2024-12-14 23:06:54 -06:00
Mauricio Siu
fc2b0abdb1 Revert "refactor: remove unsued files"
This reverts commit d20f86ffe1.
2024-12-14 23:05:19 -06:00
Mauricio Siu
d20f86ffe1 refactor: remove unsued files 2024-12-14 22:46:01 -06:00
190km
1157e08aa1 fix: log line came out of the div 2024-12-15 04:21:38 +01:00
Mauricio Siu
e643255a67 Merge pull request #893 from Dokploy/510-fractional-cpu-reservation-and-limit
refactor: remove calculation and pass resources as the docker api expect
2024-12-14 20:40:16 -06:00
Mauricio Siu
7521bc8297 refactor: remove calculation and pass resources as the docker api expect 2024-12-14 20:38:33 -06:00
Mauricio Siu
a63981fa15 Merge pull request #892 from Dokploy/680-redirect-to-the-deployment-logs
feat: redirect to deployments when click on deploy
2024-12-14 20:30:15 -06:00
Mauricio Siu
ea0f797d0f feat: redirect to deployments when click on deploy 2024-12-14 20:28:28 -06:00
Mauricio Siu
181a2ca3c9 Merge pull request #891 from Dokploy/769-elasticsearch-new-db-template
769 elasticsearch new db template
2024-12-14 20:18:49 -06:00
Mauricio Siu
3fe057c7f8 refactor: set version 2024-12-14 20:17:38 -06:00
Mauricio Siu
1e834ed1d9 feat: add elastic search 2024-12-14 20:17:20 -06:00
Mauricio Siu
9f84545fc7 Merge pull request #890 from Dokploy/889-search-for-templates-only-takes-into-account-the-template-title-missing-description-matches
refactor: add description on search
2024-12-14 12:38:05 -06:00
Mauricio Siu
690a2e7467 refactor: add description on search 2024-12-14 12:37:50 -06:00
190km
995d9004f3 style: fix text light theme 2024-12-14 18:23:00 +01:00
djknaeckebrot
ef89d05077 Merge branch 'canary' into feature/delete-docker-volumes 2024-12-14 11:07:08 +01:00
Mauricio Siu
0a3ab7ceac Merge pull request #868 from DJKnaeckebrot/feat/page-titles
feat: add page titles
2024-12-14 02:28:31 -06:00
Mauricio Siu
2fd4d580d5 Merge pull request #880 from DJKnaeckebrot/feature/penpot-template
feat: add penpot template
2024-12-14 02:27:01 -06:00
Mauricio Siu
33e2fa3ce3 Merge branch 'canary' into feature/penpot-template 2024-12-14 02:26:35 -06:00
Mauricio Siu
d320847da4 refactor: remove traefik 2024-12-14 02:25:35 -06:00
Mauricio Siu
9e84bf324e Merge pull request #875 from DJKnaeckebrot/feature/huly-template
feat: add huly template
2024-12-14 01:48:11 -06:00
Mauricio Siu
db469e60ad Merge branch 'canary' into feature/huly-template 2024-12-14 01:37:13 -06:00
Mauricio Siu
0f949b3273 Merge pull request #874 from DJKnaeckebrot/feature/langflow-template
feat: add langflow template
2024-12-14 01:36:23 -06:00
Mauricio Siu
166b65c50e refactor: add env variables 2024-12-14 01:34:05 -06:00
Mauricio Siu
274c65cbcd refactor: add unsend 2024-12-14 01:29:39 -06:00
Mauricio Siu
b538a632d9 Merge branch 'canary' into feature/langflow-template 2024-12-14 01:28:38 -06:00
Mauricio Siu
765c6442cb Merge pull request #869 from DJKnaeckebrot/feature/unsend-dev-template
feat: add unsend template
2024-12-14 01:24:09 -06:00
Mauricio Siu
115ed7e7bf refactor: remove is loading false 2024-12-14 01:17:13 -06:00
190km
0644842305 style: selects width 2024-12-14 03:00:05 +01:00
190km
a9c62b47ef style: selects wididth 2024-12-14 02:58:21 +01:00
190km
138650d561 feat: improved deployment view scroll & style 2024-12-14 01:30:36 +01:00
190km
280be5c9df style: fixed select sizes 2024-12-13 21:13:10 +01:00
190km
7726fa6112 style: make selects responsive 2024-12-13 20:29:26 +01:00
190km
c71d12fd06 feat: added info possibilities & debug more debug possibilities 2024-12-13 20:21:00 +01:00
usopp
3df3d187e4 feat: added deployment loader & lines count 2024-12-13 19:41:02 +01:00
djknaeckebrot
8ce9db8dd6 feat: add penpot template 2024-12-13 19:40:49 +01:00
190km
6773458da3 fix: text came out of the parent div 2024-12-13 18:29:18 +01:00
djknaeckebrot
92c2a83d92 feat: add filter to delete volumes is wanted 2024-12-13 16:34:46 +01:00
djknaeckebrot
3decbd5207 feat: add new form validator 2024-12-13 16:34:29 +01:00
djknaeckebrot
8779c67b71 refactor: change import names 2024-12-13 16:34:12 +01:00
djknaeckebrot
4dc7d9e3c8 feat: add params to mutation 2024-12-13 16:33:54 +01:00
djknaeckebrot
a439286e5f feat: add UI selection 2024-12-13 16:14:52 +01:00
Nicholas Penree
e5d5a98bab feat(logs): preserve whitespace in log line 2024-12-13 09:15:56 -05:00
Nicholas Penree
4311ba93f3 chore: lint/typecheck 2024-12-13 09:00:17 -05:00
djknaeckebrot
e0b596ec76 chore: set static minio version 2024-12-13 14:14:22 +01:00
djknaeckebrot
379ba20930 feat: add huly.io template 2024-12-13 13:55:57 +01:00
djknaeckebrot
236e511adc feat: add langflow template 2024-12-13 12:02:01 +01:00
djknaeckebrot
0b37e171c5 chore: add fixed versions 2024-12-13 09:20:23 +01:00
Mauricio Siu
1df1e7b50b Merge pull request #870 from drudge/setup
fix(setup/validate): arm64 build fixes, improved validation
2024-12-13 01:07:13 -06:00
Mauricio Siu
f15a5bc22d Update apps/dokploy/templates/unsend/index.ts 2024-12-13 00:50:12 -06:00
Mauricio Siu
469871d383 Update apps/dokploy/templates/unsend/docker-compose.yml 2024-12-13 00:50:08 -06:00
Mauricio Siu
e22b6ab9be Update apps/dokploy/templates/unsend/docker-compose.yml 2024-12-13 00:50:04 -06:00
Mauricio Siu
b01b05077d Update apps/dokploy/templates/unsend/docker-compose.yml 2024-12-13 00:49:58 -06:00
Mauricio Siu
22122361ba Update apps/dokploy/templates/unsend/docker-compose.yml 2024-12-13 00:49:54 -06:00
Mauricio Siu
87c1ce68b9 Update apps/dokploy/templates/unsend/docker-compose.yml 2024-12-13 00:49:49 -06:00
Mauricio Siu
4c8619677b Update apps/dokploy/templates/unsend/docker-compose.yml 2024-12-13 00:49:45 -06:00
Mauricio Siu
7f705e31d3 Merge pull request #867 from DJKnaeckebrot/feat/add-vscode-settings-for-same-formatting
format: setup .vscode folder with biome.js for consistent format and spacing
2024-12-13 00:39:18 -06:00
Mauricio Siu
20432ebc3f Merge pull request #856 from DJKnaeckebrot/feat/project-search
feat: add global search command
2024-12-13 00:38:07 -06:00
Nicholas Penree
a51a7a82d2 feat(setup): remove debconf warnings during setup 2024-12-12 23:58:56 -05:00
Nicholas Penree
5ba19686c8 feat(setup): align pass/fail icons at the end 2024-12-12 23:57:54 -05:00
Nicholas Penree
22a2e64563 feat(logs): tooltip improvements (break out, no delay) 2024-12-12 23:12:13 -05:00
190km
37ee89e6ab fix: debug value in select 2024-12-13 00:53:58 +01:00
190km
cb487b8be0 feat: added debug log type & noTimestamp props for TerminalLine 2024-12-12 21:53:10 +01:00
DJKnaeckebrot
26f8719e5f fix: wrong port publishing 2024-12-12 21:41:57 +01:00
190km
3bc1bd5b15 feat: added more log success filter 2024-12-12 21:10:19 +01:00
190km
ee622b1ba0 feat: added new logs styling in deployments views 2024-12-12 21:00:17 +01:00
190km
fe088bad3b feat: add loading spinner when logs are being loaded 2024-12-12 19:54:44 +01:00
usopp
d374f5eedf fix: no time found block same width as the timestamp ones 2024-12-12 19:28:16 +01:00
Nicholas Penree
1c498ee2d2 fix(setup/validate): arm64 build fixes, improved validation 2024-12-12 12:11:30 -05:00
djknaeckebrot
d7e5eb6dfd feat: add unsend template 2024-12-12 16:46:58 +01:00
djknaeckebrot
f71e04eaaa feat: add page titles 2024-12-12 12:56:55 +01:00
djknaeckebrot
fc9808e295 feat: added .vscode folder
Added settings.json to use biome.js formatter by default
Added extentions.json to recommend to install biome.js

This all is to keep spacing the same across different contributors and to make it easier for people to get started contributing
2024-12-12 11:56:57 +01:00
djknaeckebrot
bc2a286e1d fix: close modal after selection of item 2024-12-12 08:48:23 +01:00
djknaeckebrot
6c582eb91d chore: close when project or app is selected
chore: better closing checks
fix: url for projects
2024-12-12 08:43:41 +01:00
djknaeckebrot
e3b2a401a7 fix: resolve issue with same names 2024-12-12 08:39:29 +01:00
djknaeckebrot
6c55143e96 chore: remove debug logging 2024-12-12 08:33:23 +01:00
djknaeckebrot
19a0550b32 style: change status indication 2024-12-12 08:32:18 +01:00
Mauricio Siu
bb31bef8bc Merge pull request #865 from drudge/config-code-editor
feat(docker): use code editor when displaying container config
2024-12-11 23:31:21 -06:00
Mauricio Siu
abc606d8d9 Merge pull request #864 from mezotv/dynamic-timestamp
feat(dynamic timestamp): add dynamic discord timestamps
2024-12-11 23:28:47 -06:00
Mauricio Siu
749dd03fe6 Merge pull request #859 from kawws/feature/github-app
feat: improve github app validation
2024-12-11 23:25:27 -06:00
Mauricio Siu
858d7e5c11 Merge pull request #863 from 190km/italian-lang
feat(i18n): add italian language support
2024-12-11 23:12:31 -06:00
Mauricio Siu
079b7b8e72 Merge branch 'canary' into italian-lang 2024-12-11 23:11:22 -06:00
Nicholas Penree
179f3818f0 feat(docker): use code editor when displaying container config 2024-12-11 22:53:10 -05:00
Nicholas Penree
8546031df0 feat(logs): lint 2024-12-11 19:32:34 -05:00
Nicholas Penree
16ca198eb4 feat(logs): better download file names 2024-12-11 19:31:37 -05:00
Nicholas Penree
9b5b452d90 Merge pull request #2 from drudge/log-test
feat(logs): improvements based on feedback
2024-12-11 19:23:45 -05:00
Nicholas Penree
2fa6f3bfa6 feat(logs): lint 2024-12-11 19:20:30 -05:00
Nicholas Penree
42f3105f69 feat(logs): improvements based on feedback 2024-12-11 19:13:53 -05:00
Dominik Koch
a08ba7e8b5 feat(dynamic timestamp): add dynamic discord timestamps 2024-12-11 21:18:01 +00:00
190km
a51ada4a1e feat(i18n): add italian language support 2024-12-11 20:39:59 +01:00
190km
50b1de9594 feat: added appname as filename when export 2024-12-11 20:26:19 +01:00
190km
cb90281583 feat: added appname as filename when export 2024-12-11 20:25:49 +01:00
usopp
20b253e708 removed useless state 2024-12-11 18:03:28 +01:00
190km
9a51e0a00d show a message about no matches found 2024-12-11 17:58:35 +01:00
190km
49b812e462 Merge pull request #1 from drudge/log-test
feat(logs): improvements to searching
2024-12-11 16:49:05 +01:00
Nicholas Penree
7233667d49 feat(logs): improvements to searching 2024-12-11 10:35:12 -05:00
Nicholas Penree
95cd410825 feat(logs): improvements to searching 2024-12-11 10:29:09 -05:00
Andreassenemyr
5b8ebdaaa4 feat: improve github app validation 2024-12-11 13:31:07 +01:00
djknaeckebrot
343d5ae6a2 feat: add service status 2024-12-11 08:27:18 +01:00
djknaeckebrot
e16ce0c817 refactor: only show Monitoring, Traefik, Docker and Requests when installation is not a cloud installation 2024-12-11 07:36:23 +01:00
Mauricio Siu
3b2440b1db Merge pull request #835 from Dokploy/560-self-hosted-gitlab
560 self hosted gitlab
2024-12-10 22:07:59 -06:00
Mauricio Siu
2f72ccbea7 Merge pull request #855 from hua1995116/fix/memory-bug
fix: error about memoryReservation not set
2024-12-10 21:55:41 -06:00
Mauricio Siu
be47f6d09a Merge pull request #848 from minagishl/feat/i18n-ja
feat(i18n): add japanese language support
2024-12-10 21:54:06 -06:00
Mauricio Siu
9a65bf8e21 chore: remove unused file 2024-12-10 21:53:32 -06:00
Mauricio Siu
15959fa91f fix: add missing migration 2024-12-10 21:52:09 -06:00
Mauricio Siu
f0c14d144c Merge branch 'canary' into 560-self-hosted-gitlab 2024-12-10 21:50:09 -06:00
Mauricio Siu
725b763aa8 Merge pull request #854 from DJKnaeckebrot/560-self-hosted-gitlab
560 self hosted gitlab additions
2024-12-10 21:48:39 -06:00
Mauricio Siu
c0bfd7dde7 Merge pull request #851 from drudge/n8n-template-update
chore: update n8n template to 1.70.3
2024-12-10 21:45:23 -06:00
Mauricio Siu
31ba5a784d Merge pull request #850 from drudge/logto-template
feat: add Logto template
2024-12-10 21:45:09 -06:00
190km
00f9e262a9 feat(logs): new logs style and system 2024-12-11 00:20:22 +01:00
djknaeckebrot
54b6a850b7 refactor: make command globally available 2024-12-10 14:15:39 +01:00
djknaeckebrot
029cbf4498 refactor: change location of search-command 2024-12-10 14:09:04 +01:00
hua1995116
8a1cba470c fix: error about memoryReservation not set 2024-12-10 20:40:26 +08:00
djknaeckebrot
84bb98c7e6 feat: add search command dialog with projects and services 2024-12-10 13:37:57 +01:00
djknaeckebrot
cbf0f37a49 feat: add search command dialog with projects and services 2024-12-10 13:37:46 +01:00
djknaeckebrot
2c22aa3689 chore: remove debug logs 2024-12-10 10:25:48 +01:00
Mauricio Siu
46289305e8 Merge pull request #853 from Dokploy/canary
v0.14.1
2024-12-10 02:51:45 -06:00
Mauricio Siu
0b3e15aabc Merge pull request #852 from Dokploy/fix/nixpacks-version
fix: pin nixpacks version
2024-12-10 02:50:26 -06:00
Mauricio Siu
69a3583717 chore: bump version 2024-12-10 02:39:31 -06:00
Mauricio Siu
bc55fde6d6 fix: pin nixpacks version 2024-12-10 02:38:50 -06:00
djknaeckebrot
1cb1da8097 fix: replace hardcoded gitlab.com with dynamic urls 2024-12-10 09:19:01 +01:00
djknaeckebrot
0698ac8318 chore: remove debug output 2024-12-10 08:54:22 +01:00
djknaeckebrot
7ced6840fa fix: change hardcoded gitlab.com to gitlabUrl 2024-12-10 08:53:53 +01:00
djknaeckebrot
22e6d07f60 fix: hardcoded gitlab.com to gitlabUrl 2024-12-10 08:37:55 +01:00
Nicholas Penree
6a9690fe3c chore: update n8n template to 1.70.3 2024-12-09 22:57:32 -05:00
Nicholas Penree
1c02478688 feat: add Logto template 2024-12-09 22:28:47 -05:00
minagishl
bbe72ad584 feat(i18n): add japanese language support 2024-12-09 15:15:16 +09:00
Mauricio Siu
83b3176f6f Merge pull request #837 from wish-oss/fix/gpu-setup
fix: update GPU setup command to use sudo and add error handling
2024-12-08 22:09:23 -06:00
Mauricio Siu
7ecd1627c8 Merge pull request #845 from Dokploy/canary
v0.14.0
2024-12-08 20:59:38 -06:00
Mauricio Siu
96fbfa7ef5 Merge pull request #847 from Dokploy/feat/improve-server-setup
Feat/improve server setup
2024-12-08 20:06:02 -06:00
Mauricio Siu
6874ede933 refactor: show validate server enabled 2024-12-08 20:05:16 -06:00
Mauricio Siu
012f8ff2f5 feat: add validate server 2024-12-08 20:01:37 -06:00
Mauricio Siu
9a7ed91a55 feat: add validate server 2024-12-08 19:37:11 -06:00
Mauricio Siu
13e9a50959 Merge pull request #844 from drudge/canary
docs: Update ryot links
2024-12-08 18:26:34 -06:00
Nicholas Penree
d424ed23f5 docs: Update ryot links 2024-12-08 19:17:32 -05:00
Mauricio Siu
bf9abbc37c chore: bump version 2024-12-08 17:49:23 -06:00
Mauricio Siu
b66e8c8855 Merge pull request #843 from Dokploy/feat/enhancement-script
Feat/enhancement script
2024-12-08 17:41:20 -06:00
Mauricio Siu
ce0e9ccddc refactor: add preview deployments for cloud version 2024-12-08 17:30:32 -06:00
Mauricio Siu
e03aef8e37 refactor: improve script to support more OS 2024-12-08 17:09:28 -06:00
Mauricio Siu
d0be2a2090 Merge branch 'canary' into feat/enhancement-script 2024-12-08 15:03:12 -06:00
Mauricio Siu
30eb1719b0 Merge pull request #840 from drudge/browserless-template
feat: add Browserless template
2024-12-08 01:07:53 -06:00
Mauricio Siu
9e7299517f Merge branch 'canary' into browserless-template 2024-12-08 01:07:46 -06:00
Mauricio Siu
cd061916df Merge pull request #839 from drudge/drawio-template
feat: add draw.io template
2024-12-08 01:02:22 -06:00
Mauricio Siu
6f818a833c Merge branch 'canary' into drawio-template 2024-12-08 01:02:13 -06:00
Mauricio Siu
00764ffd43 Update apps/dokploy/templates/drawio/docker-compose.yml 2024-12-08 01:01:46 -06:00
Mauricio Siu
e2a16a5723 Update apps/dokploy/templates/drawio/docker-compose.yml 2024-12-08 01:01:42 -06:00
Mauricio Siu
73b622eb2f Merge pull request #838 from drudge/kimai-template
feat: add Kimai 2 template
2024-12-08 00:58:40 -06:00
Mauricio Siu
cf3cea6146 Merge pull request #836 from drudge/budibase-template
feat: add Budibase template
2024-12-08 00:55:09 -06:00
Mauricio Siu
b8e41e970d refactor: add password key 2024-12-08 00:54:39 -06:00
Mauricio Siu
60b0ae5053 Merge pull request #798 from Dokploy/379-preview-deployment
feat: add preview deployments #379
2024-12-08 00:16:41 -06:00
Mauricio Siu
ff8263d8f6 refactor: update 2024-12-07 22:52:23 -06:00
Mauricio Siu
f65822ca7e refactor: recreate message when is deleted 2024-12-07 22:48:30 -06:00
Mauricio Siu
3feead31d9 Merge branch 'canary' into 379-preview-deployment 2024-12-07 21:57:19 -06:00
Mauricio Siu
b1fd1fb306 refactor: enable preview deployments if autodeploy is disabled 2024-12-07 21:48:51 -06:00
Mauricio Siu
46cd22038b refactor: clean code 2024-12-07 21:47:16 -06:00
Mauricio Siu
5058d9b47d Merge branch 'canary' into 379-preview-deployment 2024-12-07 21:28:34 -06:00
Mauricio Siu
ddf95d87bd refactor: add multiple OS 2024-12-07 21:20:31 -06:00
Nicholas Penree
28a5be984d feat: add Browserless template 2024-12-07 22:00:12 -05:00
Nicholas Penree
1650f5ca79 feat: add draw.io template 2024-12-07 21:26:36 -05:00
Nicholas Penree
e023cad72d feat: add Kimai 2 template 2024-12-07 20:45:20 -05:00
vishalkadam47
49559ebee6 fix: update GPU setup command to use sudo and add error handling 2024-12-08 06:27:34 +05:30
Nicholas Penree
6cf0ecf016 feat: add Budibase template 2024-12-07 19:47:21 -05:00
Nicholas Penree
1562396339 feat: add Budibase template 2024-12-07 19:46:43 -05:00
Mauricio Siu
f94ee8c299 refactor: update 2024-12-07 16:50:25 -06:00
Mauricio Siu
f47335efe5 refactor: wip 2024-12-07 16:47:39 -06:00
Mauricio Siu
c8b5889414 Merge pull request #833 from drudge/canary
docs: Clarify _HOST suffix in contribution guide
2024-12-07 16:11:56 -06:00
Nicholas Penree
124d81bb1c Update CONTRIBUTING.md 2024-12-07 17:01:32 -05:00
Mauricio Siu
5f987d28c7 Merge pull request #831 from Dokploy/738-code-editor-for-file-mounts
refactor: add code editor in volumes edit
2024-12-07 14:10:03 -06:00
Mauricio Siu
32b19a0fb6 refactor: add code editor in volumes edit 2024-12-07 14:09:31 -06:00
Mauricio Siu
5f71a393be Merge pull request #829 from Dokploy/refactor/enhancement-languages
refactor: improve I18N
2024-12-07 14:02:05 -06:00
Mauricio Siu
f4bd729f65 test: add missing fields 2024-12-07 14:01:48 -06:00
Mauricio Siu
3320e21958 Merge pull request #830 from Dokploy/815-edit-volumes-can-not-get-right-mount-path
fix: show mount path when is not compose
2024-12-07 13:57:21 -06:00
Mauricio Siu
2960d81829 fix: show mount path when is not compose 2024-12-07 13:55:00 -06:00
Mauricio Siu
1c1e52f777 fix: lint 2024-12-07 13:50:38 -06:00
Mauricio Siu
64e6919211 refactor: improve I18N 2024-12-07 13:45:50 -06:00
Mauricio Siu
a53daed434 Merge pull request #814 from yerkow/i18n-kazakh
feat(i18n): add kazakh language support
2024-12-07 13:29:09 -06:00
Mauricio Siu
791c8afab7 Merge pull request #828 from Dokploy/feat/custom-heroku-version
Feat/custom heroku version
2024-12-07 13:28:58 -06:00
Mauricio Siu
4c45be1447 feat: add heroku version field 2024-12-07 13:27:54 -06:00
idicesystem
1056810170 Add support for configurable Heroku stack version
Added a new environment variable HEROKU_STACK_VERSION that can be used to specify the desired Heroku stack version.
Updated the buildHeroku and getHerokuCommand functions to use the specified stack version, or default to 24 if the environment variable is not set.
Provided information about the available Heroku stack versions and their support details, as per the documentation from the Heroku DevCenter.
https://devcenter.heroku.com/articles/stack#stack-support-details
2024-12-07 13:26:07 -06:00
Mauricio Siu
b3ca81d2e8 Merge branch 'canary' into i18n-kazakh 2024-12-07 13:13:30 -06:00
Mauricio Siu
9d170e5f46 Merge pull request #820 from 190km/prevent-when-closing-terminal
feat: add prevent dialog when leaving a terminal
2024-12-07 13:08:56 -06:00
Mauricio Siu
3d0b6eb368 Merge pull request #823 from mafrasil/add-trigger-dev-template
feat: add trigger.dev template
2024-12-07 13:06:45 -06:00
Mauricio Siu
5db407b674 Update apps/dokploy/templates/triggerdotdev/index.ts 2024-12-07 13:05:00 -06:00
Mauricio Siu
556a847054 Apply suggestions from code review 2024-12-07 13:04:15 -06:00
mafrasil
4c34643287 tweak env 2024-12-06 20:38:02 +04:00
mafrasil
5e590c1ce8 add extra env 2024-12-06 20:35:34 +04:00
mafrasil
2f15f34a19 rename as triggerdotdev 2024-12-06 18:22:04 +04:00
mafrasil
7f53e9cf07 add trigger template 2024-12-06 17:48:21 +04:00
Mauricio Siu
48e3d48ab4 Merge pull request #817 from pedroramon/i18n-ptbr
feat(i18n): add portuguese language support
2024-12-05 21:36:54 -06:00
190km
b9faf4bd1a feat: add prevent dialog when leaving a terminal 2024-12-05 23:39:03 +01:00
yerkow
27f43e774a fix: kz label 2024-12-05 10:39:10 +05:00
yerkow
c9d3616088 feat(i18n): add kazakh language support 2024-12-05 10:17:54 +05:00
Mauricio Siu
7fe8cd03bf Merge pull request #808 from DanielGietmann/umami-patch-1
Feat<templates>:Updated Umami to v2.14.0
2024-12-04 21:48:33 -06:00
Mauricio Siu
38e5d244fe Merge pull request #810 from ShahriarKh/canary
fix: small typo
2024-12-04 21:48:26 -06:00
Shahriar
14573f90f7 fix: small typo 2024-12-04 16:21:07 +03:30
Pedro Ramon
cbbbe44802 feat(i18n): add portuguese language support 2024-12-04 07:39:36 -03:00
Daniel Gietmann
00c7ae3f40 Updated Umami to v2.14.0 2024-12-03 20:48:46 +01:00
Mauricio Siu
f10eae40c7 Merge pull request #793 from 190km/discord-notifications
style: improved discord webhooks notifications style
2024-12-02 22:01:59 -06:00
Mauricio Siu
df63182f39 Merge pull request #801 from 190km/start-stop-compose-button
fix/feat: fixed stop compose & added start compose
2024-12-02 21:50:51 -06:00
Mauricio Siu
626bf7c41b Merge pull request #802 from 190km/autodeploy-switch
style: added autodeploy switch
2024-12-02 21:37:38 -06:00
Mauricio Siu
75abc4758a Merge pull request #803 from Dokploy/690-dokploy-projects-seem-to-be-linked-together-in-special-cases
fix: allow multiple repositories from same name github #690
2024-12-02 21:36:19 -06:00
Mauricio Siu
c4c4b459cc fix: allow multiple repositories from same name github #690 2024-12-02 21:26:52 -06:00
190km
d8787ec11d style: added autodeploy switch 2024-12-03 03:55:56 +01:00
usopp
40c97b8e9c Update github.ts 2024-12-03 02:42:19 +01:00
190km
fd0a472468 feat/fix: fixed stop button & added start button 2024-12-03 02:20:20 +01:00
Mauricio Siu
db27ec0372 Merge pull request #796 from 190km/request-addr-host
style: add RequestAddr in the requests table
2024-12-01 22:32:39 -06:00
Mauricio Siu
841b264257 feat: add preview deployments #379 2024-12-01 22:29:40 -06:00
usopp
5f6516ab7d Update columns.tsx 2024-12-01 19:42:56 +01:00
190km
2daa159e29 style: add RequestAddr in the requests table 2024-12-01 19:29:16 +01:00
Mauricio Siu
262a2394a9 Merge pull request #794 from myodan/feat/i18n-ko
feat(i18n): add korean language support
2024-12-01 11:25:20 -06:00
Mauricio Siu
e7383e1323 Merge pull request #786 from kerimovok/patch-1
feat<templates>: Updated PocketBase version to 0.23.3
2024-12-01 11:24:50 -06:00
190km
9a8a40b0f8 style: removed useless codeblock fields 2024-12-01 16:37:45 +01:00
Jongho Hong
bcf1ba242e feat(i18n): add korean language support 2024-12-01 16:48:16 +09:00
190km
a235815a13 style: improved discord webhooks notifications 2024-12-01 04:09:19 +01:00
Orkhan Karimov
57594ecb0c feat<templates>: Updated PocketBase version to 0.23.3 2024-11-30 18:01:13 +04:00
Mauricio Siu
572579af91 Merge pull request #785 from Dokploy/canary
v0.13.1
2024-11-28 23:44:33 -06:00
Mauricio Siu
63998f71ec chore: bump version 2024-11-28 23:37:35 -06:00
Mauricio Siu
45fd2d149c Merge pull request #784 from Dokploy/754-dokploy-ui-duplicate-deployments
fix: add missing server flag boolean
2024-11-28 23:35:53 -06:00
Mauricio Siu
9a35c85277 refactor: upgrade biome 2024-11-28 23:29:24 -06:00
Mauricio Siu
0cf21cf3f7 refactor: add missing flag 2024-11-28 23:20:50 -06:00
Mauricio Siu
7400913646 fix: add missing server flag boolean 2024-11-28 23:19:27 -06:00
Mauricio Siu
e78d354d0d fix: add missing server flag boolean 2024-11-28 23:17:21 -06:00
Mauricio Siu
bec3ad6bb5 Merge pull request #783 from Dokploy/725-the-logo-does-not-appear-on-the-notification-email
fix: update img url
2024-11-28 22:57:10 -06:00
Mauricio Siu
5846e429e5 Merge pull request #782 from Dokploy/733-project-env-ux-improvements
refactor: apply suggested changes
2024-11-28 22:56:58 -06:00
Mauricio Siu
0f7652d02c fix: update img url 2024-11-28 22:56:31 -06:00
Mauricio Siu
fef19056fa Merge pull request #781 from Dokploy/remove-husky
Remove husky
2024-11-28 22:49:45 -06:00
Mauricio Siu
b07d9939a6 refactor: apply suggested changes 2024-11-28 22:49:35 -06:00
Mauricio Siu
301e3480e4 test: add missing prop 2024-11-28 22:33:18 -06:00
Mauricio Siu
976ac053f7 fix: linter 2024-11-28 22:32:37 -06:00
Mauricio Siu
f102bae5d5 refactor: remove biome ci 2024-11-28 22:21:31 -06:00
Mauricio Siu
00883dde11 refactor: remove husky 2024-11-28 22:14:01 -06:00
Mauricio Siu
e194f3c454 chore: add lefthook 2024-11-28 22:09:42 -06:00
Mauricio Siu
cdd39670f5 Merge pull request #780 from Dokploy/766-registry-with-ghcrio-failed-error-500
fix: add registry url and use spawnAsync
2024-11-28 22:02:58 -06:00
Mauricio Siu
88f7cf2546 fix: add registry url and use spawnAsync 2024-11-28 21:54:20 -06:00
Mauricio Siu
34ea7ad8c9 Merge pull request #779 from Dokploy/678-requests-made-to-stripe
fix: prevent to load stripe code when is not cloud
2024-11-28 20:57:20 -06:00
Mauricio Siu
081a2d8f69 fix: prevent to load stripe code when is not cloud 2024-11-28 20:56:35 -06:00
Mauricio Siu
a6368ee0b8 Merge pull request #771 from faeztgh/fa-locale
feat: add fa locale
2024-11-28 20:45:40 -06:00
Mauricio Siu
4132f714ae Merge branch 'canary' into fa-locale 2024-11-28 20:45:24 -06:00
Mauricio Siu
333776a5a1 Merge pull request #775 from 190km/i18n-french
feat(i18n): add french language support
2024-11-28 20:41:16 -06:00
Mauricio Siu
5853117e5f Merge branch 'canary' into i18n-french 2024-11-28 20:39:25 -06:00
Mauricio Siu
9e0e3540f5 Merge pull request #776 from 190km/status-tooltip-colors
fix: Add green color for done status tooltip, and lightens destructive colors
2024-11-28 20:37:05 -06:00
Mauricio Siu
7bd6e7fd9a Merge pull request #777 from 190km/delete-app-input-validation
feat: Add an input box to enter the project name for a second confirmation when deleting the application.
2024-11-28 20:36:40 -06:00
Mauricio Siu
95ab6af3ac Merge pull request #773 from edereagzi/feature/add-turkish-localization
feat(i18n): add turkish(tr) localization support
2024-11-28 20:28:03 -06:00
Mauricio Siu
69876029b1 Merge pull request #767 from chuyun/canary
feat: add optional Provider attribute to S3 Destinations
2024-11-28 20:20:57 -06:00
190km
d4fdf881cd feat: validating app name before delete 2024-11-29 02:06:25 +01:00
usopp
3b14ebcaa4 Delete et --soft HEAD~1 2024-11-28 22:14:13 +01:00
190km
22b8fa2c00 fix: added green color for done status tooltip, and lightens destructive color 2024-11-28 22:02:49 +01:00
usopp
714865730f feat(i18n): add french language support 2024-11-28 17:17:00 +01:00
Eray Dereağzı
7469c30992 feat(i18n): add turkish(tr) localization support 2024-11-28 13:38:40 +03:00
Mauricio Siu
b296b6bbf0 Merge pull request #772 from Dokploy/canary
v0.13.0
2024-11-27 23:28:40 -06:00
Mauricio Siu
37fa139a65 refactor: bump to 0.13.0 2024-11-27 23:20:32 -06:00
Mauricio Siu
a1cf597c2b Update package.json 2024-11-27 23:15:19 -06:00
F43Z
c8e9d9d169 feat: add fa locale 2024-11-27 23:40:42 +03:30
Mauricio Siu
d01928a878 refactor: add required 2024-11-27 02:38:54 -06:00
Mauricio Siu
30c19c5698 chore: update templates 2024-11-27 02:37:02 -06:00
Mauricio Siu
01dfa7feaf Merge pull request #768 from DanielGietmann/canary
feat: photoprism template
2024-11-26 22:30:27 -06:00
Mauricio Siu
58e6462ff1 Merge branch 'canary' into canary 2024-11-26 22:30:17 -06:00
Mauricio Siu
d18876d4fb Merge pull request #760 from henriklovhaug/canary
feat: add ontime template
2024-11-26 22:26:04 -06:00
Mauricio Siu
492c912c61 Update apps/dokploy/templates/ontime/docker-compose.yml 2024-11-26 22:25:58 -06:00
Mauricio Siu
6a283c8ee2 Merge pull request #759 from sao-coding/sao-coding/i18n-zh-Hant-TW
feat(i18n): add Traditional Chinese language support
2024-11-26 22:22:13 -06:00
Mauricio Siu
59dfdd6192 Merge pull request #761 from DerKorb/patch-1
fix compose.create not returning result
2024-11-26 22:21:58 -06:00
Mauricio Siu
3c072d7aa8 Merge pull request #746 from DrMxrcy/refactor/multiple-template-names
fix(templates): Multiple Templates Naming Schema
2024-11-26 22:21:47 -06:00
Daniel Gietmann
19d897f3ad added template 2024-11-27 03:44:18 +01:00
chuyun
0477329db7 feat: add optional Provider attribute to S3 Destinations 2024-11-27 02:14:45 +08:00
Mauricio Siu
fabe946526 Merge pull request #765 from airyland/patch-1
fix: improve English grammar in version check notice
2024-11-25 22:52:26 -06:00
Airyland
daa0c9d5d4 fix: improve English grammar in version check notice 2024-11-26 11:57:38 +08:00
ksollner
afe9b3c113 fix compose.create not returning result
when calling the compose create api, a empty result was returned
2024-11-25 14:42:05 +01:00
Henrik Tøn Løvhaug
cbfd09786a feat: add ontime template 2024-11-25 13:07:20 +01:00
sao-coding
54eb5544ac feat(i18n): add Traditional Chinese language support 2024-11-25 02:35:24 +00:00
Mauricio Siu
ac33b6b6a1 Merge pull request #739 from DrMxrcy/template/discourse
feat(add): Discourse
2024-11-22 00:46:14 -06:00
Mauricio Siu
653b1972ca Merge branch 'canary' into template/discourse 2024-11-22 00:46:01 -06:00
Mauricio Siu
7d7eb6a7a2 Merge pull request #743 from jujur10/canary
fix: stirling docker compose
2024-11-22 00:38:19 -06:00
Mauricio Siu
fab7e138b7 Merge pull request #744 from DrMxrcy/template/immich
feat(add): Immich
2024-11-22 00:36:17 -06:00
Mauricio Siu
62b635b2f0 Merge branch 'canary' into template/immich 2024-11-22 00:36:09 -06:00
Mauricio Siu
2dd352ee76 Merge pull request #740 from DrMxrcy/template/twenty
feat(add): Twenty CRM
2024-11-22 00:31:34 -06:00
Mauricio Siu
422b6eea82 Merge branch 'canary' into template/twenty 2024-11-22 00:31:25 -06:00
Mauricio Siu
4850305fb6 Merge pull request #736 from DrMxrcy/feat/YOURLS
feat(add): YOURLS Template
2024-11-22 00:25:02 -06:00
Mauricio Siu
97779f5686 Merge branch 'canary' into feat/YOURLS 2024-11-22 00:24:53 -06:00
DrMxrcy
d4b8985d71 fix(template): Twenty DB 2024-11-21 10:18:38 -05:00
Julien ROIRON
d5686063e0 fix: stirling docker compose 2024-11-21 08:16:09 +01:00
DrMxrcy
62ca8eec53 fix(templates): DiscordTickets Naming 2024-11-21 01:57:27 -05:00
DrMxrcy
204143648d fix(template): Slash Naming Schema 2024-11-21 01:56:22 -05:00
DrMxrcy
be8bd78bcc fix(template): Postiz Template 2024-11-21 01:55:40 -05:00
DrMxrcy
9003e43702 fix(template): InvoiceShelf Naming 2024-11-21 01:54:15 -05:00
DrMxrcy
55ac24ee8e fix(template): Windmill Naming 2024-11-21 01:53:36 -05:00
DrMxrcy
f3be56234b fix(template): Peppermint Naming 2024-11-21 01:52:39 -05:00
DrMxrcy
fd59beaff1 fix(add): ENV 2024-11-21 01:48:49 -05:00
Mauricio Siu
4a70d60aed Merge pull request #735 from mezotv/i18n-german
feat(i18n): add german language support
2024-11-21 00:31:45 -06:00
Mauricio Siu
f7533c88f6 Merge pull request #737 from DrMxrcy/template/ryot
feat(add): Ryot Template
2024-11-21 00:01:50 -06:00
DrMxrcy
ea8cae7815 feat(add): Immich 2024-11-20 22:20:58 -05:00
DrMxrcy
e9956a66da fix(add): template.ts 2024-11-20 11:18:33 -05:00
DrMxrcy
2eeb4017ac feat(add): Twenty CRM 2024-11-20 11:12:31 -05:00
DrMxrcy
28f0c9f162 feat(add): Discourse 2024-11-20 10:43:11 -05:00
DrMxrcy
4967d3bb31 feat(add): Ryot Logo 2024-11-20 10:09:05 -05:00
DrMxrcy
238fa5d02d feat(add): Ryot 2024-11-20 10:08:05 -05:00
DrMxrcy
d1436c992e feat(fix): Define Version 2024-11-20 09:56:40 -05:00
DrMxrcy
0654804821 feat(fix): YOURLS lint 2024-11-20 09:52:35 -05:00
DrMxrcy
c0876044b0 feat(add): YOURLS Template 2024-11-20 09:43:32 -05:00
Dominik Koch
6dff11af22 fix: formatting again 2024-11-20 11:35:57 +00:00
Dominik Koch
6d674a4c6b fix: code format 2024-11-20 11:34:13 +00:00
Dominik Koch
96b2579d69 feat(i18n): add german language support 2024-11-20 11:30:59 +00:00
Mauricio Siu
0708fa05b6 Merge pull request #721 from PaiJi/feat/add-gravatar-support
feat(Profile): support use Gravatar as avatar
2024-11-19 20:29:18 -06:00
Mauricio Siu
597842a99f Merge pull request #724 from iMuFeng/canary
feat: add HeyForm template
2024-11-19 20:26:47 -06:00
Mauricio Siu
105cf1014f Update templates.ts 2024-11-19 20:26:26 -06:00
Mauricio Siu
b93f36ae77 Merge branch 'canary' into canary 2024-11-19 20:24:40 -06:00
Mauricio Siu
bebb4b973c Update apps/dokploy/templates/heyform/index.ts 2024-11-19 20:23:43 -06:00
Mauricio Siu
f790530d4d Update apps/dokploy/templates/heyform/docker-compose.yml 2024-11-19 20:23:39 -06:00
Mauricio Siu
b7374549b8 Merge pull request #731 from DrMxrcy/feat/chatwoot-template
Add: Chatwoot Template
2024-11-19 20:19:11 -06:00
Mauricio Siu
366e881d72 Merge pull request #723 from WoWnik/canary
feat: add russian translation init
2024-11-19 20:12:14 -06:00
WoWnik
c2125d82b1 refactor: remove "ё" letter 2024-11-20 00:00:34 +03:00
DrMxrcy
32b3a76457 fix: Lint Issues 2024-11-19 12:30:36 -05:00
DrMxrcy
5cbdc8fad9 Fix: Linting issues 2024-11-19 11:56:23 -05:00
DrMxrcy
3698e8a827 Fix Chatwoot Schema 2024-11-19 11:19:33 -05:00
WoWnik
a83b62f62b refactor: sort alphabetically 2024-11-19 18:53:52 +03:00
DrMxrcy
ac033cea22 Add: Chatwoot 2024-11-19 03:06:54 -05:00
Mauricio Siu
58814239d9 Merge pull request #722 from henriklovhaug/canary
fix: postiz template pointing to wrong TLD
2024-11-18 08:57:54 -06:00
JiPai
6fc1ce2fbc chore(README): fix broken video thumbnail 2024-11-18 22:25:56 +08:00
mufeng
adde8126ab feat: add HeyForm template 2024-11-18 17:56:02 +08:00
WoWnik
cda66606ec feat: add russian translation init 2024-11-18 11:48:38 +03:00
Henrik Tøn Løvhaug
28f2c1a3c0 fix: template pointing to wrong TLD 2024-11-18 09:03:48 +01:00
JiPai
1c5fe8a283 feat(Profile): support use Gravatar as avatar 2024-11-18 14:09:42 +08:00
Mauricio Siu
da005bc511 chore: add startupfa.me sponsor 2024-11-17 22:25:03 -06:00
Mauricio Siu
5c8721406a Merge pull request #720 from Dokploy/canary
v0.12.0
2024-11-17 22:07:33 -06:00
Mauricio Siu
5db5336ec8 Merge pull request #716 from PaiJi/fix/storage-locale-setting-in-localstorage
fix(i18n): quick fix for locale cookie expire when browser close
2024-11-17 21:41:06 -06:00
Mauricio Siu
a6e7edd4d9 refactor: update share to project 2024-11-17 21:39:02 -06:00
Mauricio Siu
ddbb414225 chore(version): bump version 2024-11-17 18:53:52 -06:00
Mauricio Siu
b73889dd4f Merge pull request #719 from Dokploy/443-implement-coolifyio-like-support-of-envs-and-railwayapp-envs-shared-project-service-env
feat: add shared enviroment variables
2024-11-17 18:40:15 -06:00
Mauricio Siu
ce2dce3401 refactor: update shared to project 2024-11-17 18:33:14 -06:00
Mauricio Siu
173110a415 Merge pull request #714 from kdurek/feat/server-ip
feat: add update server ip
2024-11-17 18:28:29 -06:00
Mauricio Siu
2307346ae3 refactor: add validation to prevent run on cloud 2024-11-17 18:23:27 -06:00
Mauricio Siu
2f175f0e44 refactor: add missing types 2024-11-17 16:18:48 -06:00
Mauricio Siu
7003fe77c9 feat: add shared enviroment variables 2024-11-17 16:13:07 -06:00
Krzysztof Durek
04235fb6c9 Merge branch 'canary' of https://github.com/kdurek/dokploy into feat/server-ip 2024-11-17 22:08:00 +01:00
Krzysztof Durek
f138b0917f feat: add Polish language support to appearance settings and locale configuration 2024-11-17 22:05:52 +01:00
Krzysztof Durek
82367213ea feat: add ability for setting current public IP in server IP update form 2024-11-17 21:58:37 +01:00
Mauricio Siu
3c490ba2d0 Merge pull request #717 from Dokploy/712-redirect-feature-not-working
fix(dokploy): remove $ on presets redirect
2024-11-17 13:47:46 -06:00
Mauricio Siu
4bf5e5ca06 fix(dokploy): remove $ on presets redirect 2024-11-17 13:38:20 -06:00
JiPai
6af5742702 fix(i18n): quick fix for locale cookie expire when browser close 2024-11-18 03:37:26 +08:00
Krzysztof Durek
3015d69adc feat: add polish translation 2024-11-17 18:52:22 +01:00
Mauricio Siu
f7fa8e74af Merge pull request #713 from Dokploy/fix/build-i18n
refactor(dokploy): add missing next-18next to dockerfile
2024-11-17 11:50:12 -06:00
Krzysztof Durek
2835c997e9 feat: update to use multi language 2024-11-17 18:44:05 +01:00
Krzysztof Durek
bd55e3751f Merge branch 'canary' of https://github.com/kdurek/dokploy into feat/server-ip 2024-11-17 18:37:28 +01:00
Krzysztof Durek
74374bd643 feat: add update server ip 2024-11-17 18:18:00 +01:00
Mauricio Siu
4e929c12f2 chore: add missing next config to dockerfile 2024-11-17 11:13:55 -06:00
Mauricio Siu
56ea356723 refactor(dokploy): update i18next build 2024-11-17 11:04:15 -06:00
Mauricio Siu
b1f7d05743 Merge branch 'canary' into fix/build-i18n 2024-11-17 10:53:42 -06:00
Mauricio Siu
58338380ab Merge pull request #691 from DrMxrcy/feat/new-templates
feat: New Templates
2024-11-17 10:51:26 -06:00
Mauricio Siu
2487e3e062 Merge branch 'canary' into feat/new-templates 2024-11-17 10:51:17 -06:00
DrMxrcy
01a882497f Add: Discord Tickets Logo 2024-11-17 11:47:05 -05:00
Mauricio Siu
036313e3c3 chore: update dockerfile 2024-11-17 10:45:05 -06:00
Mauricio Siu
d3304052b0 chore: update dockerfile 2024-11-17 10:40:34 -06:00
Mauricio Siu
9efd2e3d5c chore: change build i18N 2024-11-17 10:26:22 -06:00
Mauricio Siu
1e7d9fc3aa refactor(dokploy): add missing next-18next to dockerfile 2024-11-17 10:22:47 -06:00
DrMxrcy
70ca219c0a Remove Chatwoot 2024-11-17 11:12:45 -05:00
Mauricio Siu
3a07d8de2e Merge pull request #665 from PaiJi/feat/i18n-support
feat(i18n): add i18n support
2024-11-17 09:54:59 -06:00
Mauricio Siu
f4f1fc28a0 Merge pull request #705 from seppulcro/feat/nextcloud-aio-template
feat: add nextcloud-aio template
2024-11-17 09:53:44 -06:00
Mauricio Siu
4c71d3a95f Merge branch 'canary' into feat/nextcloud-aio-template 2024-11-17 09:53:25 -06:00
Mauricio Siu
af84942d22 Merge pull request #590 from wish-oss/feature/gpu-support-blender-template
feat: Implement Remote server and Dokploy Server - GPU Support for Docker Swarm
2024-11-17 09:48:44 -06:00
seppulcro
1aaff0594d feat: add nextcloud-aio template; fix utils usage for envs 2024-11-15 09:06:19 +00:00
seppulcro
69a4a87079 feat: add nextcloud-aio template 2024-11-14 15:06:53 +00:00
vishalkadam47
3eef4aa016 refactor: removed sleep function and updated import 2024-11-14 17:41:32 +05:30
Vishal kadam
2492581bde Merge branch 'Dokploy:canary' into feature/gpu-support-blender-template 2024-11-14 17:38:11 +05:30
Mauricio Siu
be934065d9 Merge pull request #702 from Dokploy/canary
v0.11.2
2024-11-13 23:48:47 -06:00
Mauricio Siu
82fc9897d2 Merge pull request #701 from Dokploy/fix/stripe-payments
fix(stripe): attempt to fix the servers assignation when the user pay
2024-11-13 23:39:49 -06:00
Mauricio Siu
8162dcfb71 Merge pull request #697 from limichange/patch-1
Update plausible docker-compose.yml
2024-11-13 23:34:57 -06:00
Mauricio Siu
b6ab653ef3 chore(version): bump version 2024-11-13 23:30:33 -06:00
Mauricio Siu
17e9a1a497 fix(stripe): attempt to fix the servers assignation when the user pay 2024-11-13 23:29:24 -06:00
limichange
46f7d43595 Update templates.ts 2024-11-14 09:37:20 +08:00
vishalkadam47
6961ee1fc0 refactor: removed console logs and error handling 2024-11-14 04:00:05 +05:30
Vishal kadam
8e532d5a60 Merge branch 'Dokploy:canary' into feature/gpu-support-blender-template 2024-11-13 22:23:37 +05:30
DrMxrcy
fa791706a0 fix: chatwoot DB 2024-11-13 05:49:07 -05:00
DrMxrcy
a5c1f8ef49 fix: AP Env Testing 2024-11-13 05:45:16 -05:00
DrMxrcy
6866c3b116 fix: Envs 2024-11-13 05:40:19 -05:00
DrMxrcy
444302e7b9 fix: chatwoot ENV 2024-11-13 05:33:37 -05:00
DrMxrcy
9b77573269 fix: ENV Testing 2024-11-13 05:32:05 -05:00
DrMxrcy
8157dd9eaa fix: More Config Fixes 2024-11-13 05:21:07 -05:00
DrMxrcy
f1fc3f161a Update index.ts 2024-11-13 05:07:15 -05:00
DrMxrcy
06af2042ee fix: Testing ENV Variables 2024-11-13 05:06:42 -05:00
DrMxrcy
8900e30ae7 fix: Update Chatwoot Compose 2024-11-13 04:49:23 -05:00
DrMxrcy
b5fa411093 Add: Redis Password to AP 2024-11-13 04:48:11 -05:00
DrMxrcy
cab9443d25 fix: Remove LinkStack
Removed due to https://docs.linkstack.org/docker/reverse-proxies/#traefik
2024-11-13 04:44:13 -05:00
DrMxrcy
de315124c3 fix: Multiple Tests 2024-11-13 04:38:27 -05:00
DrMxrcy
7bef3a0c29 fix: ActivePieces ENV 2024-11-13 04:26:21 -05:00
DrMxrcy
82afd486da fix: Chatwoot Setup Service 2024-11-13 04:21:16 -05:00
DrMxrcy
69c9e86a13 fix: Windmill Caddyfile 2024-11-13 04:19:34 -05:00
DrMxrcy
3d59e289be fix: ENV Variables in LinkStack 2024-11-13 04:13:58 -05:00
limichange
59bb59ee24 Update docker-compose.yml 2024-11-13 16:30:11 +08:00
DrMxrcy
8d33ff5fb5 fix: Change Windmill Volume Path 2024-11-13 03:20:20 -05:00
DrMxrcy
46219e1b3d fix: Caddyfile for Windmill 2024-11-13 02:52:22 -05:00
DrMxrcy
3457de4f36 fix: Chatwoot SSL Termination 2024-11-13 02:48:36 -05:00
DrMxrcy
e57efa2e31 fix: AP Ports 2024-11-13 02:47:30 -05:00
JiPai
fb0308fd60 chore(config): add defaultI18nConfig to avoid state issue 2024-11-13 13:54:36 +08:00
JiPai
b376ead7b5 feat(i18n): use flat translation key 2024-11-13 13:54:11 +08:00
Mauricio Siu
d081d477ef Merge pull request #695 from sokhuong-uon/canary
fix(signin-page): fix a broken link to password reset docs
2024-11-12 21:34:06 -06:00
Sokhuong Uon
cf73f1f764 fix(signin): fix broken link to password reset docs 2024-11-13 09:47:22 +07:00
DrMxrcy
deeea11428 Add: Discord Tickets 2024-11-12 16:37:51 -05:00
DrMxrcy
5c17797749 Add: Chatwoot 2024-11-12 16:19:14 -05:00
DrMxrcy
7b06fd47b8 Add: Linkstack 2024-11-12 13:34:37 -05:00
DrMxrcy
faceed12b0 Add: Slash Template 2024-11-12 13:27:08 -05:00
DrMxrcy
814580ff2c Add: Postiz 2024-11-12 13:21:17 -05:00
DrMxrcy
4f092b2fb3 Add: InvoiceShelf 2024-11-12 13:12:31 -05:00
DrMxrcy
0799f8e04c Fix: Windmill Path 2024-11-12 13:05:56 -05:00
DrMxrcy
59c050b519 Add: Activepieces 2024-11-12 13:05:21 -05:00
DrMxrcy
88f969917f Add: Windmill.dev 2024-11-12 12:50:08 -05:00
DrMxrcy
ed470ee827 Add: Peppermint.sh 2024-11-12 12:33:34 -05:00
Mauricio Siu
96584e5b32 Update CONTRIBUTING.md 2024-11-12 09:39:35 -06:00
Mauricio Siu
a7165bef20 chore: set pull 665 2024-11-12 09:38:35 -06:00
Mauricio Siu
b0f5e7dad3 Update CONTRIBUTING.md 2024-11-12 09:29:43 -06:00
JiPai
fa083257f1 Merge branch 'Dokploy:canary' into feat/i18n-support 2024-11-12 23:22:21 +08:00
Mauricio Siu
5cf12e51d1 chore: remove name 2024-11-12 09:02:44 -06:00
Mauricio Siu
b6fd410af2 chore: add tag feature 2024-11-12 09:01:49 -06:00
Vishal kadam
c5c3ca39cd Merge branch 'Dokploy:canary' into feature/gpu-support-blender-template 2024-11-12 13:20:27 +05:30
Mauricio Siu
0e433a3d36 Merge pull request #689 from Dokploy/canary
v0.11.1
2024-11-12 01:04:36 -06:00
Mauricio Siu
b08a2f54f0 Merge pull request #688 from Dokploy/687-all-custom-domains-are-routed-to-one-application
fix(compose): add path prefix inside Host rule
2024-11-12 00:55:06 -06:00
Mauricio Siu
29ffdf2c71 chore(version): bump version 2024-11-12 00:53:34 -06:00
Mauricio Siu
58b185f6dd fix(compose): add path prefix inside Host rule 2024-11-12 00:52:10 -06:00
Vishal kadam
5f6d041248 Merge branch 'Dokploy:canary' into feature/gpu-support-blender-template 2024-11-12 01:01:46 +05:30
vishalkadam47
b817b4b6ee refactor: gpu support and docker setup improvements
- Add gpu status refresh with useEffect
- Update docker-compose.yml configuration
- Modify gpu setup scripts
- Improve gpu support checks
2024-11-11 23:18:24 +05:30
Mauricio Siu
819de5a32e Merge pull request #677 from Dokploy/canary
v0.11.0
2024-11-10 19:28:28 -06:00
Mauricio Siu
e0fe4e4995 chore: bump version 2024-11-10 19:06:45 -06:00
Mauricio Siu
461d30fc26 Merge pull request #669 from mezotv/canary
fix: colorize and update svgs
2024-11-10 18:50:07 -06:00
Mauricio Siu
3fee18d06e Merge branch 'canary' into canary 2024-11-10 18:39:11 -06:00
Mauricio Siu
046923aeb3 Update data-tools-icons.tsx 2024-11-10 18:38:43 -06:00
Mauricio Siu
4646b7d0ec Merge pull request #674 from AprilNEA/672-fix-github-icon
fix: fix github icon path fill color #672
2024-11-10 15:06:08 -06:00
Mauricio Siu
a02d51e504 Merge pull request #675 from mezotv/patch-1
fix: mongodb app naming
2024-11-10 15:05:41 -06:00
Dominik Koch
9728c49edd fix: mongodb naming 2024-11-10 10:56:38 +01:00
AprilNEA
ed5b01c78d styles: fix code format style 2024-11-10 07:51:48 +00:00
AprilNEA
000091cfb9 fix: fix github icon in git providers of setting page 2024-11-10 07:46:45 +00:00
AprilNEA
2774701895 fix: fix github icon path fill color #672 2024-11-10 07:38:16 +00:00
Mauricio Siu
e238dd8510 chore(readme): add dokploy cloud message 2024-11-10 00:28:27 -06:00
JiPai
c09ff25360 feat(i18n): add translation for server tab 2024-11-09 18:16:06 +08:00
Dominik Koch
56b565b512 fix: add colorized svgs 2024-11-08 20:39:55 +00:00
JiPai
046f0a5c20 feat(i18n): replace translation in Appearance 2024-11-08 12:40:31 +08:00
vishalkadam47
66c4d8f118 refactor: gpu setup and status checks, extract functions, and improve error handling 2024-11-08 03:32:33 +05:30
JiPai
7f0a92f224 feat(i18n): add language select into appearance tab 2024-11-08 02:16:15 +08:00
JiPai
0ca8ee17be feat(i18n): add i18n support 2024-11-08 01:32:46 +08:00
Vishal kadam
c765d7d9eb Merge branch 'Dokploy:canary' into feature/gpu-support-blender-template 2024-11-07 16:36:50 +05:30
Mauricio Siu
237106428b Merge pull request #658 from Dokploy/651-daily-docker-cleanup-button-is-not-in-sync
fix(dokploy): sync the toggle value when enable docker cleanup #651
2024-11-06 22:52:53 -06:00
Mauricio Siu
06e1e1ba76 fix(dokploy): sync the toggle value when enable docker cleanup #651 2024-11-06 22:47:44 -06:00
Mauricio Siu
9eb4c3e77d Merge pull request #657 from Dokploy/feat/add-sponsor
feat(dokploy): add mandaring sponsor
2024-11-06 22:31:21 -06:00
Mauricio Siu
f3d8351208 feat(dokploy): add mandaring sponsor 2024-11-06 22:20:19 -06:00
Vishal kadam
a331020bf8 Merge branch 'Dokploy:canary' into feature/gpu-support-blender-template 2024-11-07 03:09:31 +05:30
vishalkadam47
2e6d9c34c0 feat: add dokploy server gpu setup 2024-11-07 02:52:41 +05:30
Mauricio Siu
1e1409e651 Merge pull request #649 from ignissak/648-compose-services-ignore-domain-path-setting
fix: domain path ignored in compose services
2024-11-06 10:45:23 -06:00
Mauricio Siu
ceaa32fd00 Merge pull request #653 from thomasbrq/fix/update-port-target
fix(dokploy): Wrong input for `target port` when updating ports.
2024-11-05 11:30:20 -06:00
Thomas Brq
f466e697dd fix(dokploy): Wrong input for target port when updating ports. 2024-11-05 17:52:48 +01:00
Jakub Bordáš
476057663b fix: add path prefix only if the path is other than "/" 2024-11-05 11:39:30 +01:00
vishalkadam47
b53da82204 refactor: gpu support component and related api routers; update template environment variables 2024-11-05 12:07:35 +05:30
Vishal kadam
3b5e8921d0 Merge branch 'Dokploy:canary' into feature/gpu-support-blender-template 2024-11-05 12:01:54 +05:30
Jakub Bordáš
1b1d0597fe fix: domain path ignored in compose services 2024-11-04 23:59:20 +01:00
Mauricio Siu
dfa73a3d7c Merge pull request #613 from SashaGoncharov19/more-templates
More templates
2024-11-04 15:26:12 -06:00
Mauricio Siu
2a24e1d7e8 Update docker-compose.yml 2024-11-04 15:13:40 -06:00
Mauricio Siu
5cd624c7ea Merge pull request #647 from Dokploy/canary
v0.10.10
2024-11-04 10:32:20 -06:00
Mauricio Siu
34b12a0315 chore(version): bump version 2024-11-04 10:20:55 -06:00
Mauricio Siu
e9e6064eb6 Merge pull request #646 from Dokploy/fix/notifications
fix(dokploy): filter notifications by admin
2024-11-04 10:17:17 -06:00
Mauricio Siu
6b7712e35f fix(dokploy): filter notifications by admin 2024-11-04 10:10:52 -06:00
vishalkadam47
7306d8c513 feat: Add GPU configuration and Update import path for gpu-setup functions 2024-11-03 21:34:03 +05:30
sashagoncharov19
84aac40410 Merge remote-tracking branch 'origin/more-templates' into more-templates 2024-11-03 14:07:12 +00:00
sashagoncharov19
e40a0fdc50 fix: remove erpnext/mailserver templates 2024-11-03 14:07:00 +00:00
Oleksandr Honcharov
e3677995b9 Merge pull request #1 from mezotv/more-templates
Add missing images
2024-11-03 06:02:54 -08:00
Dominik Koch
0468c25bf8 fix: add missing images 2024-11-03 12:45:22 +01:00
vishalkadam47
bc097c7667 fix: resolve merge conflicts with upstream/canary 2024-11-03 05:16:55 +05:30
Mauricio Siu
89c7e96df0 Merge pull request #643 from Dokploy/canary
v0.10.9
2024-11-02 17:18:34 -06:00
Mauricio Siu
8af5afbb6c chore(version): bump version 2024-11-02 17:11:46 -06:00
vishalkadam47
ed7150fac1 fix: Remove unused imports and interfaces from gpu-setup.ts 2024-11-03 04:16:51 +05:30
Mauricio Siu
ef9f16a3c3 refactor(dokploy): remove registry url 2024-11-02 15:37:49 -06:00
Mauricio Siu
d15b6387a3 refactor(dokploy): remove registryURL from registryTag 2024-11-02 15:28:14 -06:00
Mauricio Siu
2e9e39dcf5 Merge pull request #642 from Dokploy/fix/registry
fix(registry): add image tag resolution correctly when using cluster
2024-11-02 14:33:44 -06:00
Mauricio Siu
d901b02e92 refactor(dokploy): remove log 2024-11-02 14:18:00 -06:00
Mauricio Siu
766a25ccad fix(registry): add image tag resolution correctly when using cluster 2024-11-02 14:17:21 -06:00
vishalkadam47
1b6d8d803b feat: Added GPU support feature for Remote Server with setup and status checks, including API endpoints and utility functions 2024-11-02 15:15:58 +05:30
Mauricio Siu
fae97b1817 Merge pull request #641 from Dokploy/639-cannot-fetch-projects-on-non-main-users-dashboard
refactor(dokploy): add missing project
2024-11-02 01:53:50 -06:00
Mauricio Siu
b2cc5e58a3 refactor(dokploy): add missing project 2024-11-02 01:28:13 -06:00
sashagoncharov19
2f8b89c8a6 fix: nocodb bump 2024-11-01 22:10:49 +00:00
sashagoncharov19
2da650610c Merge branch 'canary' into more-templates
# Conflicts:
#	apps/dokploy/templates/templates.ts
2024-11-01 17:08:43 +00:00
Oleksandr Honcharov
980024c9d2 Merge branch 'Dokploy:canary' into canary 2024-11-01 10:03:05 -07:00
Mauricio Siu
1b56a6b400 refactor(dokploy): revert template content 2024-11-01 10:54:45 -06:00
Mauricio Siu
996d449f0f chore(version): bump version 2024-11-01 09:53:41 -06:00
Mauricio Siu
3b197f3624 fix(dokploy): add missing mount path in update volume 2024-11-01 09:53:21 -06:00
Oleksandr Honcharov
bba7d0c828 Update apps/dokploy/templates/templates.ts
Co-authored-by: Bartek <38581479+Rei-x@users.noreply.github.com>
2024-11-01 05:14:24 +02:00
Oleksandr Honcharov
a04b69d0fd Merge branch 'Dokploy:canary' into canary 2024-10-31 08:19:11 -07:00
Mauricio Siu
0e136ffb8f Merge pull request #632 from Dokploy/canary
v10.7.0
2024-10-30 23:10:48 -06:00
Mauricio Siu
95e53169b1 chore(version): bump version 2024-10-30 23:07:05 -06:00
Mauricio Siu
6b4e52fb37 Merge pull request #631 from Dokploy/canary
v0.10.6
2024-10-30 23:00:45 -06:00
Mauricio Siu
52a19a325e chore(version): bump version 2024-10-30 22:52:31 -06:00
Mauricio Siu
9d891e87e0 Merge pull request #630 from Dokploy/fix/delete-old-deployments
fix(dokploy): remove old deployments
2024-10-30 22:52:08 -06:00
Mauricio Siu
41b274fbb3 refactor(dokploy): set condition to 10 2024-10-30 22:50:12 -06:00
Mauricio Siu
6417e13336 fix(dokploy): remove old deployments 2024-10-30 22:44:01 -06:00
Mauricio Siu
db9136d981 Merge pull request #629 from Dokploy/canary
v0.10.5
2024-10-30 22:01:04 -06:00
Mauricio Siu
c13249e887 Merge pull request #628 from Dokploy/feat/templates-2
Feat/templates 2
2024-10-30 21:54:54 -06:00
Mauricio Siu
e83499f90d Merge branch 'canary' into feat/templates-2 2024-10-30 21:49:48 -06:00
Mauricio Siu
6c92e6efc9 chore(version): bump version 2024-10-30 21:48:19 -06:00
Mauricio Siu
97715a47b3 refactor(dokploy): remove validation 2024-10-30 10:33:46 -06:00
Mauricio Siu
3a9698c3a3 Merge pull request #625 from Dokploy/619-bitbucket-repositories-limited-to-100
fix(dokploy): extract all the repositories bitbucket #619
2024-10-30 01:32:41 -06:00
Mauricio Siu
d47ccae190 fix(dokploy): extract all the repositories bitbucket #619 2024-10-30 01:07:42 -06:00
Mauricio Siu
9295c6545f refactor: update 2024-10-29 02:59:08 -06:00
Mauricio Siu
2a01566c34 refactor(dokploy): update status 2024-10-29 02:39:33 -06:00
Mauricio Siu
b5cf59e743 refactor(dokploy): add log for jobdata 2024-10-29 02:11:51 -06:00
sashagoncharov19
de02a00ce9 fix: coder template 2024-10-28 14:11:39 +00:00
sashagoncharov19
25803f371c feat: coder template 2024-10-28 14:05:26 +00:00
Mauricio Siu
92eaa1a470 Merge pull request #616 from Dokploy/431-isolate-each-app-into-separate-git-repositories
431 isolate each app into separate git repositories
2024-10-27 22:34:41 -06:00
Mauricio Siu
2cbb7e4962 chore: remove unused commands 2024-10-27 22:27:09 -06:00
Mauricio Siu
34d73957f5 chore: remove docs & website workflow 2024-10-27 22:23:16 -06:00
Mauricio Siu
d571c6d9a2 refactor(dokploy): remove docs & website 2024-10-27 22:22:39 -06:00
Mauricio Siu
985c7515b1 refactor(dokploy): add promotion codes 2024-10-27 21:00:37 -06:00
Mauricio Siu
cf666ceb19 feat(dokploy): add lobe chat 2024-10-27 20:48:42 -06:00
sashagoncharov19
a4eb5c07e6 fix: soketi bump 2024-10-28 01:10:06 +00:00
sashagoncharov19
bad11f13f5 fix: gitea bump 2024-10-28 01:05:09 +00:00
sashagoncharov19
02d52d63b9 fix: uptime-kuma bump 2024-10-28 01:04:49 +00:00
sashagoncharov19
2821e43cdd feat: macos template 2024-10-28 00:23:56 +00:00
Mauricio Siu
0e8a3c36f3 feat(dokploy): add stirling 2024-10-27 18:12:23 -06:00
Mauricio Siu
c04d2f508b Merge pull request #612 from xmahbub/ui
style(ui): update template selection view
2024-10-27 17:56:18 -06:00
Mauricio Siu
5c85b82257 refactor(dokploy): revert 2024-10-27 17:35:19 -06:00
sashagoncharov19
adea440931 feat: windows os template 2024-10-27 21:12:04 +00:00
Mauricio Siu
ae5df82887 refactor(dokploy): terminate connections 2024-10-27 15:09:27 -06:00
sashagoncharov19
bbef99c3c2 feat: hi.events template 2024-10-27 20:49:29 +00:00
sashagoncharov19
527c01e7dc feat: vaultwarden template 2024-10-27 20:22:29 +00:00
Mauricio Siu
9872c4fee3 Merge pull request #614 from Dokploy/611-websocket-pending-for-minutes-after-container-starts
fix(dokploy): prevent to have pending connections docker logs
2024-10-27 14:14:30 -06:00
Mauricio Siu
3f40ad3250 fix(dokploy): prevent to have pending connections docker logs 2024-10-27 14:12:45 -06:00
sashagoncharov19
2a5a67e63c feat: docmost template 2024-10-27 20:08:12 +00:00
sashagoncharov19
15051a1bc2 feat: infisical template 2024-10-27 19:48:07 +00:00
MD Mahbub Hasan
7d882b3df5 style(ui): update template selection view 2024-10-28 01:40:26 +06:00
sashagoncharov19
b7d45341bc feat: influxdb template 2024-10-27 18:58:38 +00:00
Mauricio Siu
3808fd83a6 feat(dokploy): add welcome modal to dokploy cloud 2024-10-27 12:50:22 -06:00
Oleksandr Honcharov
1695c7cc81 Merge branch 'Dokploy:canary' into canary 2024-10-27 11:17:56 -07:00
vishalkadam47
3e467959c9 refactor: Update docker-compose.yml to remove port mapping and remove GPU constants from index.ts 2024-10-27 22:00:08 +05:30
Mauricio Siu
707d609b46 Merge pull request #604 from xmahbub/filebrowser
feat: Add new File Browser template to Dokploy
2024-10-27 10:25:25 -06:00
Mauricio Siu
800e5cbf43 Merge branch 'canary' into filebrowser 2024-10-27 10:19:03 -06:00
Mauricio Siu
2107d782f5 Merge pull request #601 from CodeWithKamal/canary
feat: add Tolgee template
2024-10-27 10:18:08 -06:00
MD Mahbub Hasan
80015d8d71 format fix for templates list 2024-10-27 16:29:14 +06:00
MD Mahbub Hasan
2c2d59a87c Format fix 2024-10-27 16:24:42 +06:00
codewithkamal
93844928a8 chore: lint fixes 2024-10-27 14:28:11 +05:30
Mauricio Siu
cb59d121be Merge branch 'canary' into canary 2024-10-27 02:51:47 -06:00
Mauricio Siu
42b3db37ac Merge branch 'canary' into filebrowser 2024-10-27 02:49:02 -06:00
Mauricio Siu
c59975a7ff Merge pull request #602 from xmahbub/portainer
feat: Portainer template added
2024-10-27 02:45:49 -06:00
Kamal Panara
c0df4d330a Merge branch 'Dokploy:canary' into canary 2024-10-27 14:11:56 +05:30
Kamal Panara
b56532f25e Updated port in docker-compose.yml 2024-10-27 14:11:43 +05:30
Mauricio Siu
f34a209c67 Merge pull request #600 from mezotv/switch-env-syntax
Switch to use ! syntax instead of || ""
2024-10-27 02:16:58 -06:00
Mauricio Siu
e24f0a395d Merge pull request #608 from Dokploy/607-dokploy-dashboard-billing-plan-card-font-color-looks-bad-in-light-mode
fix(dokploy): adjust dark and light mode billing
2024-10-27 02:08:51 -06:00
Mauricio Siu
1a6bf06929 Merge pull request #606 from PaiJi/chore/i18n-zh-hans
feat(i18n): add zh-Hans for Pricing and Sponsor
2024-10-27 02:05:24 -06:00
Mauricio Siu
d239ca9b49 fix(dokploy): adjust dark and light mode billing 2024-10-27 01:58:31 -06:00
JiPai
ecc98b0944 feat(i18n): add zh-Hans for Pricing page 2024-10-27 15:38:22 +08:00
JiPai
950ee77a49 feat(i18n): add zh-Hans translation for homepage 2024-10-27 14:32:23 +08:00
Mauricio Siu
38a72806a7 refactor(dokploy): add webhook url for new users 2024-10-26 23:06:00 -06:00
Mauricio Siu
fa70696c71 refactor(website): update const value 2024-10-26 22:46:15 -06:00
Mauricio Siu
b123baafa4 refactor(dokploy): add analytics and pricing section to website 2024-10-26 22:44:21 -06:00
Mauricio Siu
d6fa416a3f chore(ci/cd): set secrets 2024-10-26 20:31:17 -06:00
Mauricio Siu
d2c0f19353 refactor(dokploy): add missing import 2024-10-26 19:56:34 -06:00
Mauricio Siu
3ef6c711e6 chore(ci/cd): set live key 2024-10-26 19:51:23 -06:00
Mauricio Siu
64a4d51f9c Merge pull request #605 from Dokploy/feat/add-email-verification
Feat/add email verification
2024-10-26 19:39:59 -06:00
Mauricio Siu
1a20e4f813 refactor: disable endpoints from cloud in self hosted 2024-10-26 19:35:49 -06:00
Mauricio Siu
250c14738c refactor: remove register when is self hosted 2024-10-26 19:32:29 -06:00
Mauricio Siu
28221a4e7a refactor(dokploy): add umami and update favicon 2024-10-26 19:27:01 -06:00
Mauricio Siu
680c22a41e feat(dokploy): add verification email to cloud version 2024-10-26 18:09:55 -06:00
MD Mahbub Hasan
9145fd3408 Add Filebrowser template 2024-10-27 05:36:55 +06:00
Mauricio Siu
428b9cf0ec Merge pull request #603 from Dokploy/fix/start-schedules-and-server
fix(server): update build paths
2024-10-26 16:24:12 -06:00
Mauricio Siu
78659b2ad9 chore: exclude package.json to format 2024-10-26 16:17:20 -06:00
Mauricio Siu
4b5408c050 chore: lint 2024-10-26 16:04:43 -06:00
Mauricio Siu
5417f6376b chore(server): update switch prod in build command 2024-10-26 15:56:03 -06:00
Mauricio Siu
27c33c7661 fix(server): update build paths 2024-10-26 15:48:30 -06:00
MD Mahbub Hasan
226c43047e Portainer template added 2024-10-27 03:31:03 +06:00
Mauricio Siu
0873618c63 chore(dokploy): set latest tag in cloud 2024-10-26 15:08:49 -06:00
Kamal Panara
2db8057d61 Update index.ts
updated imports
2024-10-27 00:17:10 +05:30
codewithkamal
71a582026e feat: add tolgee template 2024-10-26 23:55:10 +05:30
Oleksandr Honcharov
fbec26fc31 Merge branch 'Dokploy:canary' into canary 2024-10-26 05:42:20 -07:00
Dominik Koch
5f13fb2316 style: lint code 2024-10-26 12:42:23 +02:00
Dominik Koch
bc91bb3132 fix: use ! syntax instead of || "" 2024-10-26 12:28:40 +02:00
Mauricio Siu
e3b20268d5 refactor(dokploy): add ssr for settings to show instantly the sidebar 2024-10-25 23:56:33 -06:00
Mauricio Siu
742e5a244d refactor(dokploy): prevent to create projects when the user doesn't have servers buyed 2024-10-25 23:44:39 -06:00
Mauricio Siu
1f208f5f5b refactor(dokploy): add next public shareable key 2024-10-25 22:53:58 -06:00
Mauricio Siu
a53ade88e7 refactor(dokploy): add SITE_URL 2024-10-25 22:35:35 -06:00
Mauricio Siu
a93f18eb4a Merge pull request #599 from Dokploy/canary
v0.10.4
2024-10-25 21:35:15 -06:00
Mauricio Siu
77e9617770 chore(version): bump version 2024-10-25 21:18:04 -06:00
Mauricio Siu
21e97b0175 Merge pull request #598 from Dokploy/593-use-advertise_addr-from-environment-variable-in-dokpoy-service
feat(dokploy): add env for ADVERTISE_ADDR to installation #593
2024-10-25 20:50:58 -06:00
Mauricio Siu
a6618a14d5 feat(dokploy): add env for ADVERTISE_ADDR to installation #593 2024-10-25 20:48:46 -06:00
Mauricio Siu
59308ab013 Merge pull request #596 from Dokploy/595-dokploy-internal-postgres-database-is-publicly-accessible-by-default
fix(dokploy): remove expose ports in production
2024-10-25 20:19:14 -06:00
Mauricio Siu
e19c8d7a7a fix(dokploy): remove expose ports in production 2024-10-25 17:09:06 -06:00
Mauricio Siu
421c93795b refactor(dokploy): prevent start worker when is cloud 2024-10-25 16:56:32 -06:00
Mauricio Siu
182f908c31 chore: add new sponsor 2024-10-25 10:20:56 -06:00
Mauricio Siu
20616363e9 refactor: update badge server 2024-10-25 00:39:34 -06:00
Mauricio Siu
d85073b26d Merge pull request #591 from Dokploy/feat/remove-build-on-server
Feat/remove build on server
2024-10-25 00:23:56 -06:00
Mauricio Siu
303d1b1b87 chore: add missing command 2024-10-25 00:21:12 -06:00
Mauricio Siu
60d4e1ba63 chore: update dockerfiles 2024-10-25 00:17:10 -06:00
Mauricio Siu
83d52b68f0 refactor: update 2024-10-25 00:05:55 -06:00
Mauricio Siu
af3b1a27f4 refactor: update tests 2024-10-24 23:57:40 -06:00
Mauricio Siu
7f94593c07 chore: revert ci/cd 2024-10-24 23:35:21 -06:00
Mauricio Siu
5df7654873 chore: update imports 2024-10-24 23:33:15 -06:00
Mauricio Siu
054836fd4c chore: update workflows 2024-10-24 23:28:52 -06:00
Mauricio Siu
484ead1f1f chore: update workflows 2024-10-24 23:26:06 -06:00
Mauricio Siu
fbada4c5de chore: set right filter pnpm dockerfile 2024-10-24 23:22:23 -06:00
Mauricio Siu
491113416b chore: remove server build 2024-10-24 23:20:51 -06:00
Mauricio Siu
c42f5cb799 refactor: update 2024-10-24 23:18:23 -06:00
Mauricio Siu
47aa223f87 refactor: remove save on build on next app and integrate turbopack 2024-10-24 23:13:24 -06:00
Vishal kadam
b3092691b7 Merge branch 'Dokploy:canary' into feature/gpu-support-blender-template 2024-10-25 02:33:17 +05:30
vishalkadam47
5a440d934d fix: Remove privileged mode and seccomp option, update runtime to nvidia 2024-10-25 02:32:50 +05:30
Mauricio Siu
cb586c9b74 Merge branch 'canary' into feat/payments 2024-10-24 13:50:17 -06:00
Mauricio Siu
554ac59b97 Merge pull request #589 from alok-debnath/typo-fixes
Typo fixes in README.md
2024-10-24 13:43:28 -06:00
Alok Debnath
0247898876 minor typo fixes in README.md for better readability 2024-10-25 00:06:09 +05:30
Vishal kadam
96c5176984 Merge branch 'Dokploy:canary' into feature/gpu-support-blender-template 2024-10-24 19:26:21 +05:30
Mauricio Siu
467acc4d4d Merge pull request #586 from Dokploy/canary
v0.10.3
2024-10-24 01:21:17 -06:00
Mauricio Siu
fc2778db35 Merge pull request #585 from Dokploy/505-mongodb-backup-is-empty-in-output-pipeline
fix(dokploy): add missing --archive to mongodump
2024-10-24 01:14:10 -06:00
Mauricio Siu
85d6ff9012 chore(version): bump version 2024-10-24 01:11:43 -06:00
Mauricio Siu
fa053b4d1f refactor(dokploy): remove stripe from global scope 2024-10-24 01:10:17 -06:00
Mauricio Siu
522f8baec7 fix(dokploy): add missing --archive to mongodump 2024-10-24 01:07:02 -06:00
Mauricio Siu
bcc7afa3e4 refactor(dokploy): fix ts errors 2024-10-24 00:55:59 -06:00
Mauricio Siu
647a5d05a6 test(dokploy): add missing fields 2024-10-24 00:55:03 -06:00
Mauricio Siu
e15d41f80d chore: add radix tabs 2024-10-24 00:22:57 -06:00
Mauricio Siu
6c7c919d49 refactor: set servers quantity in 0 when the subscription is created 2024-10-24 00:21:28 -06:00
Mauricio Siu
22eb965919 Merge pull request #584 from dmbr0/patch-2
Fix typo in README.md
2024-10-23 20:08:37 -06:00
Alex Whitney
c0746b95b3 Fix typo in README.md 2024-10-23 20:18:59 -04:00
Vishal kadam
433430118f Merge branch 'Dokploy:canary' into feature/gpu-support-blender-template 2024-10-23 17:58:19 +05:30
Mauricio Siu
dfdedf9e48 chore(dokploy): simplify migrations 2024-10-23 01:16:42 -06:00
Mauricio Siu
7e76eb4dd1 refactor: delete log 2024-10-23 01:06:34 -06:00
Mauricio Siu
c1f777e23e refactor: remove serverIp 2024-10-23 01:01:04 -06:00
Mauricio Siu
975d13c7e1 refactor(dokploy): disable stats monitoring 2024-10-23 00:58:38 -06:00
Mauricio Siu
017bdd2778 refactor(dokploy): add flag to prevent run commands when is cloud 2024-10-23 00:54:40 -06:00
Mauricio Siu
01e5cf0852 Merge pull request #580 from Dokploy/canary
v0.10.2
2024-10-22 21:17:38 -06:00
Mauricio Siu
548df8c0f4 Merge branch 'canary' into feat/payments 2024-10-22 20:31:18 -06:00
Mauricio Siu
8faa6ae1cf chore(version): bump version 2024-10-22 20:29:57 -06:00
Mauricio Siu
76ed1107c2 refactor(dokploy): add -r flag to read the enviroments vars 2024-10-22 20:19:49 -06:00
Mauricio Siu
cff5049096 Merge pull request #579 from Dokploy/578-unable-to-reset-my-password
fix(dokploy): use the exact path of functions #578
2024-10-22 20:02:43 -06:00
Mauricio Siu
cb5ca100a6 fix(dokploy): use the exact path of functions #578 2024-10-22 20:00:29 -06:00
Mauricio Siu
03d1e974dd Update LICENSE.MD 2024-10-22 16:53:12 -06:00
Mauricio Siu
1e6dbb5e8e feat(dokploy): add reset password for cloud 2024-10-22 01:25:13 -06:00
Mauricio Siu
431dadb6c2 feat: add pricing 2024-10-22 00:29:17 -06:00
Mauricio Siu
22e42b62ad feat: add is cloud in ssr 2024-10-21 22:38:23 -06:00
Mauricio Siu
49ee8ce132 Merge branch 'canary' into feat/payments 2024-10-21 22:22:59 -06:00
Mauricio Siu
b609d72d1c Merge pull request #576 from Dokploy/541-install-failed-due-to-docker-swarm-initialize-failed
fix(installation): exit of script when docker swarm init fails
2024-10-21 21:58:22 -06:00
Mauricio Siu
d7071fba60 fix(installation): exit of script when docker swarm init fails 2024-10-21 21:50:26 -06:00
Mauricio Siu
76585991ec Merge pull request #559 from eremannisto/fix/improve-faq-questions-and-answers
fix: Improve `FAQ` questions and answers
2024-10-21 21:31:00 -06:00
Mauricio Siu
da6efcf733 Merge pull request #406 from benbristow/fix/directus
fix: directus healthchecks (fix race condition starting up), volumes for uploads & extensions, add secret/db password generation, bump version to 11.0.2
2024-10-21 21:28:52 -06:00
Mauricio Siu
64b0770cfb Merge pull request #575 from Dokploy/574-clone-github-gitlab-and-bitbucket-submodules
feat(dokploy): add recurse submodules to providers #331
2024-10-21 21:25:18 -06:00
Mauricio Siu
1ec83a3236 feat(dokploy): add recurse submodules to providers #331 2024-10-21 21:14:40 -06:00
sashagoncharov19
4431f5601a fix: run biome check 2024-10-21 19:05:51 +00:00
Oleksandr Honcharov
bf48aa03a2 Merge branch 'Dokploy:canary' into canary 2024-10-21 12:04:38 -07:00
Mauricio Siu
9bace8e58b refactor: clean stripe customer if the customer is deleted 2024-10-21 13:01:08 -06:00
Mauricio Siu
c0afcaf3f6 refactor: show banner when the server is disabled 2024-10-21 02:19:10 -06:00
Mauricio Siu
53edf06476 refactor: remove comments 2024-10-21 00:48:04 -06:00
Mauricio Siu
255e9e4095 refactor: remove dokploy restart on notifications 2024-10-21 00:46:33 -06:00
Mauricio Siu
03f923c6e2 refactor: update show servers 2024-10-21 00:43:04 -06:00
Mauricio Siu
4685ef7439 refactor: update stripe envs 2024-10-21 00:39:14 -06:00
Mauricio Siu
626cfb80b4 refactor: add website url redirect 2024-10-21 00:37:11 -06:00
Mauricio Siu
9591fbff08 refactor: add Is cloud flag 2024-10-21 00:34:59 -06:00
Mauricio Siu
fbda00f059 refactor: update webhooks and added validation to prevent deploy when the server is inactive 2024-10-21 00:34:16 -06:00
Mauricio Siu
1907e7e59c feat: add webhook 2024-10-20 23:08:26 -06:00
Mauricio Siu
ffe7b04bea feat: add stripe webhooks 2024-10-20 15:08:44 -06:00
Mauricio Siu
fe0a662afd feat(cloud): add billing wip 2024-10-20 00:14:27 -06:00
Mauricio Siu
df9fad088f Merge pull request #567 from Dokploy/canary
v0.10.1
2024-10-18 23:12:12 -06:00
Mauricio Siu
319584d911 Merge branch 'canary' into feat/payments 2024-10-18 21:59:12 -06:00
Mauricio Siu
7d5a660f4d chore: bump version 2024-10-18 21:56:39 -06:00
Mauricio Siu
f7f0cbf318 Merge pull request #566 from arioberek/canary
fix: update reset password link URL
2024-10-18 09:34:51 -06:00
Arielton Oberek
841c0731aa fix: remove language prefix from reset password URL 2024-10-18 10:41:07 -03:00
Arielton Oberek
137cd25267 fix: reset password button URL 2024-10-18 10:35:08 -03:00
Vishal kadam
6d3ea8df59 Merge branch 'Dokploy:canary' into feature/gpu-support-blender-template 2024-10-18 18:28:44 +05:30
Mauricio Siu
2d40b2dfe5 feat: add stripe integration 2024-10-18 01:43:45 -06:00
Mauricio Siu
e32b713742 Merge branch 'canary' into feat/payments 2024-10-18 01:25:00 -06:00
Mauricio Siu
4dcd16c41e Merge pull request #564 from Dokploy/fix/git-ssh
fix(git): remove old references to ssh files to use the tmp file
2024-10-18 00:28:51 -06:00
Mauricio Siu
60497fe59d refactor: add husky 2024-10-18 00:10:01 -06:00
Mauricio Siu
8536945a60 styles: lint 2024-10-17 23:58:51 -06:00
Mauricio Siu
e0a8d8258c fix(git): remove old references to ssh files to use the tmp file 2024-10-17 23:55:27 -06:00
Mauricio Siu
988357fb55 refactor: update payments 2024-10-17 21:52:24 -06:00
vishalkadam47
e52a0fc9d4 feat: Added Blender template 2024-10-18 04:55:37 +05:30
vishalkadam47
15a76d2639 feat: Add server-level GPU support for Docker Swarm deployments and API endpoint for setup 2024-10-17 15:45:27 +05:30
Mauricio Siu
fe19cdb5e4 fix(setup): import directly from specific path 2024-10-16 15:57:51 -06:00
Mauricio Siu
c4654a9619 chore(contributing): update contributing 2024-10-16 13:23:25 -06:00
Ere Männistö
0a123a652b Improve FAQ questions and answers
- Improve questions and answers
- Fix typos
2024-10-15 19:54:41 +03:00
Mauricio Siu
5d437c29b2 refactor: remove header and navbar 2024-10-13 22:58:01 -06:00
Mauricio Siu
53f345ab1d feat: add privacy & terms 2024-10-13 22:54:02 -06:00
Oleksandr Honcharov
059c21c990 Merge branch 'Dokploy:canary' into canary 2024-10-13 16:35:27 -07:00
Mauricio Siu
2644b638d1 Merge pull request #553 from Dokploy/canary
v0.10.0
2024-10-13 16:30:00 -06:00
Mauricio Siu
8785282133 chore(version): bump version 2024-10-13 11:51:52 -06:00
Mauricio Siu
35c084af1d Merge pull request #550 from Dokploy/fix/env-parsing
fix(logs): improve logs in remote server when is error, and fix the e…
2024-10-13 11:01:28 -06:00
Mauricio Siu
b63488baba Merge pull request #547 from Dokploy/536-implement-custom-certificates-in-external-server
feat(certificates): create certificates in a remote server
2024-10-13 11:01:16 -06:00
Mauricio Siu
7e5f21b28e style: lint 2024-10-13 02:28:04 -06:00
Mauricio Siu
8d41bafb93 fix(logs): improve logs in remote server when is error, and fix the env parsing to allow any values in enviroment variables 2024-10-13 02:27:33 -06:00
Mauricio Siu
6f5049efd5 styles: lint 2024-10-12 19:33:56 -06:00
Mauricio Siu
6dd6b636e5 feat(certificates): create certificates in a remote server 2024-10-12 19:09:50 -06:00
Mauricio Siu
8488d530f3 Merge pull request #546 from Dokploy/542-cannot-save-server-address-without-lets-encrypt-email
fix(traefik): allow to save domain without letsencrypt email when the…
2024-10-12 16:58:50 -06:00
Mauricio Siu
6c61d5cdf5 Merge pull request #545 from mezotv/fix-sponsor-size
fix(website): improve sponsor logo alignment
2024-10-12 16:45:40 -06:00
Mauricio Siu
8036455c2d fix(traefik): allow to save domain without letsencrypt email when the cert is none #542 2024-10-12 16:44:10 -06:00
Dominik Koch
bf44eeab3d style: format code 2024-10-12 22:29:32 +00:00
Dominik Koch
0cd185696d fix: add target blank to links 2024-10-12 22:26:48 +00:00
Mauricio Siu
339697437a Merge pull request #544 from Dokploy/533-the-traefik-labels-get-duplicated-if-i-have-two-services-and-two-domains-in-one-docker-compose-file
fix(compose): refetch compose file when enter to the modal to prevent…
2024-10-12 16:26:43 -06:00
Dominik Koch
e0b15fe971 fix: logo alignment 2024-10-12 22:23:07 +00:00
Mauricio Siu
afc5ea43da fix(compose): refetch compose file when enter to the modal to prevent show duplicate labels 2024-10-12 16:19:49 -06:00
Mauricio Siu
bb337e819e Merge pull request #539 from mezotv/fix-typo
Fix typos and grammar errors
2024-10-12 16:11:27 -06:00
Mauricio Siu
160dd10f77 Merge pull request #538 from mezotv/update-website-sponsors
Add organization sponsors to website
2024-10-12 16:10:46 -06:00
Dominik Koch
49b096fef6 style: format code 2024-10-12 21:08:58 +00:00
Dominik Koch
4828b840cb fix: lxaer logo 2024-10-12 23:05:30 +02:00
Dominik Koch
67af70448b Update README.md 2024-10-12 23:03:09 +02:00
Dominik Koch
946acf5245 style: format code 2024-10-12 20:59:49 +00:00
Dominik Koch
390b3a835a fix: new lxaer logo 2024-10-12 22:54:46 +02:00
Dominik Koch
2842bf9a91 Update README.md 2024-10-12 22:51:56 +02:00
Dominik Koch
8a0e10f6f4 Update README.md 2024-10-12 22:51:03 +02:00
Mauricio Siu
67efa82b91 Merge pull request #537 from mezotv/organization-readme
Add missing organization to readme
2024-10-11 12:41:27 -06:00
Dominik Koch
546d6b87ea fix: get rid of typos and fix grammar 2024-10-11 20:03:20 +02:00
Dominik Koch
d012d19253 feat(web): add organization sponsors 2024-10-11 11:28:10 +02:00
Dominik Koch
e925ed9ea4 fix: add missing organization to readme 2024-10-11 11:21:20 +02:00
Mauricio Siu
0c05809d7d refactor: remove 2024-10-10 23:38:16 -06:00
Mauricio Siu
29f1631950 refactor: add dynamic import queue 2024-10-10 23:34:56 -06:00
Mauricio Siu
9c0c58035a chore; add logs for process env 2024-10-10 22:40:02 -06:00
Mauricio Siu
f4262569dd chore: add cat 2024-10-10 22:37:36 -06:00
Mauricio Siu
99cf6eae49 refactor: adjust enviroment variables 2024-10-10 22:27:25 -06:00
Mauricio Siu
0488546706 refactor: print env 2024-10-10 22:17:19 -06:00
Mauricio Siu
dc32cd71e5 refactor: add env to dist 2024-10-10 22:01:14 -06:00
Mauricio Siu
efdfd5d13c chore: print envs 2024-10-10 21:52:50 -06:00
Mauricio Siu
d31cab76f0 refactor: add flag 2024-10-10 21:52:09 -06:00
Mauricio Siu
00ed202127 refactor: add .env 2024-10-10 21:40:43 -06:00
Mauricio Siu
aaa4ca297d refacctor: add missing envs 2024-10-10 21:32:27 -06:00
Mauricio Siu
629871e683 refactor: add option to ci/cd 2024-10-10 21:22:13 -06:00
Mauricio Siu
a237c651c3 chore: add autoprefixer 2024-10-07 01:47:01 -06:00
Mauricio Siu
4f9b0d9d59 chore: remove .env 2024-10-07 01:45:16 -06:00
Mauricio Siu
b701a0b504 Merge pull request #531 from Dokploy/feat/cloud
Feat/cloud
2024-10-07 01:44:00 -06:00
Mauricio Siu
39036202bb test: fix mock zip drop 2024-10-07 01:34:35 -06:00
Mauricio Siu
4225ad83e7 chore: add docker images 2024-10-07 01:28:22 -06:00
Mauricio Siu
38c4e0ede1 chore: add build server 2024-10-07 01:16:59 -06:00
Mauricio Siu
25a64c703f chore: add pnpm run build 2024-10-07 01:08:47 -06:00
Mauricio Siu
ab5871add7 chore: biome 2024-10-07 01:05:47 -06:00
Mauricio Siu
2b0e009f6a refactor: remove feature tag 2024-10-07 00:59:07 -06:00
Mauricio Siu
9b6ea99eea refactor: remove unused files 2024-10-07 00:49:54 -06:00
Mauricio Siu
c4cf545d85 Merge branch 'canary' into feat/cloud 2024-10-07 00:31:23 -06:00
Mauricio Siu
1edd717432 Merge pull request #524 from lorenzomigliorero/feat/domains-link
feat: add dropdown link
2024-10-07 00:26:23 -06:00
Mauricio Siu
5b88af6158 refactor: remove findAdmin 2024-10-06 15:04:54 -06:00
Mauricio Siu
e995d894d8 refactor: remove docker from cloud 2024-10-06 14:27:14 -06:00
Mauricio Siu
5f56512e56 refactor: update queue jobs 2024-10-06 14:16:31 -06:00
Mauricio Siu
24e4930fc1 refactor: use connection IORedis 2024-10-06 02:57:46 -06:00
Mauricio Siu
541728805f refactor: add health path to middleware 2024-10-06 02:46:07 -06:00
Mauricio Siu
9e4bac1386 refactor: update ioredis connection 2024-10-06 02:44:35 -06:00
Mauricio Siu
ed8d32d050 chore: add type module 2024-10-06 02:25:02 -06:00
Mauricio Siu
7fb66bc58b refactor:add remote cron jobs 2024-10-06 02:19:15 -06:00
Mauricio Siu
58c06fba86 refactor(cloud): add api key for autentication between servers 2024-10-06 01:56:53 -06:00
Mauricio Siu
3cf27a068a refactor: add authorization 2024-10-06 01:37:39 -06:00
Mauricio Siu
7cfbea3f60 refactor: update 2024-10-05 22:18:33 -06:00
Mauricio Siu
7907e33431 refactor: update namefile 2024-10-05 22:17:44 -06:00
Mauricio Siu
89f3078ce5 refactor: update package name 2024-10-05 22:15:57 -06:00
Mauricio Siu
f3ce69b656 refactor: rename builders to server 2024-10-05 22:15:47 -06:00
Mauricio Siu
43555cdabe feat(schedules): add schedules server 2024-10-05 22:11:38 -06:00
Mauricio Siu
651bf3a303 refactor: update ref 2024-10-05 18:42:08 -06:00
Mauricio Siu
4cde1a8a7d refactor: close docker logs 2024-10-05 18:20:28 -06:00
Mauricio Siu
405efcac0b refactor: update logs listener 2024-10-05 17:34:17 -06:00
Mauricio Siu
8397de0dca refactor: close connections when the ws is not ready 2024-10-05 17:17:46 -06:00
Mauricio Siu
06b58e6495 refactor: close connection ws 2024-10-05 16:46:02 -06:00
Mauricio Siu
24db4006cf refactor: add close ws 2024-10-05 16:45:53 -06:00
Mauricio Siu
84009c5e9b refactor: add close websocket 2024-10-05 16:04:28 -06:00
Mauricio Siu
e32afde973 refactor: add status ok 2024-10-05 14:37:45 -06:00
Mauricio Siu
fecffac573 refactor: test rollback 2024-10-05 14:27:00 -06:00
Mauricio Siu
b4448e013c test: rollback 2024-10-05 14:16:23 -06:00
Mauricio Siu
c3f06a6272 feat(cloud): add healtchecks 2024-10-05 13:34:00 -06:00
Mauricio Siu
2be724f780 Update README.md 2024-10-05 02:39:50 -06:00
Mauricio Siu
bf78326c96 chore: use the same tailwindcss version 2024-10-05 01:30:09 -06:00
Mauricio Siu
4ca8722c6e refactor: optimize dockerfile 2024-10-05 01:21:39 -06:00
Mauricio Siu
e56e1eb687 refactor: add autoprefixer 2024-10-05 01:15:52 -06:00
Mauricio Siu
5a5c302bdc chore: optimize image 2024-10-05 01:11:15 -06:00
Mauricio Siu
997dc85985 refactor(api): remove deploy normal compose on the same dokploy server 2024-10-05 00:34:41 -06:00
Mauricio Siu
09ef851372 refactor(cloud): add validation to prevent create applications without server 2024-10-04 21:31:22 -06:00
Mauricio Siu
7c4987d84d refactor(cloud): add validation to prevent access to shared resources 2024-10-04 20:44:57 -06:00
Mauricio Siu
5cebf5540a refactor(cloud): add deploy to external API 2024-10-04 18:53:46 -06:00
Mauricio Siu
3df2f8e58c refactor(terminal): use ssh2 instead of cmd 2024-10-04 17:24:17 -06:00
Mauricio Siu
a642d36a23 refactor: hide handler when is cloud version 2024-10-04 15:20:47 -06:00
Mauricio Siu
72bceec62d refactor: add try catch 2024-10-04 15:16:01 -06:00
Mauricio Siu
3d32314e80 chore: update lock 2024-10-04 15:14:56 -06:00
Mauricio Siu
7259830ac1 chore: add experimental specifier resolution flag 2024-10-04 15:14:30 -06:00
Mauricio Siu
daa87c0dc7 refactor(cloud): add is cloud flag to cluters 2024-10-04 14:40:31 -06:00
Mauricio Siu
a2ee55e0e9 Merge pull request #527 from kikoncuo/fix/application-create-missing-return
fix: Application create endpoint returns value
2024-10-04 13:39:21 -06:00
Enrique
de6aeac243 fix(application.create): add missing return statement and align response with application.one 2024-10-04 11:46:14 +02:00
Lorenzo Migliorero
f640b4a87f stop propagation 2024-10-04 11:03:11 +02:00
Mauricio Siu
3747db08d4 refactor(cloud): add validation to prevent execute in cloud version 2024-10-04 01:12:14 -06:00
Mauricio Siu
ab4677ac0e refactor(auth): set null when the findAdmin is null 2024-10-04 01:01:30 -06:00
Mauricio Siu
172d55311e chore(cloud): add migrations 2024-10-04 00:04:52 -06:00
Mauricio Siu
3ce25e2ac8 chore(migrations): remove migrations 2024-10-03 23:47:34 -06:00
Mauricio Siu
388ded9aa5 feat(cloud): add deploy on remote worker 2024-10-03 23:46:26 -06:00
Mauricio Siu
767d3e1944 refactor(cloud): add validation to prevent access to shared resources 2024-10-03 19:50:17 -06:00
Mauricio Siu
ec1d6c7430 refactor(cloud): add validation to prevent access to resources from another admin 2024-10-03 19:48:49 -06:00
Mauricio Siu
8abeae5e63 refactor(cloud): validate all the routes to prevent get access from private resource 2024-10-03 19:34:38 -06:00
Oleksandr Honcharov
d833623ebf Merge branch 'canary' into canary 2024-10-03 17:41:36 -07:00
Mauricio Siu
cc90d9ec9b Merge branch 'canary' into feat/cloud 2024-10-03 13:39:06 -06:00
Mauricio Siu
6b5de00fb0 chore: update dev builder command 2024-10-03 12:01:32 -06:00
Mauricio Siu
5ed96fb0ce Merge pull request #523 from lorenzomigliorero/fix/watch-mode
fix: tsx watch flag unwanted reload
2024-10-03 11:01:57 -06:00
Mauricio Siu
a73af1d578 Merge pull request #522 from lorenzomigliorero/fix/bitbucket-repositories-length
fix: bitbucket repositories length
2024-10-03 11:00:25 -06:00
Mauricio Siu
5867a27901 Merge pull request #459 from seppulcro/feat/add-roundcube-template
feat: add roundcube template
2024-10-03 10:59:41 -06:00
Lorenzo Migliorero
8f7bffc349 add fragment 2024-10-03 15:32:45 +02:00
Lorenzo Migliorero
21ee22d4f5 add dropdown link 2024-10-03 15:27:48 +02:00
Lorenzo Migliorero
fb72132a4b remove watch flag 2024-10-03 14:05:12 +02:00
Lorenzo Migliorero
ca904c15d9 remove console.log 2024-10-03 13:55:28 +02:00
Lorenzo Migliorero
682863f83e fix: repo length 2024-10-03 13:54:40 +02:00
seppulcro
a36518a8f0 fix: set static docker image version 2024-10-03 08:09:21 +01:00
Mauricio Siu
5c72e5a452 refactor: filter by adminId 2024-10-03 00:45:46 -06:00
Mauricio Siu
600f4b2106 refactor: apply migration 2024-10-03 00:15:36 -06:00
Mauricio Siu
c12d37fe0a refactor: revent 2024-10-03 00:06:11 -06:00
Mauricio Siu
bba8d00ba2 refactor: update dockerfile 2024-10-02 23:56:09 -06:00
Mauricio Siu
78665ffbfa refactor(tabs): hide when is cloud version 2024-10-02 23:51:37 -06:00
Mauricio Siu
d41c8c70c3 feat: add ssh key 2024-10-02 22:50:01 -06:00
Mauricio Siu
f13e5d449c Revert "refactor: stash"
This reverts commit d256998677.
2024-10-02 22:37:14 -06:00
Mauricio Siu
d256998677 refactor: stash 2024-10-02 21:55:54 -06:00
Mauricio Siu
ffd19f591d chore: add package manager 2024-09-30 01:00:53 -06:00
Mauricio Siu
81a41a7f31 refactor: update healtcheck 2024-09-30 00:54:49 -06:00
Mauricio Siu
1c9b704ecc refactor: update redis url 2024-09-30 00:51:07 -06:00
Mauricio Siu
edf1fdedf0 refactor: update paths build 2024-09-30 00:47:47 -06:00
Mauricio Siu
8484649071 refactor: update 2024-09-30 00:44:33 -06:00
Mauricio Siu
1e68248611 refactor: update image 2024-09-30 00:41:21 -06:00
Mauricio Siu
b3e35c5838 refactor: upate dockerfile 2024-09-30 00:40:43 -06:00
Mauricio Siu
ddd4ba8135 refactor: add dockerfile 2024-09-30 00:39:53 -06:00
Mauricio Siu
539544d0de refactor: update 2024-09-30 00:38:22 -06:00
Mauricio Siu
123b5d098b refactor: update install 2024-09-30 00:32:54 -06:00
Mauricio Siu
796a9ca11f refactor: add builder workspace 2024-09-30 00:31:56 -06:00
Mauricio Siu
2872ef3ccb feat(api): add dockerfile api 2024-09-30 00:27:14 -06:00
Mauricio Siu
06a772e344 chore: add dotenv 2024-09-29 22:55:41 -06:00
Mauricio Siu
e99666f4c0 fix(esm): add tsc alias 2024-09-29 21:43:25 -06:00
Mauricio Siu
bd243d79e2 refactor: remove logs 2024-09-29 21:01:24 -06:00
Mauricio Siu
071a9d5104 refactor: cleanup dependencies 2024-09-29 20:35:25 -06:00
Mauricio Siu
61ebd1b16e refactor(server): remove files 2024-09-29 19:14:41 -06:00
Mauricio Siu
9836c988a0 refactor(build): update imports 2024-09-29 18:53:32 -06:00
Mauricio Siu
03d7738032 refactor(dockerfile): update dockerfile 2024-09-29 18:49:07 -06:00
Mauricio Siu
98aa474975 refactor(test): update paths and mocks 2024-09-29 18:44:07 -06:00
Mauricio Siu
7bd6b66551 refactor(multi-server): update path imports 2024-09-29 18:04:45 -06:00
Mauricio Siu
2ae7e562bb refactor(server): remove files 2024-09-29 13:28:24 -06:00
Mauricio Siu
e4b998c608 refactor(server): update imports 2024-09-29 11:55:29 -06:00
Mauricio Siu
9b7aacc934 refactor(server): split logic in to packages 2024-09-29 02:28:58 -06:00
seppulcro
0aff344bc0 fix: change tags for roundcube template 2024-09-24 17:27:11 +01:00
seppulcro
4715f34e15 fix: mdx-components formatting with biome 2024-09-24 17:01:24 +01:00
seppulcro
59386ed4b7 fix: Update docs; Fix useMDXComponents for li override: add missing id for correct remark-gfm footnotes functionallity 2024-09-23 16:13:16 +01:00
sashagoncharov19
8b855d7ee4 feat: added erpnext template 2024-09-20 21:57:46 +00:00
Oleksandr Honcharov
706cde4ffd Merge branch 'Dokploy:canary' into canary 2024-09-21 00:33:00 +03:00
seppulcro
5b0bf99cbf fix: update roundcube template remove bad chars 2024-09-19 14:40:20 +01:00
seppulcro
8e227a3286 fix: update roundcube template to match spec 2024-09-19 08:37:37 +01:00
seppulcro
869e58739f feat: add roundcube template 2024-09-17 19:57:54 +01:00
sashagoncharov19
a39a7a276d fix: clean after mailcow tests 2024-09-17 11:32:48 +00:00
sashagoncharov19
0327334fcd fix: run pnpm check 2024-09-17 11:30:14 +00:00
sashagoncharov19
3e0d4ebbd6 feat: added mailserver template 2024-09-17 11:23:40 +00:00
Ben Bristow
f8721d3e04 fix: remove 'networks' section 2024-09-02 21:20:27 +01:00
Ben Bristow
a6c7c3b031 fix: directus healthchecks (fix race condition starting up), volumes for uploads & extensions, add secret/db password generation, bump version to 11.0.2 2024-09-02 21:11:03 +01:00
1227 changed files with 120218 additions and 101438 deletions

View File

@@ -1,105 +0,0 @@
version: 2.1
jobs:
build-amd64:
machine:
image: ubuntu-2004:current
steps:
- checkout
- run:
name: Prepare .env file
command: |
cp apps/dokploy/.env.production.example .env.production
cp apps/dokploy/.env.production.example apps/dokploy/.env.production
- run:
name: Build and push AMD64 image
command: |
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
if [ "${CIRCLE_BRANCH}" == "main" ]; then
TAG="latest"
else
TAG="canary"
fi
docker build --platform linux/amd64 -t dokploy/dokploy:${TAG}-amd64 .
docker push dokploy/dokploy:${TAG}-amd64
build-arm64:
machine:
image: ubuntu-2004:current
resource_class: arm.large
steps:
- checkout
- run:
name: Prepare .env file
command: |
cp apps/dokploy/.env.production.example .env.production
cp apps/dokploy/.env.production.example apps/dokploy/.env.production
- run:
name: Build and push ARM64 image
command: |
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
if [ "${CIRCLE_BRANCH}" == "main" ]; then
TAG="latest"
else
TAG="canary"
fi
docker build --platform linux/arm64 -t dokploy/dokploy:${TAG}-arm64 .
docker push dokploy/dokploy:${TAG}-arm64
combine-manifests:
docker:
- image: cimg/node:18.18.0
steps:
- checkout
- setup_remote_docker
- run:
name: Create and push multi-arch manifest
command: |
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
if [ "${CIRCLE_BRANCH}" == "main" ]; then
VERSION=$(node -p "require('./apps/dokploy/package.json').version")
echo $VERSION
TAG="latest"
docker manifest create dokploy/dokploy:${TAG} \
dokploy/dokploy:${TAG}-amd64 \
dokploy/dokploy:${TAG}-arm64
docker manifest push dokploy/dokploy:${TAG}
docker manifest create dokploy/dokploy:${VERSION} \
dokploy/dokploy:${TAG}-amd64 \
dokploy/dokploy:${TAG}-arm64
docker manifest push dokploy/dokploy:${VERSION}
else
TAG="canary"
docker manifest create dokploy/dokploy:${TAG} \
dokploy/dokploy:${TAG}-amd64 \
dokploy/dokploy:${TAG}-arm64
docker manifest push dokploy/dokploy:${TAG}
fi
workflows:
build-all:
jobs:
- build-amd64:
filters:
branches:
only:
- main
- canary
- build-arm64:
filters:
branches:
only:
- main
- canary
- combine-manifests:
requires:
- build-amd64
- build-arm64
filters:
branches:
only:
- main
- canary

View File

@@ -1,4 +0,0 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
pnpm commitlint --edit $1

View File

@@ -1,6 +0,0 @@
// Skip Husky install in production and CI
if (process.env.NODE_ENV === "production" || process.env.CI === "true") {
process.exit(0);
}
const husky = (await import("husky")).default;
console.log(husky());

View File

@@ -1 +0,0 @@
pnpm lint-staged

View File

@@ -1,6 +1,6 @@
name: Bug Report
description: Create a bug report
labels: ['bug']
labels: ["bug"]
body:
- type: markdown
attributes:
@@ -11,18 +11,27 @@ body:
- type: textarea
attributes:
label: To Reproduce
description: A step-by-step description of how to reproduce the issue, or a link to the reproducible repository.
description: |
A detailed, step-by-step description of how to reproduce the issue is required.
Please ensure your report includes clear instructions using numbered lists.
If possible, provide a link to a repository or project where the issue can be reproduced.
placeholder: |
1. Create a application
2. Click X
3. Y will happen
Make sure to:
- Use numbered lists to outline steps clearly.
- Include all relevant commands and configurations.
- Provide a link to a reproducible repository if applicable.
validations:
required: true
- type: textarea
attributes:
label: Current vs. Expected behavior
description: A clear and concise description of what the bug is, and what you expected to happen.
placeholder: 'Following the steps from the previous section, I expected A to happen, but I observed B instead'
placeholder: "Following the steps from the previous section, I expected A to happen, but I observed B instead"
validations:
required: true
- type: textarea
@@ -45,12 +54,23 @@ body:
label: Which area(s) are affected? (Select all that apply)
multiple: true
options:
- 'Installation'
- 'Application'
- 'Databases'
- 'Docker Compose'
- 'Traefik'
- 'Docker'
- "Installation"
- "Application"
- "Databases"
- "Docker Compose"
- "Traefik"
- "Docker"
- "Remote server"
- "Local Development"
validations:
required: true
- type: dropdown
attributes:
label: Are you deploying the applications where Dokploy is installed or on a remote server?
options:
- "Same server where Dokploy is installed"
- "Remote server"
- "Both"
validations:
required: true
- type: textarea
@@ -59,4 +79,16 @@ body:
description: |
Any extra information that might help us investigate.
placeholder: |
I tested on a DigitalOcean VPS with Ubuntu 20.04 and Docker version 20.10.12.
I tested on a DigitalOcean VPS with Ubuntu 20.04 and Docker version 20.10.12.
- type: dropdown
attributes:
label: Will you send a PR to fix it?
description: Let us know if you are planning to submit a pull request to address this issue.
options:
- "Yes"
- "No"
- "Maybe, need help"
validations:
required: true

View File

@@ -1,6 +1,6 @@
name: Feature Request
description: Suggest a new feature or improvement to the project
labels: ['enhancement']
labels: ["enhancement"]
body:
- type: textarea
attributes:
@@ -30,4 +30,15 @@ body:
label: Additional context
description: Add any other context or screenshots about the feature request here.
validations:
required: false
required: false
- type: dropdown
attributes:
label: Will you send a PR to implement it?
description: Let us know if you are planning to submit a pull request to implement this feature.
options:
- "Yes"
- "No"
- "Maybe, need help"
validations:
required: true

BIN
.github/sponsors/its.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
.github/sponsors/light-node.webp vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 KiB

After

Width:  |  Height:  |  Size: 248 KiB

BIN
.github/sponsors/mandarin.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
.github/sponsors/startupfame.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

83
.github/workflows/create-pr.yml vendored Normal file
View File

@@ -0,0 +1,83 @@
name: Auto PR to main when version changes
on:
push:
branches:
- canary
permissions:
contents: write
pull-requests: write
jobs:
create-pr:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get version from package.json
id: package_version
run: echo "VERSION=$(jq -r .version ./apps/dokploy/package.json)" >> $GITHUB_ENV
- name: Get latest GitHub tag
id: latest_tag
run: |
LATEST_TAG=$(git ls-remote --tags origin | awk -F'/' '{print $3}' | sort -V | tail -n1)
echo "LATEST_TAG=$LATEST_TAG" >> $GITHUB_ENV
echo $LATEST_TAG
- name: Compare versions
id: compare_versions
run: |
if [ "${{ env.VERSION }}" != "${{ env.LATEST_TAG }}" ]; then
VERSION_CHANGED="true"
else
VERSION_CHANGED="false"
fi
echo "VERSION_CHANGED=$VERSION_CHANGED" >> $GITHUB_ENV
echo "Comparing versions:"
echo "Current version: ${{ env.VERSION }}"
echo "Latest tag: ${{ env.LATEST_TAG }}"
echo "Version changed: $VERSION_CHANGED"
- name: Check if a PR already exists
id: check_pr
run: |
PR_EXISTS=$(gh pr list --state open --base main --head canary --json number --jq '. | length')
echo "PR_EXISTS=$PR_EXISTS" >> $GITHUB_ENV
env:
GH_TOKEN: ${{ secrets.GH_PAT }}
- name: Create Pull Request
if: env.VERSION_CHANGED == 'true' && env.PR_EXISTS == '0'
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git fetch origin main
git checkout canary
git push origin canary
gh pr create \
--title "🚀 Release ${{ env.VERSION }}" \
--body '
This PR promotes changes from `canary` to `main` for version ${{ env.VERSION }}.
### 🔍 Changes Include:
- Version bump to ${{ env.VERSION }}
- All changes from canary branch
### ✅ Pre-merge Checklist:
- [ ] All tests passing
- [ ] Documentation updated
- [ ] Docker images built and tested
> 🤖 This PR was automatically generated by [GitHub Actions](https://github.com/actions)' \
--base main \
--head canary \
--label "release" --label "automated pr" || true \
--reviewer siumauricio \
--assignee siumauricio
env:
GH_TOKEN: ${{ github.token }}

View File

@@ -1,33 +1,38 @@
name: Build Docs & Website Docker images
name: Build Docker images
on:
push:
branches: ["canary", "main"]
jobs:
build-and-push-image-docs:
build-and-push-cloud-image:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v3
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile.docs
file: ./Dockerfile.cloud
push: true
tags: dokploy/docs:latest
tags: |
siumauricio/cloud:${{ github.ref_name == 'main' && 'latest' || 'canary' }}
platforms: linux/amd64
build-args: |
NEXT_PUBLIC_UMAMI_HOST=${{ secrets.NEXT_PUBLIC_UMAMI_HOST }}
NEXT_PUBLIC_UMAMI_WEBSITE_ID=${{ secrets.NEXT_PUBLIC_UMAMI_WEBSITE_ID }}
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=${{ secrets.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY }}
build-and-push-image-website:
build-and-push-schedule-image:
runs-on: ubuntu-latest
steps:
@@ -44,7 +49,32 @@ jobs:
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile.website
file: ./Dockerfile.schedule
push: true
tags: dokploy/website:latest
platforms: linux/amd64
tags: |
siumauricio/schedule:${{ github.ref_name == 'main' && 'latest' || 'canary' }}
platforms: linux/amd64
build-and-push-server-image:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile.server
push: true
tags: |
siumauricio/server:${{ github.ref_name == 'main' && 'latest' || 'canary' }}
platforms: linux/amd64

161
.github/workflows/dokploy.yml vendored Normal file
View File

@@ -0,0 +1,161 @@
name: Dokploy Docker Build
on:
push:
branches: [main, canary, feat/github-runners]
env:
IMAGE_NAME: dokploy/dokploy
jobs:
docker-amd:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set tag and version
id: meta
run: |
if [ "${{ github.ref }}" = "refs/heads/main" ]; then
TAG="latest"
VERSION=$(node -p "require('./apps/dokploy/package.json').version")
elif [ "${{ github.ref }}" = "refs/heads/canary" ]; then
TAG="canary"
else
TAG="feature"
fi
echo "tags=${IMAGE_NAME}:${TAG}-amd64" >> $GITHUB_OUTPUT
- name: Prepare env file
run: |
cp apps/dokploy/.env.production.example .env.production
cp apps/dokploy/.env.production.example apps/dokploy/.env.production
- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64
push: true
tags: ${{ steps.meta.outputs.tags }}
docker-arm:
runs-on: ubuntu-24.04-arm
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set tag and version
id: meta
run: |
VERSION=$(node -p "require('./apps/dokploy/package.json').version")
if [ "${{ github.ref }}" = "refs/heads/main" ]; then
TAG="latest"
VERSION=$(node -p "require('./apps/dokploy/package.json').version")
elif [ "${{ github.ref }}" = "refs/heads/canary" ]; then
TAG="canary"
else
TAG="feature"
fi
echo "tags=${IMAGE_NAME}:${TAG}-arm64" >> $GITHUB_OUTPUT
- name: Prepare env file
run: |
cp apps/dokploy/.env.production.example .env.production
cp apps/dokploy/.env.production.example apps/dokploy/.env.production
- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/arm64
push: true
tags: ${{ steps.meta.outputs.tags }}
combine-manifests:
needs: [docker-amd, docker-arm]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Create and push manifests
run: |
if [ "${{ github.ref }}" = "refs/heads/main" ]; then
VERSION=$(node -p "require('./apps/dokploy/package.json').version")
TAG="latest"
docker buildx imagetools create -t ${IMAGE_NAME}:${TAG} \
${IMAGE_NAME}:${TAG}-amd64 \
${IMAGE_NAME}:${TAG}-arm64
docker buildx imagetools create -t ${IMAGE_NAME}:${VERSION} \
${IMAGE_NAME}:${TAG}-amd64 \
${IMAGE_NAME}:${TAG}-arm64
elif [ "${{ github.ref }}" = "refs/heads/canary" ]; then
TAG="canary"
docker buildx imagetools create -t ${IMAGE_NAME}:${TAG} \
${IMAGE_NAME}:${TAG}-amd64 \
${IMAGE_NAME}:${TAG}-arm64
else
TAG="feature"
docker buildx imagetools create -t ${IMAGE_NAME}:${TAG} \
${IMAGE_NAME}:${TAG}-amd64 \
${IMAGE_NAME}:${TAG}-arm64
fi
generate-release:
needs: [combine-manifests]
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get version
id: get_version
run: |
VERSION=$(node -p "require('./apps/dokploy/package.json').version")
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Create Release
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ steps.get_version.outputs.version }}
name: Release v${{ steps.get_version.outputs.version }}
generate_release_notes: true
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -4,9 +4,6 @@ on:
pull_request:
branches: [main, canary]
env:
HUSKY: 0
jobs:
lint-and-typecheck:
runs-on: ubuntu-latest
@@ -15,10 +12,10 @@ jobs:
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 18.18.0
node-version: 20.9.0
cache: "pnpm"
- run: pnpm install --frozen-lockfile
- run: pnpm biome ci
- run: pnpm run server:build
- run: pnpm typecheck
build-and-test:
@@ -29,9 +26,10 @@ jobs:
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 18.18.0
node-version: 20.9.0
cache: "pnpm"
- run: pnpm install --frozen-lockfile
- run: pnpm run server:build
- run: pnpm build
parallel-tests:
@@ -41,7 +39,8 @@ jobs:
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 18.18.0
node-version: 20.9.0
cache: "pnpm"
- run: pnpm install --frozen-lockfile
- run: pnpm run server:build
- run: pnpm test

1
.gitignore vendored
View File

@@ -34,7 +34,6 @@ yarn-debug.log*
yarn-error.log*
# Editor
.vscode
.idea
# Misc

2
.nvmrc
View File

@@ -1 +1 @@
18.18.0
20.9.0

View File

@@ -52,6 +52,8 @@ feat: add new feature
Before you start, please make the clone based on the `canary` branch, since the `main` branch is the source of truth and should always reflect the latest stable release, also the PRs will be merged to the `canary` branch.
We use Node v20.9.0
```bash
git clone https://github.com/dokploy/dokploy.git
cd dokploy
@@ -71,6 +73,12 @@ Run the command that will spin up all the required services and files.
pnpm run dokploy:setup
```
Run this script
```bash
pnpm run server:script
```
Now run the development server.
```bash
@@ -162,6 +170,7 @@ Let's take the example of `plausible` template.
```typescript
// EXAMPLE
import {
generateBase64,
generateHash,
generateRandomDomain,
type Template,
@@ -193,8 +202,8 @@ export function generate(schema: Schema): Template {
const mounts: Template["mounts"] = [
{
mountPath: "./clickhouse/clickhouse-config.xml",
content: `some content......`,
filePath: "./clickhouse/clickhouse-config.xml",
content: "some content......",
},
];
@@ -230,37 +239,13 @@ export function generate(schema: Schema): Template {
5. Add the logo or image of the template to `public/templates/plausible.svg`
### Recomendations
### Recommendations
- Use the same name of the folder as the id of the template.
- The logo should be in the public folder.
- If you want to show a domain in the UI, please add the prefix \_HOST at the end of the variable name.
- If you want to show a domain in the UI, please add the `_HOST` suffix at the end of the variable name.
- Test first on a vps or a server to make sure the template works.
## Docs
## Docs & Website
To run the docs locally, run the following command:
```bash
pnpm run docs:dev
```
To build the docs, run the following command:
```bash
pnpm run docs:build
```
## Website
To run the website locally, run the following command:
```bash
pnpm run website:dev
```
To build the website, run the following command:
```bash
pnpm run website:build
```
To contribute to the Dokploy docs or website, please go to this [repository](https://github.com/Dokploy/website).

View File

@@ -1,4 +1,4 @@
FROM node:18-slim AS base
FROM node:20-slim AS base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
@@ -7,7 +7,7 @@ FROM base AS build
COPY . /usr/src/app
WORKDIR /usr/src/app
RUN apt-get update && apt-get install -y python3 make g++ git && rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y python3 make g++ git python3-pip pkg-config libsecret-1-dev && rm -rf /var/lib/apt/lists/*
# Install dependencies
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
@@ -15,7 +15,9 @@ RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
# Deploy only the dokploy app
ENV NODE_ENV=production
RUN pnpm --filter=@dokploy/server build
RUN pnpm --filter=./apps/dokploy run build
RUN pnpm --filter=./apps/dokploy --prod deploy /prod/dokploy
RUN cp -R /usr/src/app/apps/dokploy/.next /prod/dokploy/.next
@@ -27,7 +29,7 @@ WORKDIR /app
# Set production
ENV NODE_ENV=production
RUN apt-get update && apt-get install -y curl unzip apache2-utils && rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y curl unzip apache2-utils iproute2 && rm -rf /var/lib/apt/lists/*
# Copy only the necessary files
COPY --from=build /prod/dokploy/.next ./.next
@@ -46,6 +48,8 @@ RUN curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh && rm
# Install Nixpacks and tsx
# | VERBOSE=1 VERSION=1.21.0 bash
ARG NIXPACKS_VERSION=1.29.1
RUN curl -sSL https://nixpacks.com/install.sh -o install.sh \
&& chmod +x install.sh \
&& ./install.sh \

61
Dockerfile.cloud Normal file
View File

@@ -0,0 +1,61 @@
FROM node:20-slim AS base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
FROM base AS build
COPY . /usr/src/app
WORKDIR /usr/src/app
RUN apt-get update && apt-get install -y python3 make g++ git python3-pip pkg-config libsecret-1-dev && rm -rf /var/lib/apt/lists/*
# Install dependencies
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm --filter=@dokploy/server --filter=./apps/dokploy install --frozen-lockfile
# Deploy only the dokploy app
ARG NEXT_PUBLIC_UMAMI_HOST
ENV NEXT_PUBLIC_UMAMI_HOST=$NEXT_PUBLIC_UMAMI_HOST
ARG NEXT_PUBLIC_UMAMI_WEBSITE_ID
ENV NEXT_PUBLIC_UMAMI_WEBSITE_ID=$NEXT_PUBLIC_UMAMI_WEBSITE_ID
ARG NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY
ENV NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=$NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY
ENV NODE_ENV=production
RUN pnpm --filter=@dokploy/server build
RUN pnpm --filter=./apps/dokploy run build
RUN pnpm --filter=./apps/dokploy --prod deploy /prod/dokploy
RUN cp -R /usr/src/app/apps/dokploy/.next /prod/dokploy/.next
RUN cp -R /usr/src/app/apps/dokploy/dist /prod/dokploy/dist
FROM base AS dokploy
WORKDIR /app
# Set production
ENV NODE_ENV=production
RUN apt-get update && apt-get install -y curl unzip apache2-utils && rm -rf /var/lib/apt/lists/*
# Copy only the necessary files
COPY --from=build /prod/dokploy/.next ./.next
COPY --from=build /prod/dokploy/dist ./dist
COPY --from=build /prod/dokploy/next.config.mjs ./next.config.mjs
COPY --from=build /prod/dokploy/public ./public
COPY --from=build /prod/dokploy/package.json ./package.json
COPY --from=build /prod/dokploy/drizzle ./drizzle
COPY --from=build /prod/dokploy/components.json ./components.json
COPY --from=build /prod/dokploy/node_modules ./node_modules
# Install RCLONE
RUN curl https://rclone.org/install.sh | bash
# tsx
RUN pnpm install -g tsx
EXPOSE 3000
CMD [ "pnpm", "start" ]

View File

@@ -1,35 +0,0 @@
FROM node:18-alpine AS base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
FROM base AS build
COPY . /usr/src/app
WORKDIR /usr/src/app
# Install dependencies
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --filter=./apps/docs --frozen-lockfile
# Deploy only the dokploy app
ENV NODE_ENV=production
RUN pnpm --filter=./apps/docs run build
RUN pnpm --filter=./apps/docs --prod deploy /prod/docs
RUN cp -R /usr/src/app/apps/docs/.next /prod/docs/.next
FROM base AS dokploy
WORKDIR /app
# Set production
ENV NODE_ENV=production
# Copy only the necessary files
COPY --from=build /prod/docs/.next ./.next
COPY --from=build /prod/docs/public ./public
COPY --from=build /prod/docs/package.json ./package.json
COPY --from=build /prod/docs/node_modules ./node_modules
EXPOSE 3000
CMD HOSTNAME=0.0.0.0 && pnpm start

36
Dockerfile.schedule Normal file
View File

@@ -0,0 +1,36 @@
FROM node:20-slim AS base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
FROM base AS build
COPY . /usr/src/app
WORKDIR /usr/src/app
RUN apt-get update && apt-get install -y python3 make g++ git python3-pip pkg-config libsecret-1-dev && rm -rf /var/lib/apt/lists/*
# Install dependencies
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm --filter=@dokploy/server --filter=./apps/schedules install --frozen-lockfile
# Deploy only the dokploy app
ENV NODE_ENV=production
RUN pnpm --filter=@dokploy/server build
RUN pnpm --filter=./apps/schedules run build
RUN pnpm --filter=./apps/schedules --prod deploy /prod/schedules
RUN cp -R /usr/src/app/apps/schedules/dist /prod/schedules/dist
FROM base AS dokploy
WORKDIR /app
# Set production
ENV NODE_ENV=production
# Copy only the necessary files
COPY --from=build /prod/schedules/dist ./dist
COPY --from=build /prod/schedules/package.json ./package.json
COPY --from=build /prod/schedules/node_modules ./node_modules
CMD HOSTNAME=0.0.0.0 && pnpm start

36
Dockerfile.server Normal file
View File

@@ -0,0 +1,36 @@
FROM node:20-slim AS base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
FROM base AS build
COPY . /usr/src/app
WORKDIR /usr/src/app
RUN apt-get update && apt-get install -y python3 make g++ git python3-pip pkg-config libsecret-1-dev && rm -rf /var/lib/apt/lists/*
# Install dependencies
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm --filter=@dokploy/server --filter=./apps/api install --frozen-lockfile
# Deploy only the dokploy app
ENV NODE_ENV=production
RUN pnpm --filter=@dokploy/server build
RUN pnpm --filter=./apps/api run build
RUN pnpm --filter=./apps/api --prod deploy /prod/api
RUN cp -R /usr/src/app/apps/api/dist /prod/api/dist
FROM base AS dokploy
WORKDIR /app
# Set production
ENV NODE_ENV=production
# Copy only the necessary files
COPY --from=build /prod/api/dist ./dist
COPY --from=build /prod/api/package.json ./package.json
COPY --from=build /prod/api/node_modules ./node_modules
CMD HOSTNAME=0.0.0.0 && pnpm start

View File

@@ -1,35 +0,0 @@
FROM node:18-alpine AS base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
FROM base AS build
COPY . /usr/src/app
WORKDIR /usr/src/app
# Install dependencies
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --filter=./apps/website --frozen-lockfile
# Deploy only the dokploy app
ENV NODE_ENV=production
RUN pnpm --filter=./apps/website run build
RUN pnpm --filter=./apps/website --prod deploy /prod/website
RUN cp -R /usr/src/app/apps/website/.next /prod/website/.next
FROM base AS dokploy
WORKDIR /app
# Set production
ENV NODE_ENV=production
# Copy only the necessary files
COPY --from=build /prod/website/.next ./.next
COPY --from=build /prod/website/public ./public
COPY --from=build /prod/website/package.json ./package.json
COPY --from=build /prod/website/node_modules ./node_modules
EXPOSE 3000
CMD HOSTNAME=0.0.0.0 && pnpm start

View File

@@ -17,10 +17,10 @@ See the License for the specific language governing permissions and limitations
## Additional Terms for Specific Features
The following additional terms apply to the multi-node support and Docker Compose file support features of Dokploy. In the event of a conflict, these provisions shall take precedence over those in the Apache License:
The following additional terms apply to the multi-node support, Docker Compose file, Preview Deployments and Multi Server features of Dokploy. In the event of a conflict, these provisions shall take precedence over those in the Apache License:
- **Self-Hosted Version Free**: All features of Dokploy, including multi-node support and Docker Compose file support, will always be free to use in the self-hosted version.
- **Restriction on Resale**: The multi-node support and Docker Compose file support features cannot be sold or offered as a service by any party other than the copyright holder without prior written consent.
- **Modification Distribution**: Any modifications to the multi-node support and Docker Compose file support features must be distributed freely and cannot be sold or offered as a service.
- **Self-Hosted Version Free**: All features of Dokploy, including multi-node support, Docker Compose file support, Preview Deployments and Multi Server, will always be free to use in the self-hosted version.
- **Restriction on Resale**: The multi-node support, Docker Compose file support, Preview Deployments and Multi Server features cannot be sold or offered as a service by any party other than the copyright holder without prior written consent.
- **Modification Distribution**: Any modifications to the multi-node support, Docker Compose file support, Preview Deployments and Multi Server features must be distributed freely and cannot be sold or offered as a service.
For further inquiries or permissions, please contact us directly.

View File

@@ -15,28 +15,31 @@
</div>
</div>
<br />
Dokploy is a free self-hostable Platform as a Service (PaaS) that simplifies the deployment and management of applications and databases.
Dokploy is a free, self-hostable Platform as a Service (PaaS) that simplifies the deployment and management of applications and databases.
### Features
Dokploy include multiples features to make your life easier.
Dokploy includes multiple features to make your life easier.
- **Applications**: Deploy any type of application (Node.js, PHP, Python, Go, Ruby, etc.).
- **Databases**: Create and manage databases with support for MySQL, PostgreSQL, MongoDB, MariaDB, Redis.
- **Backups**: Automate backups for databases to a external storage destination.
- **Databases**: Create and manage databases with support for MySQL, PostgreSQL, MongoDB, MariaDB, and Redis.
- **Backups**: Automate backups for databases to an external storage destination.
- **Docker Compose**: Native support for Docker Compose to manage complex applications.
- **Multi Node**: Scale applications to multiples nodes using docker swarm to manage the cluster.
- **Templates**: Deploy in a single click open source templates (Plausible, Pocketbase, Calcom, etc.).
- **Multi Node**: Scale applications to multiple nodes using Docker Swarm to manage the cluster.
- **Templates**: Deploy open-source templates (Plausible, Pocketbase, Calcom, etc.) with a single click.
- **Traefik Integration**: Automatically integrates with Traefik for routing and load balancing.
- **Real-time Monitoring**: Monitor CPU, memory, storage, and network usage, for every resource.
- **Real-time Monitoring**: Monitor CPU, memory, storage, and network usage for every resource.
- **Docker Management**: Easily deploy and manage Docker containers.
- **CLI/API**: Manage your applications and databases using the command line or trought the API.
- **Notifications**: Get notified when your deployments are successful or failed (Slack, Discord, Telegram, Email, etc.)
- **CLI/API**: Manage your applications and databases using the command line or through the API.
- **Notifications**: Get notified when your deployments succeed or fail (via Slack, Discord, Telegram, Email, etc.).
- **Multi Server**: Deploy and manage your applications remotely to external servers.
- **Self-Hosted**: Self-host Dokploy on your VPS.
## 🚀 Getting Started
To get started run the following command in a VPS:
To get started, run the following command on a VPS:
Want to skip the installation process? [Try the Dokploy Cloud](https://app.dokploy.com).
```bash
curl -sSL https://dokploy.com/install.sh | sh
@@ -58,7 +61,20 @@ For detailed documentation, visit [docs.dokploy.com](https://docs.dokploy.com).
### Hero Sponsors 🎖
<a href="https://www.hostinger.com/vps-hosting?ref=dokploy" target="_blank" ><img src=".github/sponsors/hostinger.jpg" alt="Hostinger" width="200"/></a>
<div style="display: flex; align-items: center; gap: 20px;">
<a href="https://www.hostinger.com/vps-hosting?ref=dokploy" target="_blank" style="display: inline-block; margin-right: 10px;">
<img src=".github/sponsors/hostinger.jpg" alt="Hostinger" height="50"/>
</a>
<a href="https://www.lxaer.com/?ref=dokploy" target="_blank" style="display: inline-block; margin-right: 10px;">
<img src=".github/sponsors/lxaer.png" alt="LX Aer" height="50"/>
</a>
<a href="https://mandarin3d.com/?ref=dokploy" target="_blank" style="display: inline-block;">
<img src=".github/sponsors/mandarin.png" alt="Mandarin" height="50"/>
</a>
<a href="https://lightnode.com/?ref=dokploy" target="_blank" style="display: inline-block;">
<img src=".github/sponsors/light-node.webp" alt="Lightnode" height="70"/>
</a>
</div>
### Premium Supporters 🥇
@@ -74,13 +90,18 @@ For detailed documentation, visit [docs.dokploy.com](https://docs.dokploy.com).
<div style="display: flex; gap: 30px; flex-wrap: wrap;">
<a href="https://lightspeed.run/?ref=dokploy"><img src="https://github.com/lightspeedrun.png" width="60px" alt="Lightspeed.run"/></a>
<a href="https://cloudblast.io/?ref=dokploy "><img src="https://cloudblast.io/img/logo-icon.193cf13e.svg" width="250px" alt="Lightspeed.run"/></a>
<a href="https://cloudblast.io/?ref=dokploy "><img src="https://cloudblast.io/img/logo-icon.193cf13e.svg" width="250px" alt="Cloudblast.io"/></a>
<a href="https://startupfa.me/?ref=dokploy "><img src=".github/sponsors/startupfame.png" width="65px" alt="Startupfame"/></a>
<a href="https://itsdb-center.com?ref=dokploy "><img src=".github/sponsors/its.png" width="65px" alt="Itsdb-center"/></a>
</div>
### Community Backers 🤝
<div style="display: flex; gap: 30px; flex-wrap: wrap;">
<a href="https://steamsets.com/?ref=dokploy"><img src="https://avatars.githubusercontent.com/u/111978405?s=200&v=4" width="60px" alt="Steamsets.com"/></a>
<a href="https://rivo.gg/?ref=dokploy"><img src="https://avatars.githubusercontent.com/u/126797452?s=200&v=4" width="60px" alt="Rivo.gg"/></a>
<a href="https://photoquest.wedding/?ref=dokploy"><img src="https://photoquest.wedding/favicon/android-chrome-512x512.png" width="60px" alt="Rivo.gg"/></a>
</div>
#### Organizations:
@@ -100,7 +121,7 @@ For detailed documentation, visit [docs.dokploy.com](https://docs.dokploy.com).
## Video Tutorial
<a href="https://youtu.be/mznYKPvhcfw">
<img src="https://dokploy.com/banner.webp" alt="Watch the video" width="400" style="border-radius:20px;"/>
<img src="https://dokploy.com/banner.png" alt="Watch the video" width="400" style="border-radius:20px;"/>
</a>
<!-- ## Supported OS

View File

@@ -1,15 +1,33 @@
{
"name": "my-app",
"name": "@dokploy/api",
"version": "0.0.1",
"type": "module",
"scripts": {
"dev": "tsx watch src/index.ts"
"dev": "PORT=4000 tsx watch src/index.ts",
"build": "tsc --project tsconfig.json",
"start": "node dist/index.js",
"typecheck": "tsc --noEmit"
},
"dependencies": {
"pino": "9.4.0",
"pino-pretty": "11.2.2",
"@hono/zod-validator": "0.3.0",
"zod": "^3.23.4",
"react": "18.2.0",
"react-dom": "18.2.0",
"@dokploy/server": "workspace:*",
"@hono/node-server": "^1.12.1",
"hono": "^4.5.8",
"dotenv": "^16.3.1"
"dotenv": "^16.3.1",
"redis": "4.7.0",
"@nerimity/mimiqueue": "1.2.3"
},
"devDependencies": {
"typescript": "^5.4.2",
"@types/react": "^18.2.37",
"@types/react-dom": "^18.2.15",
"@types/node": "^20.11.17",
"tsx": "^4.7.1"
}
},
"packageManager": "pnpm@9.5.0"
}

View File

@@ -1,66 +1,61 @@
import { serve } from "@hono/node-server";
import { config } from "dotenv";
import { Hono } from "hono";
import { cors } from "hono/cors";
import { validateLemonSqueezyLicense } from "./utils";
config();
import "dotenv/config";
import { zValidator } from "@hono/zod-validator";
import { Queue } from "@nerimity/mimiqueue";
import { createClient } from "redis";
import { logger } from "./logger.js";
import { type DeployJob, deployJobSchema } from "./schema.js";
import { deploy } from "./utils.js";
const app = new Hono();
app.use(
"/*",
cors({
origin: ["http://localhost:3000", "http://localhost:3001"], // Ajusta esto a los orígenes de tu aplicación Next.js
allowMethods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
allowHeaders: ["Content-Type", "Authorization"],
exposeHeaders: ["Content-Length", "X-Kuma-Revision"],
maxAge: 600,
credentials: true,
}),
);
export const LEMON_SQUEEZY_API_KEY = process.env.LEMON_SQUEEZY_API_KEY;
export const LEMON_SQUEEZY_STORE_ID = process.env.LEMON_SQUEEZY_STORE_ID;
app.get("/v1/health", (c) => {
return c.text("Hello Hono!");
const redisClient = createClient({
url: process.env.REDIS_URL,
});
app.post("/v1/validate-license", async (c) => {
const { licenseKey } = await c.req.json();
app.use(async (c, next) => {
if (c.req.path === "/health") {
return next();
}
const authHeader = c.req.header("X-API-Key");
if (!licenseKey) {
return c.json({ error: "License key is required" }, 400);
if (process.env.API_KEY !== authHeader) {
return c.json({ message: "Invalid API Key" }, 403);
}
try {
const licenseValidation = await validateLemonSqueezyLicense(licenseKey);
if (licenseValidation.valid) {
return c.json({
valid: true,
message: "License is valid",
metadata: licenseValidation.meta,
});
}
return c.json(
{
valid: false,
message: licenseValidation.error || "Invalid license",
},
400,
);
} catch (error) {
console.error("Error during license validation:", error);
return c.json({ error: "Internal server error" }, 500);
}
return next();
});
const port = 4000;
console.log(`Server is running on port ${port}`);
serve({
fetch: app.fetch,
port,
app.post("/deploy", zValidator("json", deployJobSchema), (c) => {
const data = c.req.valid("json");
const res = queue.add(data, { groupName: data.serverId });
return c.json(
{
message: "Deployment Added",
},
200,
);
});
app.get("/health", async (c) => {
return c.json({ status: "ok" });
});
const queue = new Queue({
name: "deployments",
process: async (job: DeployJob) => {
logger.info("Deploying job", job);
return await deploy(job);
},
redisClient,
});
(async () => {
await redisClient.connect();
await redisClient.flushAll();
logger.info("Redis Cleaned");
})();
const port = Number.parseInt(process.env.PORT || "3000");
logger.info("Starting Deployments Server ✅", port);
serve({ fetch: app.fetch, port });

10
apps/api/src/logger.ts Normal file
View File

@@ -0,0 +1,10 @@
import pino from "pino";
export const logger = pino({
transport: {
target: "pino-pretty",
options: {
colorize: true,
},
},
});

34
apps/api/src/schema.ts Normal file
View File

@@ -0,0 +1,34 @@
import { z } from "zod";
export const deployJobSchema = z.discriminatedUnion("applicationType", [
z.object({
applicationId: z.string(),
titleLog: z.string(),
descriptionLog: z.string(),
server: z.boolean().optional(),
type: z.enum(["deploy", "redeploy"]),
applicationType: z.literal("application"),
serverId: z.string().min(1),
}),
z.object({
composeId: z.string(),
titleLog: z.string(),
descriptionLog: z.string(),
server: z.boolean().optional(),
type: z.enum(["deploy", "redeploy"]),
applicationType: z.literal("compose"),
serverId: z.string().min(1),
}),
z.object({
applicationId: z.string(),
previewDeploymentId: z.string(),
titleLog: z.string(),
descriptionLog: z.string(),
server: z.boolean().optional(),
type: z.enum(["deploy"]),
applicationType: z.literal("application-preview"),
serverId: z.string().min(1),
}),
]);
export type DeployJob = z.infer<typeof deployJobSchema>;

View File

@@ -1,16 +0,0 @@
export interface LemonSqueezyLicenseResponse {
valid: boolean;
error?: string;
meta?: {
store_id: string;
order_id: number;
order_item_id: number;
product_id: number;
product_name: string;
variant_id: number;
variant_name: string;
customer_id: number;
customer_name: string;
customer_email: string;
};
}

View File

@@ -1,28 +1,82 @@
import { LEMON_SQUEEZY_API_KEY, LEMON_SQUEEZY_STORE_ID } from ".";
import type { LemonSqueezyLicenseResponse } from "./types";
import {
deployRemoteApplication,
deployRemoteCompose,
deployRemotePreviewApplication,
rebuildRemoteApplication,
rebuildRemoteCompose,
updateApplicationStatus,
updateCompose,
updatePreviewDeployment,
} from "@dokploy/server";
import type { DeployJob } from "./schema";
export const validateLemonSqueezyLicense = async (
licenseKey: string,
): Promise<LemonSqueezyLicenseResponse> => {
export const deploy = async (job: DeployJob) => {
try {
const response = await fetch(
"https://api.lemonsqueezy.com/v1/licenses/validate",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": LEMON_SQUEEZY_API_KEY as string,
},
body: JSON.stringify({
license_key: licenseKey,
store_id: LEMON_SQUEEZY_STORE_ID as string,
}),
},
);
if (job.applicationType === "application") {
await updateApplicationStatus(job.applicationId, "running");
if (job.server) {
if (job.type === "redeploy") {
await rebuildRemoteApplication({
applicationId: job.applicationId,
titleLog: job.titleLog,
descriptionLog: job.descriptionLog,
});
} else if (job.type === "deploy") {
await deployRemoteApplication({
applicationId: job.applicationId,
titleLog: job.titleLog,
descriptionLog: job.descriptionLog,
});
}
}
} else if (job.applicationType === "compose") {
await updateCompose(job.composeId, {
composeStatus: "running",
});
return response.json();
if (job.server) {
if (job.type === "redeploy") {
await rebuildRemoteCompose({
composeId: job.composeId,
titleLog: job.titleLog,
descriptionLog: job.descriptionLog,
});
} else if (job.type === "deploy") {
await deployRemoteCompose({
composeId: job.composeId,
titleLog: job.titleLog,
descriptionLog: job.descriptionLog,
});
}
}
} else if (job.applicationType === "application-preview") {
await updatePreviewDeployment(job.previewDeploymentId, {
previewStatus: "running",
});
if (job.server) {
if (job.type === "deploy") {
await deployRemotePreviewApplication({
applicationId: job.applicationId,
titleLog: job.titleLog,
descriptionLog: job.descriptionLog,
previewDeploymentId: job.previewDeploymentId,
});
}
}
}
} catch (error) {
console.error("Error validating license:", error);
return { valid: false, error: "Error validating license" };
if (job.applicationType === "application") {
await updateApplicationStatus(job.applicationId, "error");
} else if (job.applicationType === "compose") {
await updateCompose(job.composeId, {
composeStatus: "error",
});
} else if (job.applicationType === "application-preview") {
await updatePreviewDeployment(job.previewDeploymentId, {
previewStatus: "error",
});
}
}
return true;
};

View File

@@ -2,11 +2,17 @@
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "Bundler",
"moduleResolution": "Node",
"strict": true,
"skipLibCheck": true,
"types": ["node"],
"outDir": "dist",
"jsx": "react-jsx",
"jsxImportSource": "hono/jsx"
}
"jsxImportSource": "hono/jsx",
"baseUrl": ".",
"paths": {
"@/*": ["./*"],
"@dokploy/server/*": ["../../packages/server/src/*"]
}
},
"exclude": ["node_modules", "dist"]
}

31
apps/docs/.gitignore vendored
View File

@@ -1,31 +0,0 @@
# deps
/node_modules
# generated content
.contentlayer
# test & build
/coverage
/.next/
/out/
/build
*.tsbuildinfo
# bun
bun.lockb
# misc
.DS_Store
*.pem
/.pnp
.pnp.js
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.idea/*
.idea
# others
.env*.local
.vercel
next-env.d.ts

View File

@@ -1,4 +0,0 @@
/** Auto-generated **/
declare const map: Record<string, unknown>;
export { map };

View File

@@ -1,15 +0,0 @@
# Docs
Dokploy Documentation
Run development server:
```bash
npm run dev
# or
pnpm dev
# or
yarn dev
```
Open http://localhost:3000 with your browser to see the result.

File diff suppressed because it is too large Load Diff

View File

@@ -1,104 +0,0 @@
import { getLanguages, getPage } from "@/app/source";
import { url, baseUrl } from "@/utils/metadata";
import { DocsBody, DocsPage } from "fumadocs-ui/page";
import type { Metadata } from "next";
import { notFound, permanentRedirect } from "next/navigation";
export default async function Page({
params,
}: {
params: { lang: string; slug?: string[] };
}) {
const page = getPage(params.slug, params.lang);
if (page == null) {
permanentRedirect("/docs/core/get-started/introduction");
}
const MDX = page.data.exports.default;
return (
<DocsPage toc={page.data.exports.toc}>
<DocsBody>
<h1>{page.data.title}</h1>
<MDX />
</DocsBody>
</DocsPage>
);
}
export async function generateStaticParams() {
return getLanguages().flatMap(({ language, pages }) =>
pages.map((page) => ({
lang: language,
slug: page.slugs,
})),
);
}
export function generateMetadata({
params,
}: {
params: { lang: string; slug?: string[] };
}) {
const page = getPage(params.slug, params.lang);
if (page == null) {
permanentRedirect("/docs/core/get-started/introduction");
}
return {
title: page.data.title,
description: page.data.description,
robots: "index,follow",
alternates: {
canonical: new URL(`${baseUrl}${page.url}`).toString(),
languages: {
zh: `${baseUrl}/cn${page.url.replace("/cn", "")}`,
en: `${baseUrl}/en${page.url.replace("/en", "")}`,
},
},
openGraph: {
title: page.data.title,
description: page.data.description,
url: new URL(`${baseUrl}`).toString(),
images: [
{
url: new URL(
`${baseUrl}/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Flogo.7cfd81d9.png&w=828&q=75`,
).toString(),
width: 1200,
height: 630,
alt: page.data.title,
},
],
},
twitter: {
card: "summary_large_image",
creator: "@getdokploy",
title: page.data.title,
description: page.data.description,
images: [
{
url: new URL(
`${baseUrl}/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Flogo.7cfd81d9.png&w=828&q=75`,
).toString(),
width: 1200,
height: 630,
alt: page.data.title,
},
],
},
applicationName: "Dokploy Docs",
keywords: [
"dokploy",
"vps",
"open source",
"cloud",
"self hosting",
"free",
],
icons: {
icon: "/icon.svg",
},
} satisfies Metadata;
}

View File

@@ -1,128 +0,0 @@
import { RootToggle } from "fumadocs-ui/components/layout/root-toggle";
import { I18nProvider } from "fumadocs-ui/i18n";
import { DocsLayout } from "fumadocs-ui/layout";
import { RootProvider } from "fumadocs-ui/provider";
import { Inter } from "next/font/google";
import type { ReactNode } from "react";
import { baseOptions } from "../layout.config";
import { pageTree } from "../source";
import "../global.css";
import GoogleAnalytics from "@/components/analytics/google";
import {
LibraryIcon,
type LucideIcon,
PlugZapIcon,
TerminalIcon,
} from "lucide-react";
const inter = Inter({
subsets: ["latin"],
});
interface Mode {
param: string;
name: string;
package: string;
description: string;
icon: LucideIcon;
}
const modes: Mode[] = [
{
param: "core/get-started/introduction",
name: "Core",
package: "Dokploy",
description: "The core",
icon: LibraryIcon,
},
{
param: "cli",
name: "CLI",
package: "fumadocs-ui",
description: "Interactive CLI",
icon: TerminalIcon,
},
{
param: "api",
name: "API",
package: "fumadocs-mdx",
description: "API Documentation",
icon: PlugZapIcon,
},
];
export default function Layout({
params,
children,
}: {
params: { lang: string };
children: ReactNode;
}) {
return (
<html
lang={params.lang}
className={inter.className}
suppressHydrationWarning
>
<GoogleAnalytics />
<body>
<I18nProvider
locale={params.lang}
translations={{
en: {
name: "English",
},
cn: {
name: "中文",
toc: "目录",
search: "搜索文档",
lastUpdate: "最后更新于",
searchNoResult: "没有结果",
previousPage: "上一页",
nextPage: "下一页",
chooseLanguage: "选择语言",
},
}}
>
<RootProvider>
<DocsLayout
i18n
tree={pageTree[params.lang]}
nav={{
title: params.lang === "cn" ? "目录" : "Dokploy",
url: `/${params.lang}`,
transparentMode: "none",
}}
sidebar={{
// defaultOpenLevel: 0,
banner: (
<RootToggle
options={modes.map((mode) => {
return {
url: `/${params.lang}/docs/${mode.param}`,
icon: (
<mode.icon
className="size-9 shrink-0 rounded-md bg-gradient-to-t from-background/80 p-1.5"
style={{
backgroundColor: `hsl(var(--${mode.param}-color)/.3)`,
color: `hsl(var(--${mode.param}-color))`,
}}
/>
),
title: mode.name,
description: mode.description,
};
})}
/>
),
}}
{...baseOptions}
>
{children}
</DocsLayout>
</RootProvider>
</I18nProvider>
</body>
</html>
);
}

View File

@@ -1,18 +0,0 @@
import { getPages } from "@/app/source";
import { createI18nSearchAPI } from "fumadocs-core/search/server";
import { languages } from "@/i18n";
export const { GET } = createI18nSearchAPI("advanced", {
indexes: languages.map((lang) => {
return {
language: lang,
indexes: getPages(lang).map((page) => ({
id: page.url,
url: page.url,
title: page.data.title,
structuredData: page.data.exports.structuredData,
})),
};
}),
});

View File

@@ -1,27 +0,0 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
.api {
--primary: var(--api-color);
}
.core {
--primary: var(--core-color);
}
.cli {
--primary: var(--cli-color);
}
:root {
--core-color: 250 80% 54%;
--cli-color: 0 0% 9%;
--api-color: 220deg 91% 54%;
}
.dark {
--headless-color: 250 100% 80%;
--cli-color: 0 0% 100%;
--api-color: 217deg 92% 76%;
}

View File

@@ -1,5 +0,0 @@
<svg width="6323" height="5778" viewBox="0 0 6323 5778" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4638.51 44.5295C4616.52 81.8286 4611.45 115.575 4619.9 213.263C4636.82 433.505 4772.12 710.584 4924.33 842.019C5002.12 909.512 5196.61 1012.53 5245.66 1012.53C5284.56 1012.53 5282.87 1019.63 5213.53 1129.75C5140.8 1243.43 5024.11 1339.34 4890.5 1389.07C4743.36 1445.91 4455.85 1453.01 4234.3 1405.06C4016.13 1357.1 3931.57 1323.35 3211.11 977.006C2265.71 522.312 2253.87 516.984 2125.34 481.461C2017.1 451.267 1917.32 445.938 1316.93 435.281C853.533 428.177 601.539 429.953 538.964 444.162C334.325 485.013 156.745 632.434 70.4925 829.586C12.9907 961.021 -7.30411 1191.92 2.84328 1589.78C7.91697 1841.99 16.3731 1911.26 46.8153 2005.39C114.465 2213.2 226.086 2342.86 422.269 2445.88C1594.29 3055.1 1969.74 3206.07 2529.54 3294.88C2732.49 3326.85 3258.46 3330.4 3459.72 3303.76C3755.69 3261.13 4107.46 3161.66 4403.43 3033.78C4540.42 2975.17 4904.03 2776.24 5220.29 2587.97C5910.31 2177.68 6006.71 2111.96 6037.16 2030.26C6070.98 1934.35 5988.11 1811.79 5888.33 1811.79C5851.12 1811.79 5862.96 1806.47 5426.62 2069.34C4352.69 2715.85 4026.28 2865.05 3485.09 2957.41C3162.06 3014.24 2587.04 2987.6 2274.17 2902.35C1924.08 2806.44 1839.52 2770.91 1051.41 2383.71C552.493 2140.38 444.255 2079.99 395.209 2023.16C363.076 1984.08 336.016 1945.01 336.016 1934.35C336.016 1920.14 467.932 1916.59 787.575 1921.92L1240.82 1929.02L1435.32 2001.84C1541.86 2040.92 1744.81 2126.17 1883.49 2190.11C2296.15 2381.94 2610.72 2451.21 3058.9 2451.21C3490.16 2451.21 3872.38 2374.83 4305.33 2198.99C4910.8 1955.66 5342.06 1596.88 5545.01 1172.38C5565.3 1127.98 5585.6 1090.68 5587.29 1087.13C5590.67 1083.57 5660.01 1074.69 5742.88 1065.81C5940.76 1046.28 6084.51 978.782 6221.5 842.019L6322.97 740.779V520.536V302.071L6253.63 353.579C6177.53 412.192 6062.52 444.162 5920.46 444.162C5795.31 444.162 5661.7 508.104 5568.69 614.672L5497.65 692.823L5487.51 646.643C5451.99 500.999 5304.85 364.236 5115.44 300.294C4956.46 248.786 4893.88 206.159 4831.31 108.471C4800.87 64.0671 4770.42 21.4395 4760.28 14.335C4721.38 -14.0833 4665.57 1.90186 4638.51 44.5295ZM2057.69 806.496C2162.55 834.914 2250.49 873.99 2517.7 1007.2C2605.65 1051.6 2796.76 1142.19 2940.51 1211.46C3084.27 1280.73 3332.88 1397.95 3490.16 1472.55C3948.49 1691.02 4049.96 1726.54 4301.95 1754.96L4437.25 1770.94L4310.41 1833.11C4153.12 1911.26 4016.13 1960.99 3804.73 2016.05C3512.15 2090.65 3402.22 2104.86 3050.44 2104.86C2590.43 2103.08 2370.57 2056.9 1974.82 1872.18C1413.33 1611.09 1386.27 1603.99 801.104 1589.78C457.784 1580.9 356.311 1572.01 336.016 1552.48C278.514 1492.09 303.882 1019.63 373.223 914.841C412.121 854.452 474.697 806.496 552.493 779.854C577.862 770.973 904.27 767.421 1278.03 772.749C1814.15 778.078 1978.2 785.182 2057.69 806.496Z" fill="white"/>
<path d="M1266.2 1060.49C1173.18 1097.79 1129.21 1207.91 1171.49 1294.94C1222.22 1394.4 1332.15 1417.49 1413.33 1342.89C1477.6 1286.06 1479.29 1174.16 1418.41 1112C1374.44 1065.82 1308.48 1042.73 1266.2 1060.49Z" fill="white"/>
<path d="M87.4063 2513.37C7.91846 2548.89 -8.99385 2616.39 4.536 2836.63C19.7571 3072.86 46.8168 3222.05 124.613 3488.48C427.344 4532.85 1129.2 5287.71 2106.74 5623.4C2641.17 5806.35 3236.48 5827.66 3752.3 5682.01C4596.23 5445.79 5315 4836.57 5692.15 4040.86C5886.64 3630.57 6018.55 3111.93 6018.55 2753.15C6018.55 2582.64 5991.49 2518.7 5910.31 2497.39C5820.68 2474.3 5575.45 2609.28 5164.48 2911.23C4484.61 3410.32 4229.23 3563.07 3890.98 3676.75C3635.61 3763.78 3466.49 3797.52 3194.2 3818.84C2651.31 3863.24 2057.69 3731.81 1570.62 3458.28C1394.73 3358.82 846.769 2980.5 581.246 2772.69C285.28 2540.01 270.059 2529.36 199.028 2508.04C155.056 2495.61 124.613 2497.39 87.4063 2513.37ZM5678.62 3076.41C5661.7 3138.57 5646.48 3202.52 5646.48 3218.5C5646.48 3236.26 5626.19 3262.9 5600.82 3280.67C5573.76 3296.65 5482.43 3371.25 5396.18 3445.85C5308.24 3518.67 5198.31 3611.03 5150.95 3650.1C5101.91 3689.18 4990.28 3781.54 4902.34 3856.14C4699.39 4026.65 4406.81 4236.23 4242.76 4330.37C4085.48 4420.95 3767.52 4532.85 3532.44 4582.58C2847.5 4724.67 2054.31 4570.15 1516.5 4190.05C1173.18 3946.72 412.123 3314.41 388.445 3254.02C363.077 3182.98 330.944 3042.66 337.708 3021.35C341.091 3012.47 417.196 3060.42 505.14 3129.69C1056.48 3559.52 1563.85 3863.24 1942.69 3992.9C2328.29 4124.34 2565.06 4163.41 2991.25 4163.41C3380.23 4163.41 3628.84 4126.11 3963.71 4012.44C4345.93 3884.56 4531.96 3781.54 5052.86 3405C5391.11 3161.66 5676.92 2968.06 5700.6 2966.29C5705.68 2966.29 5697.22 3016.02 5678.62 3076.41ZM5426.62 3881C5426.62 3886.33 5409.71 3925.41 5391.11 3966.26C5318.38 4115.45 5144.19 4364.11 5003.81 4518.64C4587.77 4973.33 4090.55 5271.73 3540.9 5392.5C3309.2 5444.01 2708.81 5440.46 2483.88 5387.17C1716.06 5204.23 1105.53 4754.87 696.249 4071.05C647.204 3987.57 609.997 3916.53 613.379 3912.97C616.762 3909.42 774.046 4028.42 965.155 4177.62C1154.57 4326.82 1371.05 4486.67 1443.77 4532.85C1974.82 4863.21 2463.59 4991.09 3118.09 4968C3461.41 4955.57 3691.42 4912.94 3997.53 4806.38C4357.76 4680.27 4623.29 4513.31 5130.66 4095.92C5382.65 3888.11 5426.62 3856.14 5426.62 3881Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -1,76 +0,0 @@
import type { BaseLayoutProps } from "fumadocs-ui/layout";
import { GlobeIcon, HeartIcon } from "lucide-react";
export const Logo = () => {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 559 446"
className="!size-8 lg:!size-10"
>
<path
className="fill-primary stroke-primary"
d="M390 56v12c.1 2.3.5 4 1 6a73 73 0 0 0 12 24c2 2.3 5.7 4 7 7 4 3.4 9.6 6.8 14 9 1.7.6 5.7 1.1 7 2 1.9 1.3 2.9 2.3 0 4v1c-.6 1.8-1.9 3.5-3 5q-3 4-7 7c-4.3 3.2-9.5 6.8-15 7h-1q-2 1.6-5 2h-4c-5.2.7-12.9 2.2-18 0h-6c-1.6 0-3-.8-4-1h-3a17 17 0 0 1-6-2h-1c-2.5-.1-4-1.2-6-2l-4-1c-8.4-2-20.3-6.6-27-12h-1c-4.6-1-9.5-4.3-13.7-6.3s-10.5-3-13.3-6.7h-1c-4-1-8.9-3.5-12-6h-1c-6.8-1.6-13.6-6-20-9-6.5-2.8-14.6-5.7-20-10h-1c-7-1.2-15.4-4-22-6h-97c-5.3 4.3-13.7 4.3-18.7 10.3S90.8 101 88 108c-.4 1.5-.8 2.3-1 4-.2 1.6-.8 4-1 5v51c.2 1.2.8 3.2 1 5 .2 2 .5 3.2 1 5a79 79 0 0 0 6 12c.8.7 1.4 2.2 2 3 1.8 2 4.9 3.4 6 6 9.5 8.3 23.5 10.3 33 18h1c5.1 1.2 12 4.8 16 8h1c4 1 8.9 3.5 12 6h1q4.6 1.2 8 4h1c2 .1 2.6 1.3 4 2 1.6.8 2.7.7 4 2h1q2.5.3 4 2h1c3 .7 6.7 2 9 4h1c4.7.8 13.4 3.1 17 6h1c2.5.1 4 1.3 6 2 1.8.4 3 .8 5 1q3 .4 5 1c1.6-.2 2 0 3 1h1q2.5-.5 4 1h1q2.5-.5 4 1h1c2.2-.2 4.5-.3 6 1h1q4-.4 7 1h45c1.2-.2 3.1-1 5-1h6c1.5-.6 2.9-1.3 5-1h1q1.5-1.4 4-1h1q1.5-1.4 4-1h1c2.4-1.3 5-1.6 8-2l5-1c2-.7 3.6-1.6 6-2 4-.7 7.2-1.7 11-3 2.3-1 4.2-2.5 7-3h1q1.5-1.7 4-2h1c1.9-1.5 3.9-2 6-3q2.9-1.6 6-3a95 95 0 0 0 11-5c4.4-2.8 8.9-6 14-8 0 0 .6.2 1 0 1.8-2.8 7-4.8 10-6 0 0 .6.2 1 0 1.5-2.4 5.3-4 8-5 0 0 .6.2 1 0 1.5-2.4 5.3-4 8-5 0 0 .6.2 1 0 1.3-2 3.8-3.1 6-4 0 0 .6.2 1 0 2-3 7.7-5.6 11-7l5-2c6.3-3.8 11.8-9.6 18-14v-1c0-1.9-.4-4.2 0-6-1-4.5-3.9-5.5-7-8h-1c-1.2 0-2.8-.2-4 0-8.9 1.7-16.5 11.3-25.2 14.8-8.8 3.4-16.9 10.7-25.8 14.2h-1c-10.9 10.6-29.2 16-42.7 23.3S343.7 234.6 328 235h-1q-1.5 1.4-4 1h-1q-1.5 1.4-4 1h-1c-1.5 1.3-3.9 1.2-6 1h-1c-1.7 1.3-4.6 1.2-7 1-1 .2-2.4 1-4 1h-5c-6.6 0-13.4.4-20 0-1.9-.1-2.7.3-4-1h-8c-2.8-.2-5.7-1.3-8-2h-2q-5.7.4-10-2h-1q-4.5 0-8-2h-1a10 10 0 0 1-6-2h-1c-5.9-.2-12-3.8-17-6l-4-1c-1.7-.5-2.8-.7-4-2h-1q-2.5-.2-4-2h-1q-3.4-.9-6-3h-1c-3.5-.8-7.3-2.9-10-5h-1c-1.7 0-2.2-.7-3-2h-1c-11.6-2.7-23.2-11.5-34.2-15.8-11-4.2-25.9-9.2-29.8-21.2h4c16.2 0 32.8-1 49 0 1.7.1 3 .8 4 1 2.1.4 3.4-.5 5 1h1c3.6.1 8.4 1.8 11 4h1a45 45 0 0 1 18 8h1q4.6 1.2 8 4h1c4.2 1 8.3 3.4 12 5q3.4 1.2 7 2c5.7 1.3 13 2.3 18 5h1c3.7-.2 7 1.1 10 2h9c1.6 0 3 .8 4 1h32c2.2-1.6 6-1 9-1h1a63 63 0 0 1 22-4 22 22 0 0 1 8-2c1.7-1.4 3.7-1.6 6-2a81 81 0 0 0 12-3c2.3-1 4.2-2.5 7-3h1q1.5-1.7 4-2h1c1.9-1.5 3.6-2.2 6-3l3-1c4.1-2.3 8.4-5.2 13-7 0 0 .6.2 1 0 1.5-2.4 6.3-5 9-6 0 0 .6.2 1 0 5.3-8.1 17.6-12.5 24.8-20.2C439.9 144 445 133 452 126v-1a12 12 0 0 1 2-5c2.1-2.2 8.9-1 12-1q2 .2 4 0c1-.2 2.3-1.2 4-1h1q2.1-1.5 5-2h1q2.1-1.9 5-3s.6.2 1 0c9-9.3 18-15.4 23-28 1.1-2.8 3.5-6.4 4-9 .2-1 .2-3 0-4-1.5-6-12.3-2.4-15.7 2.3S484.7 80 479 80h-7c-7.8 4.3-19.3 5.7-23 16a37 37 0 0 0-22-24c-1.5-.5-2.5-.7-4-1-2.1-.5-3.6-.2-5-2h-1a22 22 0 0 1-12-8c-2-2.9-3.4-6.5-6-9h-1c-3.9-.6-6.1 1-8 4m-181 45h1c2.2-.2 4.5-.3 6 1h1q2.5-.5 4 1h1a33 33 0 0 1 17 7h1c4.4 1 8.2 4.1 12 6 2.1 1 4.1 1.5 6 3h1c4 1 8.9 3.5 12 6h1c4 1 8.9 3.5 12 6h1c4 1 8.9 3.5 12 6h1a61 61 0 0 1 21 10h1c3.5.8 7.3 2.9 10 5h1c6.1 1.4 12.3 5 18 7 1.8.4 3 .8 5 1 1.8.2 3.7.8 5 1q2.5-.5 4 1h6c2.5 0 4 .3 6 1h3q-.7 2.1-3 2a46 46 0 0 1-16 7l-10 3c-2 .8-3.4 1.9-6 2h-1c-2.6 2.1-7.5 3-11 3h-1c-3.1 2.5-10.7 3.5-15 3h-1c-1.5 1.3-3.9 1.2-6 1-1 .2-2.4 1-4 1h-11c-3.8.4-8.3.4-12 0h-9c-2.3 0-4.3-.7-6-1h-3c-1.8 0-2.9-.7-4-1-3.5-.8-7-.7-10-2h-1c-4.1-.7-9.8-1.4-13-4h-1q-4-.6-7-3h-1q-2.5-.2-4-2h-1q-3.4-.9-6-3h-1c-7.2-1.7-13.3-5.9-20.2-8.8-7-2.8-16.2-4.3-22.8-7.2h-11c-14 0-28.9.3-42-1-2.3 0-4.8.3-7 0a6 6 0 0 1-5-5c-1.8-4.8-.4-10.4 0-15 0-4.3-.4-8.7 0-13 .2-3.2 2.2-7.3 4-10q2-3 5-5c2.1-2 5.4-2.3 8-3 15.6-3.9 36.3-1 53-1 5.2 0 12-.5 17 0s12.2-1.8 16 1Z"
/>
<path
className="fill-primary stroke-primary"
d="M162 132v1c1.8 2.9 4.5 5.3 8 6 .3-.2 3.7-.2 4 0 7-1.4 9.2-8.8 7-15v-1a14 14 0 0 0-7-4c-.3.2-3.7.2-4 0-6.5 1.3-8.6 6.8-8 13Z"
/>
<path
className="fill-primary stroke-primary"
d="M465 211h-1c-18.2 14.6-41.2 24.6-60 39-19 14.2-42.7 29.3-66 34l-4 1c-2.4 1-4 2-7 2h-1q-3.5 2-8 2h-1c-1.3 1.2-3 1.1-5 1h-2q-2.6 1.1-6 1h-2c-3 1.2-6.5 1-10 1-6.3.6-13.8.6-20 0-3.4 0-8.4.9-11-1h-1c-2.2.2-4.5.3-6-1h-1c-2 .2-3.7.2-5-1h-1c-7.6.5-16.5-3.4-23-6l-4-1a129 129 0 0 1-36.2-15.8c-10.4-6.6-23.2-12.8-32.5-20.5-9.2-7.7-23.8-12.8-30.3-22.7h-1c-2.3-1.4-4.5-2.7-6-5h-1c-4-2.5-8.5-5.2-12-8h-9a9 9 0 0 0-6 7c.3 3.3 0 6.7 0 10v9c.2 1.6 1 3.8 1 6v3c.2 1 1.2 2.2 1 4v1c1.2 1.2.8 2.2 1 4 .8 6.7 3 12.6 5 19 1.7 4.3 4.2 9.1 5 14v1q1.8 1.5 2 4v1a36 36 0 0 1 5 10c.7 2 1 3 2 5 8 12.7 15.7 25.5 25.8 37.3 10 11.7 20.8 20.6 32.4 30.4 11.7 9.9 28.3 14 39.8 23.3h1q2.5.3 4 2h1c2.8.4 4.8 2 7 3l7 2c5.7 1.3 13 2.3 18 5h1c2.1-.3 3.6.8 5 1h3c2.8.2 5.8 1 8 2h8c2.1 0 4.6.8 6 1h21c1.2-.2 3.2-1 5-1h9c3.3-1 7-2.4 11-2h1c2.7-2.2 7.4-2.4 11-3a55 55 0 0 0 8-2c6.5-2.6 13.9-6.3 21-8h1c8.5-6.8 20.6-9.7 29.2-16.8 8.7-7 18.3-12.8 26.8-20.2 4.4-3.8 9-9 13-13 14.8-14.8 20.7-34.6 33-50v-1q.9-3.4 3-6v-1q.3-2.5 2-4v-1c.5-3.3 2-8.6 4-11v-1q0-3.5 2-6v-1c1.1-6.7 2.4-15 5-21v-1c-.2-2-.2-3.7 1-5v-8c0-5.3-.5-10.8 0-16a14 14 0 0 0-4-6c-1-.5-1.1-.4-2-1h-6q-2.1 1.5-5 2m-6 38c-2.1 13.4-21.2 20.3-31 30-10 9.5-23.7 19-35 27-11.5 8-25.1 19.7-39 23h-1a22 22 0 0 1-10 4h-1a25 25 0 0 1-12 4h-1q-3.5 2-8 2h-1c-1.1 1.1-2.3 1-4 1h-2c-1.2.4-2.2 1-4 1h-2c-1.8.7-3.6 1.3-6 1h-1c-1.2 1.2-2.3 1-4 1h-5c-5.7.6-12.3.8-18 0h-4c-1.9 0-2.7-.6-4-1h-6c-1.9 0-2.7.3-4-1h-1q-2.5.5-4-1h-1c-8.1.5-16.8-3.6-24.2-5.8S210 329.8 204 325h-1c-12.8-5-27.1-15.6-37.7-24.3S138.8 284.2 131 273c-.3-.2-1 0-1 0-5.7-4.4-16.6-10-19-17-.9-2.6-1-5.4-2-8-.8-2.2-2.5-5-2-8a667 667 0 0 0 88 56h1q3.4.9 6 3h1c2.8.4 4.8 2 7 3q5 1.8 10 3l6 2q2.9.6 6 1 3 .4 5 1c1.6-.2 2 0 3 1h1c2-.2 3.7-.2 5 1h1c2.2-.3 3.4.4 5 1h8c1.6 0 3 .9 4 1h40c1.8-1.3 4.6-1.2 7-1h1c1.2-1.2 3.2-1.2 5-1h1c1.2-1.2 3.2-1.2 5-1h1c1.1-1.1 2.3-1 4-1h2c3.5-1.7 6.9-2.3 11-3l4-1c3.4-1.4 7.1-3 11-4 1.5-.4 2.5-.5 4-1 1.4-.7 2-1.9 4-2h1q2.6-2.1 6-3h1c2.5-2 6-3.8 9-5l3-1c1.4-.9 2-2.5 4-3h1q1.4-2.2 4-3h1c7.3-7.7 19-13.2 27.7-19.3 8.8-6.1 18.2-15 28.3-18.7.4-.2 1 0 1 0q3.8-3.9 9-6c1.3 2.5-.5 6.7-1 10m-20 55c-.2.4 0 1 0 1-3.4 9.6-12.7 19-19 27a88 88 0 0 1-12 12 214 214 0 0 1-26.7 20.3c-9.5 5.8-20 14.8-31.3 16.7h-1a22 22 0 0 1-10 4h-1c-3.2 2.6-8.9 3.3-13 4h-1q-1.5 1.4-4 1h-1q-1.5 1.4-4 1h-1c-4.9 2.3-10.5 1-16 2-1 .2-2.5 1-4 1-6.2.4-12.8.3-19 0-1.8 0-3.8-.8-5-1h-4c-1.6 0-3-.9-4-1h-4c-3.9-.3-8.8-1.3-12-3h-1c-3.3-.5-7.5-1-10-3h-1c-3.6-.1-8.4-1.8-11-4h-1c-3.9-.6-8-2.6-11-5h-1c-16.1-3.8-32.2-18.9-45-29a200 200 0 0 1-40-51c17.7 11.5 35 25.5 52 38h1c4 1.6 12.8 5.4 15 9h1c4.6 1 10.4 4.1 14 7h1q2.5.3 4 2h1c3.3.5 8.6 2 11 4h1q3.5 0 6 2h1q2.5-.5 4 1h1q2.5-.5 4 1h1c3.8-.2 7.9 1 11 2h9c1.6 0 3 .8 4 1h32c1.2-.2 3.2-1 5-1h8a139 139 0 0 1 20-4l5-1c2-.7 3.7-1.5 6-2l4-1c1.5-.6 3-1.7 5-2h1q3-2.4 7-3h1q2.6-2.1 6-3h1c11.7-9.4 27.6-14.6 39-25 11.6-10.3 25-18.5 37-28a15 15 0 0 1-5 10Z"
/>
</svg>
);
};
export const baseOptions: BaseLayoutProps = {
githubUrl: "https://github.com/dokploy/dokploy",
nav: {
url: "/get-started/introduction",
title: (
<>
<Logo />
<span className="text-foreground">Dokploy</span>
</>
),
},
links: [
{
text: "Website",
url: "https://dokploy.com",
active: "nested-url",
icon: <GlobeIcon />,
},
{
text: "Discord",
url: "https://discord.com/invite/2tBnJ3jDJc",
active: "nested-url",
icon: (
<>
<svg
role="img"
className="size-6 "
fill="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" />
</svg>
</>
),
},
{
text: "Support",
url: "https://opencollective.com/dokploy",
active: "nested-url",
icon: (
<>
<HeartIcon fill="currentColor" />
</>
),
},
],
};

View File

@@ -1,11 +0,0 @@
import type { MetadataRoute } from "next";
export default function robots(): MetadataRoute.Robots {
return {
rules: {
userAgent: "*",
allow: "/",
},
sitemap: "https://docs.dokploy.com/sitemap.xml",
};
}

View File

@@ -1,18 +0,0 @@
import { url } from "@/utils/metadata";
import type { MetadataRoute } from "next";
import { getPages } from "./source";
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
return [
...getPages().map<MetadataRoute.Sitemap[number]>((page) => {
return {
url: url(`/en${page.url}`),
lastModified: page.data.exports.lastModified
? new Date(page.data.exports.lastModified)
: undefined,
changeFrequency: "weekly",
priority: page.url === "/docs/core/get-started/introduction" ? 1 : 0.8,
};
}),
];
}

View File

@@ -1,10 +0,0 @@
import { map } from "@/.map";
import { languages } from "@/i18n";
import { loader } from "fumadocs-core/source";
import { createMDXSource } from "fumadocs-mdx";
export const { getPage, getPages, pageTree, getLanguages } = loader({
baseUrl: "/",
languages,
source: createMDXSource(map),
});

View File

@@ -1,17 +0,0 @@
"use client";
import { useEffect } from "react";
import initializeGA from ".";
export default function GoogleAnalytics() {
useEffect(() => {
// @ts-ignore
if (!window.GA_INITIALIZED) {
initializeGA();
// @ts-ignore
window.GA_INITIALIZED = true;
}
}, []);
return null;
}

View File

@@ -1,30 +0,0 @@
"use client";
import ReactGA from "react-ga4";
const initializeGA = () => {
// Replace with your Measurement ID
// It ideally comes from an environment variable
ReactGA.initialize("G-HZ71HG38HN");
// Don't forget to remove the console.log() statements
// when you are done
};
interface Props {
category: string;
action: string;
label: string;
}
const trackGAEvent = ({ category, action, label }: Props) => {
console.log("GA event:", category, ":", action, ":", label);
// Send GA4 Event
ReactGA.event({
category: category,
action: action,
label: label,
});
};
export default initializeGA;
export { initializeGA, trackGAEvent };

View File

@@ -1,99 +0,0 @@
---
title: Dokploy API
description: 如何与 Dokploy API 进行交互,面向管理员和用户
---
在某些情况下,您可能需要直接与 Dokploy API 进行交互。以下是管理员和用户如何做到这一点的指南。
## 对于管理员
1. 通过访问 `your-vps-ip:3000/swagger` 进入 Swagger UI。
2. 使用 Swagger 界面与 API 进行交互。
3. 默认情况下Swagger UI 的访问受到限制,只有经过身份验证的管理员才能访问 API。
## 对于用户
1. 默认情况下,用户无法直接访问 API。
2. 管理员可以授予用户以下访问权限:
- 生成访问令牌
- 访问 Swagger UI
3. 如果您需要访问权限,请联系您的管理员。
注意API 提供了高级功能。确保您理解所执行的操作,以避免对系统造成意外更改。
## 用法
默认情况下OpenApi 基础 URL 为 `http://localhost:3000/api`,您需要将其替换为 Dokploy 实例的 IP 或域名。
### 身份验证
API 使用 JWT 令牌进行身份验证。您可以通过访问 `/settings/profile` 页面并进入 API/CLI 部分生成令牌。
以下是一个经过身份验证的请求示例:
```bash
curl -X 'GET' \
'https://dokploy.com/api/project.all' \
-H 'accept: application/json' \
-H 'Authorization: Bearer YOUR-TOKEN'
```
然后您将收到类似以下内容的响应:
```json
[
{
"projectId": "klZKsyw5g-QT_jrWJ5T-w",
"name": "随机",
"description": "",
"createdAt": "2024-06-19T15:05:58.785Z",
"adminId": "_WrKZbs7iJAA3p4N2Yfyu",
"applications": [],
"mariadb": [],
"mongo": [],
"mysql": [
{
"mysqlId": "N3cudwO46TiDXzBm4SaQ1",
"name": "mysql",
"appName": "random-mysql-924715",
"description": "",
"databaseName": "mysql",
"databaseUser": "mysql",
"databasePassword": "h13BzO6y3KYSHaQg",
"databaseRootPassword": "mM1b7JeoPA7jArxj",
"dockerImage": "mysql:8",
"command": null,
"env": null,
"memoryReservation": null,
"memoryLimit": null,
"cpuReservation": null,
"cpuLimit": null,
"externalPort": null,
"applicationStatus": "完成",
"createdAt": "2024-06-24T01:55:40.378Z",
"projectId": "klZKsyw5g-QT_jrWJ5T-w"
}
],
"postgres": [],
"redis": [
{
"redisId": "TtFK5S4QFaIjaNGOb8Ku-",
"name": "redis",
"appName": "random-redis-7eec62",
"description": "",
"databasePassword": "Yvb8gqClfomjcue8",
"dockerImage": "redis:7",
"command": null,
"env": null,
"memoryReservation": null,
"memoryLimit": null,
"cpuReservation": null,
"cpuLimit": null,
"externalPort": 6379,
"createdAt": "2024-06-26T06:43:20.570Z",
"applicationStatus": "完成",
"projectId": "klZKsyw5g-QT_jrWJ5T-w"
}
],
"compose": []
}
]
```

View File

@@ -1,99 +0,0 @@
---
title: Dokploy API
description: How to interact with the dokploy API for administrators and users
---
In some cases, you may need to interact directly with the dokploy API. Here's how both administrators and users can do this.
## For Administrators
1. Access the Swagger UI by navigating to `your-vps-ip:3000/swagger`.
2. Use the Swagger interface to interact with the API.
3. By default, access to the Swagger UI is restricted, and only authenticated administrators can access the API.
## For Users
1. By default, users do not have direct access to the API.
2. Administrators can grant users access to:
- Generate access tokens
- Access the Swagger UI
3. If you need access, contact your administrator.
Note: The API provides advanced functionalities. Make sure you understand the operations you're performing to avoid unintended changes to the system.
## Usage
By default the OpenApi base url is `http://localhost:3000/api`, you need to replace with the ip of your dokploy instance or the domain name.
### Authentication
The API uses JWT tokens for authentication. You can generate a token by going to the `/settings/profile` page and go to API/CLI Section and generate the token.
Let's take a example of authenticated request:
```bash
curl -X 'GET' \
'https://dokploy.com/api/project.all' \
-H 'accept: application/json'
-H 'Authorization: Bearer YOUR-TOKEN'
```
then you will get the something like this:
```json
[
{
"projectId": "klZKsyw5g-QT_jrWJ5T-w",
"name": "Random",
"description": "",
"createdAt": "2024-06-19T15:05:58.785Z",
"adminId": "_WrKZbs7iJAA3p4N2Yfyu",
"applications": [],
"mariadb": [],
"mongo": [],
"mysql": [
{
"mysqlId": "N3cudwO46TiDXzBm4SaQ1",
"name": "mysql",
"appName": "random-mysql-924715",
"description": "",
"databaseName": "mysql",
"databaseUser": "mysql",
"databasePassword": "h13BzO6y3KYSHaQg",
"databaseRootPassword": "mM1b7JeoPA7jArxj",
"dockerImage": "mysql:8",
"command": null,
"env": null,
"memoryReservation": null,
"memoryLimit": null,
"cpuReservation": null,
"cpuLimit": null,
"externalPort": null,
"applicationStatus": "done",
"createdAt": "2024-06-24T01:55:40.378Z",
"projectId": "klZKsyw5g-QT_jrWJ5T-w"
}
],
"postgres": [],
"redis": [
{
"redisId": "TtFK5S4QFaIjaNGOb8Ku-",
"name": "redis",
"appName": "random-redis-7eec62",
"description": "",
"databasePassword": "Yvb8gqClfomjcue8",
"dockerImage": "redis:7",
"command": null,
"env": null,
"memoryReservation": null,
"memoryLimit": null,
"cpuReservation": null,
"cpuLimit": null,
"externalPort": 6379,
"createdAt": "2024-06-26T06:43:20.570Z",
"applicationStatus": "done",
"projectId": "klZKsyw5g-QT_jrWJ5T-w"
}
],
"compose": []
},
]
```

View File

@@ -1,33 +0,0 @@
{
"title": "CLI",
"root": true,
"pages": [
"---入门---",
"index",
"---API---",
"reference-api/reference-admin",
"reference-api/reference-application",
"reference-api/reference-auth",
"reference-api/reference-backup",
"reference-api/reference-certificates",
"reference-api/reference-cluster",
"reference-api/reference-compose",
"reference-api/reference-deployment",
"reference-api/reference-destination",
"reference-api/reference-docker",
"reference-api/reference-domain",
"reference-api/reference-mariadb",
"reference-api/reference-mongo",
"reference-api/reference-mounts",
"reference-api/reference-mysql",
"reference-api/reference-port",
"reference-api/reference-postgres",
"reference-api/reference-project",
"reference-api/reference-redirects",
"reference-api/reference-redis",
"reference-api/reference-registry",
"reference-api/reference-security",
"reference-api/reference-settings",
"reference-api/reference-user"
]
}

View File

@@ -1,38 +0,0 @@
{
"title": "CLI",
"root": true,
"pages": [
"---Get Started---",
"index",
"---API---",
"reference-api/reference-admin",
"reference-api/reference-application",
"reference-api/reference-auth",
"reference-api/reference-backup",
"reference-api/reference-certificates",
"reference-api/reference-cluster",
"reference-api/reference-compose",
"reference-api/reference-deployment",
"reference-api/reference-destination",
"reference-api/reference-docker",
"reference-api/reference-domain",
"reference-api/reference-mariadb",
"reference-api/reference-mongo",
"reference-api/reference-mounts",
"reference-api/reference-mysql",
"reference-api/reference-port",
"reference-api/reference-postgres",
"reference-api/reference-project",
"reference-api/reference-redirects",
"reference-api/reference-redis",
"reference-api/reference-registry",
"reference-api/reference-security",
"reference-api/reference-settings",
"reference-api/reference-sshKey",
"reference-api/reference-gitProvider",
"reference-api/reference-bitbucket",
"reference-api/reference-github",
"reference-api/reference-gitlab",
"reference-api/reference-user"
]
}

View File

@@ -1,565 +0,0 @@
---
title: admin
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"GET"} route={"/admin.one"}>
## admin-one
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/admin.one"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/admin.one", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/admin.createUserInvitation"}>
## admin-createUserInvitation
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"email"} type={"string"} required={true} deprecated={undefined}>
<span>Format: `"email"`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/admin.createUserInvitation" \
-d '{
"email": "user@example.com"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/admin.createUserInvitation", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/admin.removeUser"}>
## admin-removeUser
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"authId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/admin.removeUser" \
-d '{
"authId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/admin.removeUser", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/admin.getUserByToken"}>
## admin-getUserByToken
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"token"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/admin.getUserByToken?token=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/admin.getUserByToken?token=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/admin.assignPermissions"}>
## admin-assignPermissions
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"userId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"canCreateProjects"} type={"boolean"} required={true} deprecated={undefined}>
</Property>
<Property name={"canCreateServices"} type={"boolean"} required={true} deprecated={undefined}>
</Property>
<Property name={"canDeleteProjects"} type={"boolean"} required={true} deprecated={undefined}>
</Property>
<Property name={"canDeleteServices"} type={"boolean"} required={true} deprecated={undefined}>
</Property>
<Property name={"accesedProjects"} type={"array<string>"} required={true} deprecated={undefined}>
</Property>
<Property name={"accesedServices"} type={"array<string>"} required={true} deprecated={undefined}>
</Property>
<Property name={"canAccessToTraefikFiles"} type={"boolean"} required={true} deprecated={undefined}>
</Property>
<Property name={"canAccessToDocker"} type={"boolean"} required={true} deprecated={undefined}>
</Property>
<Property name={"canAccessToAPI"} type={"boolean"} required={true} deprecated={undefined}>
</Property>
<Property name={"canAccessToSSHKeys"} type={"boolean"} required={true} deprecated={undefined}>
</Property>
<Property name={"canAccessToGitProviders"} type={"boolean"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/admin.assignPermissions" \
-d '{
"userId": "string",
"canCreateProjects": true,
"canCreateServices": true,
"canDeleteProjects": true,
"canDeleteServices": true,
"accesedProjects": [
"string"
],
"accesedServices": [
"string"
],
"canAccessToTraefikFiles": true,
"canAccessToDocker": true,
"canAccessToAPI": true,
"canAccessToSSHKeys": true,
"canAccessToGitProviders": true
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/admin.assignPermissions", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

File diff suppressed because it is too large Load Diff

View File

@@ -1,887 +0,0 @@
---
title: backup
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"POST"} route={"/backup.create"}>
## backup-create
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"schedule"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"enabled"} type={"boolean | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"prefix"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"destinationId"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"database"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"mariadbId"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"mysqlId"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"postgresId"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"mongoId"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"databaseType"} type={"string"} required={true} deprecated={undefined}>
<span>Value in: `"postgres" | "mariadb" | "mysql" | "mongo"`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/backup.create" \
-d '{
"schedule": "string",
"enabled": true,
"prefix": "string",
"destinationId": "string",
"database": "string",
"mariadbId": "string",
"mysqlId": "string",
"postgresId": "string",
"mongoId": "string",
"databaseType": "postgres"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/backup.create", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/backup.one"}>
## backup-one
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"backupId"} type={"string"} required={true} deprecated={false}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/backup.one?backupId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/backup.one?backupId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/backup.update"}>
## backup-update
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"schedule"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"enabled"} type={"boolean | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"prefix"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"backupId"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"destinationId"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"database"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/backup.update" \
-d '{
"schedule": "string",
"enabled": true,
"prefix": "string",
"backupId": "string",
"destinationId": "string",
"database": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/backup.update", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/backup.remove"}>
## backup-remove
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"backupId"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/backup.remove" \
-d '{
"backupId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/backup.remove", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/backup.manualBackupPostgres"}>
## backup-manualBackupPostgres
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"backupId"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/backup.manualBackupPostgres" \
-d '{
"backupId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/backup.manualBackupPostgres", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/backup.manualBackupMySql"}>
## backup-manualBackupMySql
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"backupId"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/backup.manualBackupMySql" \
-d '{
"backupId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/backup.manualBackupMySql", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/backup.manualBackupMariadb"}>
## backup-manualBackupMariadb
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"backupId"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/backup.manualBackupMariadb" \
-d '{
"backupId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/backup.manualBackupMariadb", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/backup.manualBackupMongo"}>
## backup-manualBackupMongo
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"backupId"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/backup.manualBackupMongo" \
-d '{
"backupId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/backup.manualBackupMongo", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

View File

@@ -1,779 +0,0 @@
---
title: bitbucket
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"POST"} route={"/bitbucket.create"}>
## bitbucket-create
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"bitbucketId"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"bitbucketUsername"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"appPassword"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"bitbucketWorkspaceName"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"gitProviderId"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"authId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/bitbucket.create" \
-d '{
"bitbucketId": "string",
"bitbucketUsername": "string",
"appPassword": "string",
"bitbucketWorkspaceName": "string",
"gitProviderId": "string",
"authId": "string",
"name": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/bitbucket.create", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/bitbucket.one"}>
## bitbucket-one
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"bitbucketId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/bitbucket.one?bitbucketId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/bitbucket.one?bitbucketId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/bitbucket.bitbucketProviders"}>
## bitbucket-bitbucketProviders
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/bitbucket.bitbucketProviders"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/bitbucket.bitbucketProviders", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/bitbucket.getBitbucketRepositories"}>
## bitbucket-getBitbucketRepositories
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"bitbucketId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/bitbucket.getBitbucketRepositories?bitbucketId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/bitbucket.getBitbucketRepositories?bitbucketId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/bitbucket.getBitbucketBranches"}>
## bitbucket-getBitbucketBranches
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"owner"} type={"string"} required={true} deprecated={false}>
</Property>
<Property name={"repo"} type={"string"} required={true} deprecated={false}>
</Property>
<Property name={"bitbucketId"} type={"string"} required={false} deprecated={false}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/bitbucket.getBitbucketBranches?owner=string&repo=string&bitbucketId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/bitbucket.getBitbucketBranches?owner=string&repo=string&bitbucketId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/bitbucket.testConnection"}>
## bitbucket-testConnection
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"bitbucketId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"bitbucketUsername"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"workspaceName"} type={"string"} required={false} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/bitbucket.testConnection" \
-d '{
"bitbucketId": "string",
"bitbucketUsername": "string",
"workspaceName": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/bitbucket.testConnection", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/bitbucket.update"}>
## bitbucket-update
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"bitbucketId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"bitbucketUsername"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"appPassword"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"bitbucketWorkspaceName"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"gitProviderId"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/bitbucket.update" \
-d '{
"bitbucketId": "string",
"bitbucketUsername": "string",
"appPassword": "string",
"bitbucketWorkspaceName": "string",
"gitProviderId": "string",
"name": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/bitbucket.update", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

View File

@@ -1,433 +0,0 @@
---
title: certificates
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"POST"} route={"/certificates.create"}>
## certificates-create
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"certificateId"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"certificateData"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"privateKey"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"certificatePath"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"autoRenew"} type={"boolean | null"} required={false} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/certificates.create" \
-d '{
"certificateId": "string",
"name": "string",
"certificateData": "string",
"privateKey": "string",
"certificatePath": "string",
"autoRenew": true
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/certificates.create", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/certificates.one"}>
## certificates-one
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"certificateId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/certificates.one?certificateId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/certificates.one?certificateId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/certificates.remove"}>
## certificates-remove
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"certificateId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/certificates.remove" \
-d '{
"certificateId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/certificates.remove", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/certificates.all"}>
## certificates-all
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/certificates.all"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/certificates.all", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

View File

@@ -1,383 +0,0 @@
---
title: cluster
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"GET"} route={"/cluster.getNodes"}>
## cluster-getNodes
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/cluster.getNodes"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/cluster.getNodes", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/cluster.removeWorker"}>
## cluster-removeWorker
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"nodeId"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/cluster.removeWorker" \
-d '{
"nodeId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/cluster.removeWorker", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/cluster.addWorker"}>
## cluster-addWorker
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/cluster.addWorker"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/cluster.addWorker", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/cluster.addManager"}>
## cluster-addManager
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/cluster.addManager"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/cluster.addManager", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

File diff suppressed because it is too large Load Diff

View File

@@ -1,208 +0,0 @@
---
title: deployment
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"GET"} route={"/deployment.all"}>
## deployment-all
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"applicationId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/deployment.all?applicationId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/deployment.all?applicationId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/deployment.allByCompose"}>
## deployment-allByCompose
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"composeId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/deployment.allByCompose?composeId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/deployment.allByCompose?composeId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

View File

@@ -1,684 +0,0 @@
---
title: destination
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"POST"} route={"/destination.create"}>
## destination-create
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"accessKey"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"bucket"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"region"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"endpoint"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"secretAccessKey"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/destination.create" \
-d '{
"name": "string",
"accessKey": "string",
"bucket": "string",
"region": "string",
"endpoint": "string",
"secretAccessKey": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/destination.create", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/destination.testConnection"}>
## destination-testConnection
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"accessKey"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"bucket"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"region"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"endpoint"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"secretAccessKey"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/destination.testConnection" \
-d '{
"name": "string",
"accessKey": "string",
"bucket": "string",
"region": "string",
"endpoint": "string",
"secretAccessKey": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/destination.testConnection", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/destination.one"}>
## destination-one
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"destinationId"} type={"string"} required={true} deprecated={false}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/destination.one?destinationId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/destination.one?destinationId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/destination.all"}>
## destination-all
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/destination.all"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/destination.all", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/destination.remove"}>
## destination-remove
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"destinationId"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/destination.remove" \
-d '{
"destinationId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/destination.remove", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/destination.update"}>
## destination-update
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"accessKey"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"bucket"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"region"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"endpoint"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"secretAccessKey"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"destinationId"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/destination.update" \
-d '{
"name": "string",
"accessKey": "string",
"bucket": "string",
"region": "string",
"endpoint": "string",
"secretAccessKey": "string",
"destinationId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/destination.update", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

View File

@@ -1,402 +0,0 @@
---
title: docker
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"GET"} route={"/docker.getContainers"}>
## docker-getContainers
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/docker.getContainers"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/docker.getContainers", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/docker.getConfig"}>
## docker-getConfig
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"containerId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/docker.getConfig?containerId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/docker.getConfig?containerId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/docker.getContainersByAppNameMatch"}>
## docker-getContainersByAppNameMatch
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"appType"} type={"Any properties in string, string"} required={false} deprecated={false}>
</Property>
<Property name={"appName"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/docker.getContainersByAppNameMatch?appType=stack&appName=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/docker.getContainersByAppNameMatch?appType=stack&appName=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/docker.getContainersByAppLabel"}>
## docker-getContainersByAppLabel
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"appName"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/docker.getContainersByAppLabel?appName=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/docker.getContainersByAppLabel?appName=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

View File

@@ -1,804 +0,0 @@
---
title: domain
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"POST"} route={"/domain.create"}>
## domain-create
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"host"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"path"} type={"string | null"} required={false} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"port"} type={"number | null"} required={false} deprecated={undefined}>
<span>Minimum: `1`</span>
<span>Maximum: `65535`</span>
</Property>
<Property name={"https"} type={"boolean"} required={false} deprecated={undefined}>
</Property>
<Property name={"applicationId"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"certificateType"} type={"string"} required={false} deprecated={undefined}>
<span>Value in: `"letsencrypt" | "none"`</span>
</Property>
<Property name={"composeId"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"serviceName"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"domainType"} type={"string | null"} required={false} deprecated={undefined}>
<span>Value in: `"compose" | "application"`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/domain.create" \
-d '{
"host": "string",
"path": "string",
"port": 1,
"https": true,
"applicationId": "string",
"certificateType": "letsencrypt",
"composeId": "string",
"serviceName": "string",
"domainType": "compose"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/domain.create", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/domain.byApplicationId"}>
## domain-byApplicationId
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"applicationId"} type={"string"} required={true} deprecated={false}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/domain.byApplicationId?applicationId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/domain.byApplicationId?applicationId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/domain.byComposeId"}>
## domain-byComposeId
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"composeId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/domain.byComposeId?composeId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/domain.byComposeId?composeId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/domain.generateDomain"}>
## domain-generateDomain
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"appName"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/domain.generateDomain" \
-d '{
"appName": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/domain.generateDomain", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/domain.update"}>
## domain-update
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"host"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"path"} type={"string | null"} required={false} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"port"} type={"number | null"} required={false} deprecated={undefined}>
<span>Minimum: `1`</span>
<span>Maximum: `65535`</span>
</Property>
<Property name={"https"} type={"boolean"} required={false} deprecated={undefined}>
</Property>
<Property name={"certificateType"} type={"string"} required={false} deprecated={undefined}>
<span>Value in: `"letsencrypt" | "none"`</span>
</Property>
<Property name={"serviceName"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"domainType"} type={"string | null"} required={false} deprecated={undefined}>
<span>Value in: `"compose" | "application"`</span>
</Property>
<Property name={"domainId"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/domain.update" \
-d '{
"host": "string",
"path": "string",
"port": 1,
"https": true,
"certificateType": "letsencrypt",
"serviceName": "string",
"domainType": "compose",
"domainId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/domain.update", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/domain.one"}>
## domain-one
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"domainId"} type={"string"} required={true} deprecated={false}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/domain.one?domainId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/domain.one?domainId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/domain.delete"}>
## domain-delete
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"domainId"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/domain.delete" \
-d '{
"domainId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/domain.delete", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

View File

@@ -1,203 +0,0 @@
---
title: gitProvider
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"GET"} route={"/gitProvider.getAll"}>
## gitProvider-getAll
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/gitProvider.getAll"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/gitProvider.getAll", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/gitProvider.remove"}>
## gitProvider-remove
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"gitProviderId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/gitProvider.remove" \
-d '{
"gitProviderId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/gitProvider.remove", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

View File

@@ -1,661 +0,0 @@
---
title: github
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"GET"} route={"/github.one"}>
## github-one
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"githubId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/github.one?githubId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/github.one?githubId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/github.getGithubRepositories"}>
## github-getGithubRepositories
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"githubId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/github.getGithubRepositories?githubId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/github.getGithubRepositories?githubId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/github.getGithubBranches"}>
## github-getGithubBranches
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"repo"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"owner"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"githubId"} type={"string"} required={false} deprecated={false}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/github.getGithubBranches?repo=string&owner=string&githubId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/github.getGithubBranches?repo=string&owner=string&githubId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/github.githubProviders"}>
## github-githubProviders
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/github.githubProviders"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/github.githubProviders", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/github.testConnection"}>
## github-testConnection
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"githubId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/github.testConnection" \
-d '{
"githubId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/github.testConnection", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/github.update"}>
## github-update
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"githubId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"githubAppName"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"githubAppId"} type={"number | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"githubClientId"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"githubClientSecret"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"githubInstallationId"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"githubPrivateKey"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"githubWebhookSecret"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"gitProviderId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/github.update" \
-d '{
"githubId": "string",
"githubAppName": "string",
"githubAppId": 0,
"githubClientId": "string",
"githubClientSecret": "string",
"githubInstallationId": "string",
"githubPrivateKey": "string",
"githubWebhookSecret": "string",
"gitProviderId": "string",
"name": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/github.update", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

View File

@@ -1,816 +0,0 @@
---
title: gitlab
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"POST"} route={"/gitlab.create"}>
## gitlab-create
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"gitlabId"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"applicationId"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"redirectUri"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"secret"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"accessToken"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"refreshToken"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"groupName"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"expiresAt"} type={"number | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"gitProviderId"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"authId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/gitlab.create" \
-d '{
"gitlabId": "string",
"applicationId": "string",
"redirectUri": "string",
"secret": "string",
"accessToken": "string",
"refreshToken": "string",
"groupName": "string",
"expiresAt": 0,
"gitProviderId": "string",
"authId": "string",
"name": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/gitlab.create", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/gitlab.one"}>
## gitlab-one
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"gitlabId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/gitlab.one?gitlabId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/gitlab.one?gitlabId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/gitlab.gitlabProviders"}>
## gitlab-gitlabProviders
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/gitlab.gitlabProviders"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/gitlab.gitlabProviders", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/gitlab.getGitlabRepositories"}>
## gitlab-getGitlabRepositories
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"gitlabId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/gitlab.getGitlabRepositories?gitlabId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/gitlab.getGitlabRepositories?gitlabId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/gitlab.getGitlabBranches"}>
## gitlab-getGitlabBranches
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"id"} type={"number"} required={false} deprecated={false}>
</Property>
<Property name={"owner"} type={"string"} required={true} deprecated={false}>
</Property>
<Property name={"repo"} type={"string"} required={true} deprecated={false}>
</Property>
<Property name={"gitlabId"} type={"string"} required={false} deprecated={false}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/gitlab.getGitlabBranches?id=0&owner=string&repo=string&gitlabId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/gitlab.getGitlabBranches?id=0&owner=string&repo=string&gitlabId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/gitlab.testConnection"}>
## gitlab-testConnection
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"gitlabId"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"groupName"} type={"string"} required={false} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/gitlab.testConnection" \
-d '{
"gitlabId": "string",
"groupName": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/gitlab.testConnection", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/gitlab.update"}>
## gitlab-update
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"gitlabId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"applicationId"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"redirectUri"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"secret"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"accessToken"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"refreshToken"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"groupName"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"expiresAt"} type={"number | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"gitProviderId"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/gitlab.update" \
-d '{
"gitlabId": "string",
"applicationId": "string",
"redirectUri": "string",
"secret": "string",
"accessToken": "string",
"refreshToken": "string",
"groupName": "string",
"expiresAt": 0,
"gitProviderId": "string",
"name": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/gitlab.update", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,532 +0,0 @@
---
title: mounts
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"POST"} route={"/mounts.create"}>
## mounts-create
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"type"} type={"string"} required={true} deprecated={undefined}>
<span>Value in: `"bind" | "volume" | "file"`</span>
</Property>
<Property name={"hostPath"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"volumeName"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"content"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"mountPath"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"serviceType"} type={"string"} required={false} deprecated={undefined}>
<span>Default: `"application"`</span>
<span>Value in: `"application" | "postgres" | "mysql" | "mariadb" | "mongo" | "redis" | "compose"`</span>
</Property>
<Property name={"filePath"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"serviceId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/mounts.create" \
-d '{
"type": "bind",
"hostPath": "string",
"volumeName": "string",
"content": "string",
"mountPath": "string",
"serviceType": "application",
"filePath": "string",
"serviceId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/mounts.create", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/mounts.remove"}>
## mounts-remove
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"mountId"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/mounts.remove" \
-d '{
"mountId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/mounts.remove", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/mounts.one"}>
## mounts-one
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"mountId"} type={"string"} required={true} deprecated={false}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/mounts.one?mountId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/mounts.one?mountId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/mounts.update"}>
## mounts-update
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"mountId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"type"} type={"string"} required={false} deprecated={undefined}>
<span>Value in: `"bind" | "volume" | "file"`</span>
</Property>
<Property name={"hostPath"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"volumeName"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"filePath"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"content"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"serviceType"} type={"string"} required={false} deprecated={undefined}>
<span>Default: `"application"`</span>
<span>Value in: `"application" | "postgres" | "mysql" | "mariadb" | "mongo" | "redis" | "compose"`</span>
</Property>
<Property name={"mountPath"} type={"string"} required={false} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"applicationId"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"postgresId"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"mariadbId"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"mongoId"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"mysqlId"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"redisId"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"composeId"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/mounts.update" \
-d '{
"mountId": "string",
"type": "bind",
"hostPath": "string",
"volumeName": "string",
"filePath": "string",
"content": "string",
"serviceType": "application",
"mountPath": "string",
"applicationId": "string",
"postgresId": "string",
"mariadbId": "string",
"mongoId": "string",
"mysqlId": "string",
"redisId": "string",
"composeId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/mounts.update", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

File diff suppressed because it is too large Load Diff

View File

@@ -1,453 +0,0 @@
---
title: port
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"POST"} route={"/port.create"}>
## port-create
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"publishedPort"} type={"number"} required={true} deprecated={undefined}>
</Property>
<Property name={"targetPort"} type={"number"} required={true} deprecated={undefined}>
</Property>
<Property name={"protocol"} type={"string"} required={false} deprecated={undefined}>
<span>Default: `"tcp"`</span>
<span>Value in: `"tcp" | "udp"`</span>
</Property>
<Property name={"applicationId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/port.create" \
-d '{
"publishedPort": 0,
"targetPort": 0,
"protocol": "tcp",
"applicationId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/port.create", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/port.one"}>
## port-one
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"portId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/port.one?portId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/port.one?portId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/port.delete"}>
## port-delete
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"portId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/port.delete" \
-d '{
"portId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/port.delete", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/port.update"}>
## port-update
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"portId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"publishedPort"} type={"number"} required={true} deprecated={undefined}>
</Property>
<Property name={"targetPort"} type={"number"} required={true} deprecated={undefined}>
</Property>
<Property name={"protocol"} type={"string"} required={false} deprecated={undefined}>
<span>Default: `"tcp"`</span>
<span>Value in: `"tcp" | "udp"`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/port.update" \
-d '{
"portId": "string",
"publishedPort": 0,
"targetPort": 0,
"protocol": "tcp"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/port.update", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

File diff suppressed because it is too large Load Diff

View File

@@ -1,523 +0,0 @@
---
title: project
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"POST"} route={"/project.create"}>
## project-create
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"description"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/project.create" \
-d '{
"name": "string",
"description": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/project.create", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/project.one"}>
## project-one
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"projectId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/project.one?projectId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/project.one?projectId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/project.all"}>
## project-all
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/project.all"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/project.all", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/project.remove"}>
## project-remove
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"projectId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/project.remove" \
-d '{
"projectId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/project.remove", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/project.update"}>
## project-update
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"description"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"projectId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/project.update" \
-d '{
"name": "string",
"description": "string",
"projectId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/project.update", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

View File

@@ -1,451 +0,0 @@
---
title: redirects
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"POST"} route={"/redirects.create"}>
## redirects-create
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"regex"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"replacement"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"permanent"} type={"boolean"} required={true} deprecated={undefined}>
</Property>
<Property name={"applicationId"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/redirects.create" \
-d '{
"regex": "string",
"replacement": "string",
"permanent": true,
"applicationId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/redirects.create", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/redirects.one"}>
## redirects-one
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"redirectId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/redirects.one?redirectId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/redirects.one?redirectId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/redirects.delete"}>
## redirects-delete
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"redirectId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/redirects.delete" \
-d '{
"redirectId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/redirects.delete", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/redirects.update"}>
## redirects-update
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"redirectId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"regex"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"replacement"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"permanent"} type={"boolean"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/redirects.update" \
-d '{
"redirectId": "string",
"regex": "string",
"replacement": "string",
"permanent": true
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/redirects.update", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

File diff suppressed because it is too large Load Diff

View File

@@ -1,838 +0,0 @@
---
title: registry
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"POST"} route={"/registry.create"}>
## registry-create
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"registryName"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"username"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"registryUrl"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"registryType"} type={"string"} required={true} deprecated={undefined}>
<span>Value in: `"selfHosted" | "cloud"`</span>
</Property>
<Property name={"imagePrefix"} type={"string | null"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/registry.create" \
-d '{
"registryName": "string",
"username": "string",
"password": "string",
"registryUrl": "string",
"registryType": "selfHosted",
"imagePrefix": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/registry.create", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/registry.remove"}>
## registry-remove
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"registryId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/registry.remove" \
-d '{
"registryId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/registry.remove", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/registry.update"}>
## registry-update
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"registryId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"registryName"} type={"string"} required={false} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"imagePrefix"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"username"} type={"string"} required={false} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"password"} type={"string"} required={false} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"registryUrl"} type={"string"} required={false} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"createdAt"} type={"string"} required={false} deprecated={undefined}>
</Property>
<Property name={"registryType"} type={"string"} required={false} deprecated={undefined}>
<span>Value in: `"selfHosted" | "cloud"`</span>
</Property>
<Property name={"adminId"} type={"string"} required={false} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/registry.update" \
-d '{
"registryId": "string",
"registryName": "string",
"imagePrefix": "string",
"username": "string",
"password": "string",
"registryUrl": "string",
"createdAt": "string",
"registryType": "selfHosted",
"adminId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/registry.update", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/registry.all"}>
## registry-all
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/registry.all"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/registry.all", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/registry.one"}>
## registry-one
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"registryId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/registry.one?registryId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/registry.one?registryId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/registry.testRegistry"}>
## registry-testRegistry
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"registryName"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"username"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"registryUrl"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"registryType"} type={"string"} required={true} deprecated={undefined}>
<span>Value in: `"selfHosted" | "cloud"`</span>
</Property>
<Property name={"imagePrefix"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/registry.testRegistry" \
-d '{
"registryName": "string",
"username": "string",
"password": "string",
"registryUrl": "string",
"registryType": "selfHosted",
"imagePrefix": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/registry.testRegistry", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/registry.enableSelfHostedRegistry"}>
## registry-enableSelfHostedRegistry
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"registryUrl"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"username"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/registry.enableSelfHostedRegistry" \
-d '{
"registryUrl": "string",
"username": "string",
"password": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/registry.enableSelfHostedRegistry", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

View File

@@ -1,441 +0,0 @@
---
title: security
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"POST"} route={"/security.create"}>
## security-create
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"applicationId"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"username"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/security.create" \
-d '{
"applicationId": "string",
"username": "string",
"password": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/security.create", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/security.one"}>
## security-one
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"securityId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/security.one?securityId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/security.one?securityId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/security.delete"}>
## security-delete
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"securityId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/security.delete" \
-d '{
"securityId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/security.delete", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/security.update"}>
## security-update
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"securityId"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"username"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/security.update" \
-d '{
"securityId": "string",
"username": "string",
"password": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/security.update", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

File diff suppressed because it is too large Load Diff

View File

@@ -1,634 +0,0 @@
---
title: sshKey
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"POST"} route={"/sshKey.create"}>
## sshKey-create
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"description"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"publicKey"} type={"string"} required={true} deprecated={undefined}>
</Property>
<Property name={"privateKey"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/sshKey.create" \
-d '{
"name": "string",
"description": "string",
"publicKey": "string",
"privateKey": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/sshKey.create", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/sshKey.remove"}>
## sshKey-remove
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"sshKeyId"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/sshKey.remove" \
-d '{
"sshKeyId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/sshKey.remove", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/sshKey.one"}>
## sshKey-one
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"sshKeyId"} type={"string"} required={true} deprecated={false}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/sshKey.one?sshKeyId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/sshKey.one?sshKeyId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/sshKey.all"}>
## sshKey-all
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/sshKey.all"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/sshKey.all", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/sshKey.generate"}>
## sshKey-generate
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"type"} type={"string"} required={false} deprecated={undefined}>
<span>Value in: `"rsa" | "ed25519"`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/sshKey.generate" \
-d '{
"type": "rsa"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/sshKey.generate", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"POST"} route={"/sshKey.update"}>
## sshKey-update
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Request Body
<Property name={"name"} type={"string"} required={false} deprecated={undefined}>
<span>Minimum length: `1`</span>
</Property>
<Property name={"description"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"lastUsedAt"} type={"string | null"} required={false} deprecated={undefined}>
</Property>
<Property name={"sshKeyId"} type={"string"} required={true} deprecated={undefined}>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X POST "http://localhost:3000/api/sshKey.update" \
-d '{
"name": "string",
"description": "string",
"lastUsedAt": "string",
"sshKeyId": "string"
}'
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/sshKey.update", {
method: "POST"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

View File

@@ -1,299 +0,0 @@
---
title: user
full: true
---
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
<Root>
<API>
<APIInfo method={"GET"} route={"/user.all"}>
## user-all
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/user.all"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/user.all", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/user.byAuthId"}>
## user-byAuthId
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"authId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/user.byAuthId?authId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/user.byAuthId?authId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
<API>
<APIInfo method={"GET"} route={"/user.byUserId"}>
## user-byUserId
### Authorization
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
In: `header`
</Property>
### Query Parameters
<Property name={"userId"} type={"string"} required={true} deprecated={false}>
<span>Minimum length: `1`</span>
</Property>
| Status code | Description |
| ----------- | ----------- |
| `200` | Successful response |
| `default` | Error response |
</APIInfo>
<APIExample>
<Requests items={["cURL","JavaScript"]}>
<Request value={"cURL"}>
```bash
curl -X GET "http://localhost:3000/api/user.byUserId?userId=string"
```
</Request>
<Request value={"JavaScript"}>
```js
fetch("http://localhost:3000/api/user.byUserId?userId=string", {
method: "GET"
});
```
</Request>
</Requests>
<Responses items={["default"]}>
<Response value={"default"}>
<ResponseTypes>
<ExampleResponse>
```json
{
"message": "string",
"code": "string",
"issues": [
{
"message": "string"
}
]
}
```
</ExampleResponse>
<TypeScriptResponse>
```ts
export interface Response {
message: string;
code: string;
issues?: {
message: string;
}[];
}
```
</TypeScriptResponse>
</ResponseTypes>
</Response>
</Responses>
</APIExample>
</API>
</Root>

View File

@@ -1,18 +0,0 @@
---
title: 应用程序
description: 使用 Dokploy CLI 管理应用程序的指南
---
Dokploy CLI 可用于创建、部署和管理应用程序。
## 要求
需要先使用 Dokploy CLI 进行身份验证。
## 命令
1. `dokploy app create` - 创建一个新应用程序。
2. `dokploy app delete` - 删除一个应用程序。
3. `dokploy app deploy` - 部署一个应用程序。
4. `dokploy app stop` - 停止一个正在运行的应用程序。

View File

@@ -1,20 +0,0 @@
---
title: Application
description: A guide to using the Dokploy CLI to manage applications
---
The Dokploy CLI can be used to create, deploy, and manage applications.
## Requirements
Is required to be already authenticated with the Dokploy CLI.
## Commands
1. `dokploy app create` - Create a new application.
2. `dokploy app delete` - Delete an application.
3. `dokploy app deploy` - Deploy an application.
4. `dokploy app stop` - Stop a running application.

View File

@@ -1,25 +0,0 @@
---
title: 身份验证
description: 使用 Dokploy CLI 进行身份验证的指南
---
Dokploy CLI 使用基于令牌的身份验证系统。要进行身份验证,您需要创建一个访问令牌并安全存储它。
## 创建访问令牌
要创建访问令牌,首先您需要具备相应的权限,如果您是管理员,则不需要权限。
默认情况下,访问令牌不会过期。
您可以前往 `dashboard/settings/profile` 并点击 `生成` 按钮。
<ImageZoom src="/assets/cli/token.png" width={800} height={630} alt='home og image' className="rounded-lg" />
## 存储访问令牌
当您创建访问令牌时Dokploy 将自动生成一个包含访问令牌和服务器 URL 的 config.json 文件。
## 命令
1. `dokploy authenticate` - 使用 Dokploy CLI 进行身份验证。
2. `dokploy verify` - 验证访问令牌是否有效。

View File

@@ -1,29 +0,0 @@
---
title: Authentication
description: A guide to authenticating with the Dokploy CLI
---
The Dokploy CLI uses a token-based authentication system. To authenticate, you'll need to create an access token and store it securely.
## Creating an Access Token
To create an access token, first you need to have permissions if you are admin you don't need permissions.
by default access token never expires.
You can go to `dashboard/settings/profile` and click on the `Generate` button.
<ImageZoom src="/assets/cli/token.png" width={800} height={630} alt='home og image' className="rounded-lg" />
## Storing the Access Token
Dokploy when you create an access token automatically will generate a config.json with the access token and the server url.
## Commands
1. `dokploy authenticate` - Authenticate with the Dokploy CLI.
2. `dokploy verify` - Verify if the access token is valid.

View File

@@ -1,43 +0,0 @@
---
title: 数据库
description: 使用 Dokploy CLI 管理数据库的指南
---
Dokploy CLI 可用于创建、部署和管理数据库。
## 需求
需要先进行 Dokploy CLI 的身份验证。
## 命令
### MariaDB
1. `dokploy database mariadb create` - 创建一个新的 MariaDB 数据库。
2. `dokploy database mariadb delete` - 删除一个 MariaDB 数据库。
3. `dokploy database mariadb deploy` - 部署一个 MariaDB 数据库。
4. `dokploy database mariadb stop` - 停止运行中的 MariaDB 数据库。
### PostgreSQL
1. `dokploy database postgresql create` - 创建一个新的 PostgreSQL 数据库。
2. `dokploy database postgresql delete` - 删除一个 PostgreSQL 数据库。
3. `dokploy database postgresql deploy` - 部署一个 PostgreSQL 数据库。
4. `dokploy database postgresql stop` - 停止运行中的 PostgreSQL 数据库。
### MySQL
1. `dokploy database mysql create` - 创建一个新的 MySQL 数据库。
2. `dokploy database mysql delete` - 删除一个 MySQL 数据库。
3. `dokploy database mysql deploy` - 部署一个 MySQL 数据库。
4. `dokploy database mysql stop` - 停止运行中的 MySQL 数据库。
### MongoDB
1. `dokploy database mongodb create` - 创建一个新的 MongoDB 数据库。
2. `dokploy database mongodb delete` - 删除一个 MongoDB 数据库。
3. `dokploy database mongodb deploy` - 部署一个 MongoDB 数据库。
4. `dokploy database mongodb stop` - 停止运行中的 MongoDB 数据库。
### Redis
1. `dokploy database redis create` - 创建一个新的 Redis 数据库。
2. `dokploy database redis delete` - 删除一个 Redis 数据库。
3. `dokploy database redis deploy` - 部署一个 Redis 数据库。
4. `dokploy database redis stop` - 停止运行中的 Redis 数据库。

View File

@@ -1,45 +0,0 @@
---
title: Databases
description: A guide to using the Dokploy CLI to manage databases
---
The Dokploy CLI can be used to create, deploy, and manage databases.
## Requirements
Is required to be already authenticated with the Dokploy CLI.
## Commands
### MariaDB
1. `dokploy database mariadb create` - Create a new mariadb database.
2. `dokploy database mariadb delete` - Delete an mariadb database.
3. `dokploy database mariadb deploy` - Deploy a mariadb database.
4. `dokploy database mariadb stop` - Stop a running mariadb database.
### PostgreSQL
1. `dokploy database postgresql create` - Create a new postgresql database.
2. `dokploy database postgresql delete` - Delete an postgresql database.
3. `dokploy database postgresql deploy` - Deploy a postgresql database.
4. `dokploy database postgresql stop` - Stop a running postgresql database.
### MySQL
1. `dokploy database mysql create` - Create a new mysql database.
2. `dokploy database mysql delete` - Delete an mysql database.
3. `dokploy database mysql deploy` - Deploy a mysql database.
4. `dokploy database mysql stop` - Stop a running mysql database.
### MongoDB
1. `dokploy database mongodb create` - Create a new mongodb database.
2. `dokploy database mongodb delete` - Delete an mongodb database.
3. `dokploy database mongodb deploy` - Deploy a mongodb database.
4. `dokploy database mongodb stop` - Stop a running mongodb database.
### Redis
1. `dokploy database redis create` - Create a new redis database.
2. `dokploy database redis delete` - Delete an redis database.
3. `dokploy database redis deploy` - Deploy a redis database.
4. `dokploy database redis stop` - Stop a running redis database.

View File

@@ -1,16 +0,0 @@
---
title: 项目
description: 使用 Dokploy CLI 管理项目的指南
---
Dokploy CLI 可用于创建、部署和管理项目。
## 需求
需要先进行 Dokploy CLI 的身份验证。
## 命令
1. `dokploy project create` - 创建一个新项目。
2. `dokploy project info` - 获取有关项目的信息。
3. `dokploy project list` - 列出所有项目。

View File

@@ -1,18 +0,0 @@
---
title: Project
description: A guide to using the Dokploy CLI to manage projects
---
The Dokploy CLI can be used to create, deploy, and manage projects.
## Requirements
Is required to be already authenticated with the Dokploy CLI.
## Commands
1. `dokploy project create` - Create a new project.
2. `dokploy project info` - Get information about a project.
3. `dokploy project list` - List all projects.

View File

@@ -1,23 +0,0 @@
---
title: 介绍
description: 使用 Dokploy 命令行界面的指南
---
Dokploy CLI 是一个用于远程管理您的 Dokploy 服务器的命令行工具。它简化了应用程序和数据库的创建、部署和管理。
## 安装
```bash
npm install -g @dokploy/cli
```
## 用法
```bash
dokploy COMMAND
```
要获取特定命令的帮助:
```bash
dokploy COMMAND --help
```

View File

@@ -1,23 +0,0 @@
---
title: Introduction
description: A guide to using the Dokploy command-line interface
---
Dokploy CLI is a command-line tool for remotely managing your Dokploy server. It simplifies creating, deploying, and managing applications and databases.
## Installation
```bash
npm install -g @dokploy/cli
```
## Usage
```bash
dokploy COMMAND
```
To get help on a specific command:
```bash
dokploy COMMAND --help
```

View File

@@ -1,13 +0,0 @@
{
"title": "CLI",
"root": true,
"pages": [
"---开始使用---",
"index",
"---命令---",
"commands/authentication",
"commands/project",
"commands/application",
"commands/databases"
]
}

View File

@@ -1,13 +0,0 @@
{
"title": "CLI",
"root": true,
"pages": [
"---Get Started---",
"index",
"---Commands---",
"commands/authentication",
"commands/project",
"commands/application",
"commands/databases"
]
}

View File

@@ -1,166 +0,0 @@
---
title: 高级功能
description: 了解如何使用应用程序中的高级功能。
---
本节旨在为需要在 Dokploy 中管理复杂配置和编排设置的高级用户提供支持。在这里,您可以执行自定义命令、管理集群副本、选择 Docker 注册表以及配置 Docker Swarm 设置。
### 运行命令
- **目的**:允许用户在容器内直接执行自定义 Shell 命令。
- **用法**:在提供的字段中输入需要运行的命令,然后单击“保存”以在容器环境中执行。这一工具特别适合调试或特定管理任务。
### 集群设置
- **目的**:管理应用程序在多个服务器或节点上的扩展和分布。
- **副本数**:设置应运行的应用程序实例数量。
- **注册表选择**:选择将从中提取容器映像的 Docker 注册表。这对于确保在部署过程中使用正确的映像至关重要。
#### 重要提示
修改集群设置后,请始终点击“重新部署”以应用更改。
### Swarm 设置
Swarm 设置允许详细配置容器在 Docker Swarm 中的编排方式。
#### 健康检查
- **目的**:确保容器平稳运行,并在失败时重新启动它们。
- **配置**:指定测试命令、间隔、超时、启动时间和重试次数等参数。
#### 重启策略
定义容器在退出或失败时的处理方式,配置如下:
- **条件**:指定应在何种条件下发生重启。
- **延迟**:设置重启之间的时间延迟。
- **最大尝试次数**:限制重启尝试的次数。
- **窗口**:定义用于评估重启策略的时间窗口。
#### 更新配置
管理 Swarm 中服务的部署和更新过程,配置如下:
- **并行性**:同时更新的容器数量。
- **延迟**:更新之间的时间。
- **失败操作**:更新失败时采取的操作。
- **监控**:更新后监控容器的持续时间。
- **最大失败比例**:在更新被视为失败之前,允许失败的容器比例。
- **顺序**:在更新过程中停止和启动容器的顺序。
#### 放置
根据特定规则和偏好控制容器在 Swarm 中的位置,配置如下:
- **约束条件**:容器放置在节点上必须满足的条件。
- **偏好设置**:在节点之间均匀分配容器的放置偏好。
### 回滚配置
管理更新失败时服务的回滚过程,配置如下:
- **并行性**:同时回滚的容器数量。
- **延迟**:回滚之间的时间。
- **失败操作**:回滚失败时采取的操作。
- **监控**:回滚后监控容器的持续时间。
- **最大失败比例**:在回滚被视为失败之前,允许失败的容器比例。
- **顺序**:在回滚过程中停止和重新启动容器的顺序。
### 模式
定义服务在 Swarm 中的复制方式,配置如下:
- **复制模式**:服务根据指定的设置在节点上复制。
- **副本数**:每个服务的副本数量。
- **全局模式**:每个节点运行服务的单个实例。
- **复制作业**:以复制的方式运行作业。
- **最大并发**:同时运行的作业最大数量。
- **总完成次数**:作业需要完成的总次数。
### 网络
配置服务的网络设置,配置如下:
- **目标**:指定网络名称。
- **别名**:为网络提供别名。
- **驱动程序选项**:网络驱动程序选项,如 MTU 大小和主机绑定。
### 标签
为容器分配元数据以帮助识别和组织,配置如下:
- **标签**:分配给服务的键值对。例如:
1. `com.example.app.name`: "my-app"
2. `com.example.app.version`: "1.0.0"
### 注意
修改 Swarm 设置需要谨慎考虑,因为不正确的配置可能会干扰整个容器编排。始终确保您理解所做更改的影响。
## 资源
管理分配给您的应用程序或数据库的内存和 CPU 资源。
- **内存保留**:保证应用程序的最小内存量。
- **内存限制**:应用程序可以使用的最大内存量。
- **CPU 限制**:应用程序可以使用的最大 CPU 单位数量。
- **CPU 保留**:为应用程序保留的最小 CPU 单位数量。
### 卷/挂载
配置应用程序的持久存储,以确保数据在容器重启和部署之间保持完整。
**绑定挂载**:将主机文件或目录映射到容器文件或目录。通常用于特定配置或数据库。
1. **主机路径**:主机上的路径。
2. **挂载路径**:容器中的路径。
**卷挂载**:使用 Docker 管理的卷,比绑定挂载更易于备份和迁移。
1. **卷名称**Docker 管理的卷名称。
2. **挂载路径**:容器中挂载卷的路径。
**文件挂载**:专门用于单个文件,适用于配置文件。
1. **内容**:要存储在文件中的内容。
2. **挂载路径**:容器中放置文件的路径。
文件挂载是 Dokploy 的一个功能,它在项目内部的 `files` 文件夹中创建一个文件,因此每次部署项目时都会重新创建。
<ImageZoom src="/assets/file-mount-configuration.webp" width={800} height={630} className="rounded-lg"/>
<ImageZoom src="/assets/file-mount.png" width={800} height={630} className="rounded-lg"/>
### 重定向
根据指定的规则将请求重定向到应用程序的另一个 URL提高导航效率和 SEO。
- **正则表达式**:输入一个正则表达式以匹配需要重定向的 URL。
- **替换**:指定流量应重定向到的目标 URL。
- **永久性**:启用此选项以应用永久性 (HTTP 301) 重定向,指示浏览器和搜索引擎页面已永久移动。
#### 示例
要将所有流量从 "http://localhost" 重定向到 "http://mydomain",请将正则表达式设置为 `http://localhost/(.*)`,并将替换设置为 `http://mydomain/$1`。
### 安全
为您的应用程序添加基本身份验证以限制访问。
- **用户名**:输入用户名。
- **密码**:输入密码。
#### 重要提示
添加基本身份验证将在允许访问应用程序之前提示用户输入用户名和密码。在需要额外安全层的环境中使用此功能。
### 端口
通过配置网络端口将应用程序暴露于互联网,允许外部访问。
- **发布端口**:将路由流量到您的应用程序的主机上的端口号。
- **目标端口**:容器内应用程序使用的端口号。
- **协议**:根据应用程序的要求选择 TCP 或 UDP。
#### 重要提示
确保发布端口不会与主机上的其他服务冲突,以避免端口绑定错误。此外,此端口主要用于从外部访问应用程序,例如 `your-ip:port`,而不是通过域访问应用程序。
### Traefik
提供了一种动态且强大的方法来管理 HTTP 流量到您的服务,包括负载均衡和 SSL 终止。
- **规则**:使用 Traefik 强大的基于规则的配置系统定义复杂的路由、负载均衡和安全配置。

View File

@@ -1,173 +0,0 @@
---
title: Advanced
description: Learn how to use advanced features in your application.
---
This section is designed for experienced users who need to manage complex configurations and orchestration settings in Dokploy. Here, you can execute custom commands, manage cluster replicas, select Docker registries, and configure Docker Swarm settings.
### Run Command
- **Purpose**: Allows users to execute custom shell commands directly within the container.
- **Usage**: Enter the command you need to run in the provided field and click 'Save' to execute it within the container environment. This tool is particularly useful for debugging or specific administrative tasks.
### Cluster Settings
- **Purpose**: Manages the scaling and distribution of the application across multiple servers or nodes.
- **Replicas**: Set the number of instances of your application that should be running.
- **Registry Selection**: Choose the Docker registry from which your container images will be pulled. This is crucial for ensuring that the correct images are used during deployment.
#### Important Note
Always click 'Redeploy' after modifying the cluster settings to apply the changes.
### Swarm Settings
Swarm settings allow for detailed configuration of how containers are orchestrated within the Docker Swarm.
#### Health Check
- **Purpose**: Ensures that containers are running smoothly and restarts them if they fail.
- **Configuration**: Specify parameters like test commands, intervals, timeouts, start periods, and retries.
#### Restart Policy
Defines how containers should be handled if they exit or fail, the configuration is as follows:
- **Condition**: Specifies under what condition a restart should occur.
- **Delay**: Sets the time delay between restarts.
- **Max Attempts**: Limits the number of restart attempts.
- **Window**: Defines the time window used to evaluate the restart policy.
#### Update Config
Manages the deployment and update process of services in the swarm, the configuration is as follows:
- **Parallelism**: Number of containers to update simultaneously.
- **Delay**: Time between updates.
- **Failure Action**: Action to take if an update fails.
- **Monitor**: Duration to monitor a container after an update.
- **Max Failure Ratio**: The fraction of containers that are allowed to fail before the update is considered a failure.
- **Order**: The order in which containers are stopped and started during an update.
#### Placement
Controls where containers are placed within the swarm based on specific rules and preferences, the configuration is as follows:
- **Constraints**: Conditions that must be met for a container to be placed on a node.
- **Preferences**: Preferences for placing containers across nodes to spread load evenly.
### Rollback Config
Manages the rollback process for services when updates fail, the configuration is as follows:
- **Parallelism**: Number of containers to rollback simultaneously.
- **Delay**: Time between rollbacks.
- **FailureAction**: Action to take if a rollback fails.
- **Monitor**: Duration to monitor a container after a rollback.
- **MaxFailureRatio**: The fraction of containers that are allowed to fail before the rollback is considered a failure.
- **Order**: The order in which containers are stopped and restarted during a rollback.
### Mode
Defines how services are replicated within the swarm, the configuration is as follows:
- **Replicated**: Services are replicated across nodes as specified.
- **Replicas**: Number of replicas per service.
- **Global**: A single instance of the service runs on every node.
- **ReplicatedJob**: Runs a job in a replicated manner.
- **MaxConcurrent**: Maximum number of jobs running concurrently.
- **TotalCompletions**: Total number of times the jobs need to complete.
### Network
Configures network settings for the services, the configuration is as follows:
- **Target**: Specifies the network name.
- **Aliases**: Provides aliases for the network.
- **DriverOpts**: Network driver options like MTU size and host binding.
### Labels
Assigns metadata to containers to help identify and organize them, the configuration is as follows:
- **Labels**: Key-value pairs assigned to the service. For example:
1. `com.example.app.name`: "my-app"
2. `com.example.app.version`: "1.0.0"
### Note
Modifying Swarm Settings requires careful consideration as incorrect configurations can disrupt the entire container orchestration. Always ensure you understand the implications of the changes you are making.
## Resources
Manage the memory and CPU resources allocated to your applications or databases.
- **Memory Reservation**: The minimum amount of memory guaranteed to the application.
- **Memory Limit**: The maximum amount of memory the application can use.
- **CPU Limit**: The maximum number of CPU units that the application can utilize.
- **CPU Reservation**: The minimum number of CPU units reserved for the application.
### Volumes/Mounts
Configure persistent storage for your application to ensure data remains intact across container restarts and deployments.
**Bind Mount**: Maps a host file or directory to a container file or directory. Typically used for specific configurations or databases.
1. **Host Path**: Path on the host.
2. **Mount Path**: Path in the container.
**Volume Mount**: Uses Docker-managed volumes that are easier to back up and migrate than bind mounts.
1. **Volume Name**: Name of the Docker-managed volume.
2. **Mount Path**: Path in the container where the volume is mounted.
**File Mount**: Specifically for single files, useful for configuration files.
1. **Content**: The content to store in the file.
2. **Mount Path**: Path in the container where the file is placed.
File mounts are a dokploy features, this create a file in a folder called `files` inside your project, so it recreates every single time you deploy your project.
<ImageZoom src="/assets/file-mount-configuration.webp" width={800} height={630} className="rounded-lg"/>
<ImageZoom src="/assets/file-mount.png" width={800} height={630} className="rounded-lg"/>
### Redirects
Redirect requests to your application to another URL based on specified rules, enhancing navigational efficiency and SEO.
- **Regex**: Enter a regular expression to match the URLs that need redirecting.
- **Replacement**: Specify the target URL where traffic should be redirected.
- **Permanent**: Toggle this option to apply a permanent (HTTP 301) redirection, indicating to browsers and search engines that the page has moved permanently.
#### Example
To redirect all traffic from "http://localhost" to "http://mydomain", set the Regex as `http://localhost/(.*)` and the Replacement as `http://mydomain/$1`.
### Security
Add basic authentication to your application to restrict access.
- **Username**: Enter a username.
- **Password**: Enter a password.
#### Important Note
Adding basic authentication will prompt users for a username and password before allowing access to the application. Use this for environments where an additional layer of security is required.
### Ports
Expose your application to the internet by configuring network ports, allowing external access.
- **Published Port**: The port number on the host that will route traffic to your application.
- **Target Port**: The port number inside the container that the application uses.
- **Protocol**: Choose between TCP and UDP based on your application's requirements.
#### Important Note
Ensure that the published port does not conflict with other services on the host to avoid port binding errors, also this port is used mostly for accesing the application from the outside, eg your-ip:port, this is not for accessing the application trought a domain.
### Traefik
Provides a dynamic and robust method to manage HTTP traffic to your services, including load balancing and SSL termination.
- **Rules**: Define complex routing, load balancing, and security configurations using Traefik's powerful rule-based configuration system.

View File

@@ -1,85 +0,0 @@
---
title: 自动部署
description: "了解如何将您的应用程序自动部署到 Dokploy。"
---
将应用程序自动部署到 Dokploy 可以通过两种主要方法实现:使用 Webhooks 或 Dokploy API。每种方法都支持各种平台并提供简化的部署流程。
## GitHub
对于 GitHub我们提供无需任何配置的自动部署。这将在您推送到代码库时自动部署您的应用程序。
## Webhook URL
Webhooks 允许您在源代码库中进行更改时自动部署应用程序。
- GitHub
- GitLab
- Bitbucket
- Gitea
- DockerHub
### 配置步骤
1. **启用自动部署**:在 Dokploy 的应用程序设置的一般选项卡中切换“自动部署”按钮。
2. **获取 Webhook URL**:从部署日志中找到 Webhook URL。
<ImageZoom
src="/assets/webhook-url.png"
alt="Webhook URL"
width={1000}
height={500}
/>
3. **配置您的代码库**
- 转到您选择的平台上的代码库设置。
- 添加由 Dokploy 提供的 webhook URL。
- 确保设置与触发 webhook 所需的配置匹配。
<ImageZoom
src="/assets/webhook-github.png"
alt="Webhook URL"
width={1000}
height={500}
/>
#### 重要提示
- **分支匹配**:使用基于 Git 的提供商GitHub、GitLab 等)时,请确保 Dokploy 中配置的分支与您打算推送的分支匹配。不匹配将导致“分支不匹配”错误。
- **Docker 标签**:对于使用 DockerHub 的部署,请确保推送的标签与 Dokploy 中指定的标签匹配。
- 所有提供商的步骤都是相同的。
### API 方法
通过 Dokploy API 从任何地方以编程方式部署您的应用程序。
### 使用 API 部署的步骤
步骤:
1. **生成令牌**:在 Dokploy 的个人资料设置中创建一个 API 令牌。
2. **获取应用程序 ID**
```http
curl -X 'GET' \
'https://your-domain/api/project.all' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <token>'
```
此命令列出所有项目和服务。确定您希望部署的应用程序的 applicationId。
3. **触发部署**
```http
curl -X 'POST' \
'https://your-domain/api/application.deploy' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <token>' \
-d '{
"applicationId": "string"
}'
```
此 API 方法允许灵活的、可编程的部署选项,适用于自动化系统或不便于直接代码库集成的情况。通过这种方式,您可以从任何地方部署您的应用程序,您可以使用 webhook URL 或 API。

View File

@@ -1,86 +0,0 @@
---
title: Auto Deploy
description: "Learn how to automatically deploy your application to Dokploy."
---
Automatically deploying your application to Dokploy can be achieved through two primary methods: using Webhooks or the Dokploy API. Each method supports various platforms and provides a streamlined deployment process.
## Github
For Github, we provide autodeploy without any configuration. This will automatically deploy your application whenever you push to your repository.
## Webhook URL
Webhooks allow you to automatically deploy your application whenever changes are made in your source repository.
- GitHub
- GitLab
- Bitbucket
- Gitea
- DockerHub
### Configuration Steps
1. **Enable Auto Deploy**: Toggle the 'Auto Deploy' button found in the general tab of your application settings in Dokploy.
2. **Obtain Webhook URL**: Locate the Webhook URL from the deployment logs.
<ImageZoom
src="/assets/webhook-url.png"
alt="Webhook URL"
width={1000}
height={500}
/>
3. **Configure Your Repository**:
- Navigate to your repository settings on your chosen platform.
- Add the webhook URL provided by Dokploy.
- Ensure the settings match the configuration necessary for triggering the webhook.
<ImageZoom
src="/assets/webhook-github.png"
alt="Webhook URL"
width={1000}
height={500}
/>
#### Important Notes
- **Branch Matching**: When using Git-based providers (GitHub, GitLab, etc.), ensure that the branch configured in Dokploy matches the branch you intend to push to. Misalignment will result in a "Branch Not Match" error.
- **Docker Tags**: For deployments using DockerHub, ensure the tag pushed matches the one specified in Dokploy.
- The steps are the same for all the providers.
### API Method
Deploy your application programmatically using the Dokploy API from anywhere.
### Steps to Deploy Using API
Steps:
1. **Generate a Token**: Create an API token in your profile settings on Dokploy.
2. **Retrieve Application ID**:
```http
curl -X 'GET' \
'https://your-domain/api/project.all' \
-H 'accept: application/json'
-H 'Authorization: Bearer <token>'
```
This command lists all projects and services. Identify the applicationId for the application you wish to deploy.
3. **Trigger Deployment**:
```http
curl -X 'POST' \
'https://your-domain/api/application.deploy' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <token>' \
-d '{
"applicationId": "string"
}'
```
This API method allows for flexible, scriptable deployment options, suitable for automated systems or situations where direct repository integration is not feasible.
In this way you can deploy your application from anywhere, you can use the webhook URL or the API.

View File

@@ -1,32 +0,0 @@
---
title: 构建类型
description: "了解 Dokploy 中可用的不同构建类型,包括 Nixpack、Dockerfile 和 Building pack 选项。"
---
import { Callout } from 'fumadocs-ui/components/callout';
## 构建类型
Dokploy 提供了三种不同的构建类型来部署应用程序,每种类型都适合不同的开发需求和偏好。
### Nixpacks
这是 Dokploy 中的默认构建类型。当您选择 Nixpack 时Dokploy 会将您的应用程序构建为 Nixpack该 Nixpack 针对易用性和效率进行了优化。
### Dockerfile
如果您的项目包含 Dockerfile您可以指定其路径。 Dokploy 将使用此 Dockerfile 直接构建您的应用程序,让您完全控制构建环境和依赖项。
### Buildpack
Dokploy 支持两种类型的构建包:
- **Heroku**: 这些构建包改编自 Heroku 流行的云平台,旨在兼容性和易于迁移。
- **Paketo**: 提供利用现代标准和实践来构建应用程序的云原生构建包。
<Callout>
**Tip:**
我们建议使用“Nixpack”构建类型因为它是大多数应用程序最简单、最常用的选项。
</Callout>
通过选择适当的构建类型,您可以定制部署过程,以最适合您的应用程序的要求和您的操作偏好。

View File

@@ -1,34 +0,0 @@
---
title: Build Type
description: "Learn about the different build types available in Dokploy, including Nixpacks, Dockerfile, and Buildpack options."
---
import { Callout } from 'fumadocs-ui/components/callout';
Dokploy offers three distinct build types for deploying applications, each suited to different development needs and preferences.
### Nixpacks
This is the default build type in Dokploy. When you select Nixpacks, Dokploy builds your application as a Nixpack, which is optimized for ease of use and efficiency.
You can read more about Nixpacks [here](https://nixpacks.com/).
### Dockerfile
If your project includes a Dockerfile, you can specify its path. Dokploy will use this Dockerfile to build your application directly, giving you full control over the build environment and dependencies.
### Buildpack
Dokploy supports two types of buildpacks:
- **Heroku**: Adapted from Heroku's popular cloud platform, these buildpacks are designed for compatibility and ease of migration.
- **Paketo**: Provides cloud-native buildpacks that leverage modern standards and practices for building applications.
<Callout>
**Tip:** We recommend using the `Nixpacks` build type as it is the most
straightforward and commonly used option for most applications.
</Callout>
By choosing the appropriate build type, you can tailor the deployment process to best fit your application's requirements and your operational preferences.

Some files were not shown because too many files have changed in this diff Show More