mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
Compare commits
631 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
89c7e96df0 | ||
|
|
8af5afbb6c | ||
|
|
ef9f16a3c3 | ||
|
|
d15b6387a3 | ||
|
|
2e9e39dcf5 | ||
|
|
d901b02e92 | ||
|
|
766a25ccad | ||
|
|
fae97b1817 | ||
|
|
b2cc5e58a3 | ||
|
|
1b56a6b400 | ||
|
|
996d449f0f | ||
|
|
3b197f3624 | ||
|
|
0e136ffb8f | ||
|
|
95e53169b1 | ||
|
|
6b4e52fb37 | ||
|
|
52a19a325e | ||
|
|
9d891e87e0 | ||
|
|
41b274fbb3 | ||
|
|
6417e13336 | ||
|
|
db9136d981 | ||
|
|
c13249e887 | ||
|
|
e83499f90d | ||
|
|
6c92e6efc9 | ||
|
|
97715a47b3 | ||
|
|
3a9698c3a3 | ||
|
|
d47ccae190 | ||
|
|
9295c6545f | ||
|
|
2a01566c34 | ||
|
|
b5cf59e743 | ||
|
|
92eaa1a470 | ||
|
|
2cbb7e4962 | ||
|
|
34d73957f5 | ||
|
|
d571c6d9a2 | ||
|
|
985c7515b1 | ||
|
|
cf666ceb19 | ||
|
|
0e8a3c36f3 | ||
|
|
c04d2f508b | ||
|
|
5c85b82257 | ||
|
|
ae5df82887 | ||
|
|
9872c4fee3 | ||
|
|
3f40ad3250 | ||
|
|
7d882b3df5 | ||
|
|
3808fd83a6 | ||
|
|
707d609b46 | ||
|
|
800e5cbf43 | ||
|
|
2107d782f5 | ||
|
|
80015d8d71 | ||
|
|
2c2d59a87c | ||
|
|
93844928a8 | ||
|
|
cb59d121be | ||
|
|
42b3db37ac | ||
|
|
c59975a7ff | ||
|
|
c0df4d330a | ||
|
|
b56532f25e | ||
|
|
f34a209c67 | ||
|
|
e24f0a395d | ||
|
|
1a6bf06929 | ||
|
|
d239ca9b49 | ||
|
|
ecc98b0944 | ||
|
|
950ee77a49 | ||
|
|
38a72806a7 | ||
|
|
fa70696c71 | ||
|
|
b123baafa4 | ||
|
|
d6fa416a3f | ||
|
|
d2c0f19353 | ||
|
|
3ef6c711e6 | ||
|
|
64a4d51f9c | ||
|
|
1a20e4f813 | ||
|
|
250c14738c | ||
|
|
28221a4e7a | ||
|
|
680c22a41e | ||
|
|
9145fd3408 | ||
|
|
428b9cf0ec | ||
|
|
78659b2ad9 | ||
|
|
4b5408c050 | ||
|
|
5417f6376b | ||
|
|
27c33c7661 | ||
|
|
226c43047e | ||
|
|
0873618c63 | ||
|
|
2db8057d61 | ||
|
|
71a582026e | ||
|
|
5f13fb2316 | ||
|
|
bc91bb3132 | ||
|
|
e3b20268d5 | ||
|
|
742e5a244d | ||
|
|
1f208f5f5b | ||
|
|
a53ade88e7 | ||
|
|
a93f18eb4a | ||
|
|
77e9617770 | ||
|
|
21e97b0175 | ||
|
|
a6618a14d5 | ||
|
|
59308ab013 | ||
|
|
e19c8d7a7a | ||
|
|
421c93795b | ||
|
|
182f908c31 | ||
|
|
20616363e9 | ||
|
|
d85073b26d | ||
|
|
303d1b1b87 | ||
|
|
60d4e1ba63 | ||
|
|
83d52b68f0 | ||
|
|
af3b1a27f4 | ||
|
|
7f94593c07 | ||
|
|
5df7654873 | ||
|
|
054836fd4c | ||
|
|
484ead1f1f | ||
|
|
fbada4c5de | ||
|
|
491113416b | ||
|
|
c42f5cb799 | ||
|
|
47aa223f87 | ||
|
|
cb586c9b74 | ||
|
|
554ac59b97 | ||
|
|
0247898876 | ||
|
|
467acc4d4d | ||
|
|
fc2778db35 | ||
|
|
85d6ff9012 | ||
|
|
fa053b4d1f | ||
|
|
522f8baec7 | ||
|
|
bcc7afa3e4 | ||
|
|
647a5d05a6 | ||
|
|
e15d41f80d | ||
|
|
6c7c919d49 | ||
|
|
22eb965919 | ||
|
|
c0746b95b3 | ||
|
|
dfdedf9e48 | ||
|
|
7e76eb4dd1 | ||
|
|
c1f777e23e | ||
|
|
975d13c7e1 | ||
|
|
017bdd2778 | ||
|
|
01e5cf0852 | ||
|
|
548df8c0f4 | ||
|
|
8faa6ae1cf | ||
|
|
76ed1107c2 | ||
|
|
cff5049096 | ||
|
|
cb5ca100a6 | ||
|
|
03d1e974dd | ||
|
|
1e6dbb5e8e | ||
|
|
431dadb6c2 | ||
|
|
22e42b62ad | ||
|
|
49ee8ce132 | ||
|
|
b609d72d1c | ||
|
|
d7071fba60 | ||
|
|
76585991ec | ||
|
|
da6efcf733 | ||
|
|
64b0770cfb | ||
|
|
1ec83a3236 | ||
|
|
9bace8e58b | ||
|
|
c0afcaf3f6 | ||
|
|
53edf06476 | ||
|
|
255e9e4095 | ||
|
|
03f923c6e2 | ||
|
|
4685ef7439 | ||
|
|
626cfb80b4 | ||
|
|
9591fbff08 | ||
|
|
fbda00f059 | ||
|
|
1907e7e59c | ||
|
|
ffe7b04bea | ||
|
|
fe0a662afd | ||
|
|
df9fad088f | ||
|
|
319584d911 | ||
|
|
7d5a660f4d | ||
|
|
f7f0cbf318 | ||
|
|
841c0731aa | ||
|
|
137cd25267 | ||
|
|
2d40b2dfe5 | ||
|
|
e32b713742 | ||
|
|
4dcd16c41e | ||
|
|
60497fe59d | ||
|
|
8536945a60 | ||
|
|
e0a8d8258c | ||
|
|
988357fb55 | ||
|
|
fe19cdb5e4 | ||
|
|
c4654a9619 | ||
|
|
0a123a652b | ||
|
|
5d437c29b2 | ||
|
|
53f345ab1d | ||
|
|
2644b638d1 | ||
|
|
8785282133 | ||
|
|
35c084af1d | ||
|
|
b63488baba | ||
|
|
7e5f21b28e | ||
|
|
8d41bafb93 | ||
|
|
6f5049efd5 | ||
|
|
6dd6b636e5 | ||
|
|
8488d530f3 | ||
|
|
6c61d5cdf5 | ||
|
|
8036455c2d | ||
|
|
bf44eeab3d | ||
|
|
0cd185696d | ||
|
|
339697437a | ||
|
|
e0b15fe971 | ||
|
|
afc5ea43da | ||
|
|
bb337e819e | ||
|
|
160dd10f77 | ||
|
|
49b096fef6 | ||
|
|
4828b840cb | ||
|
|
67af70448b | ||
|
|
946acf5245 | ||
|
|
390b3a835a | ||
|
|
2842bf9a91 | ||
|
|
8a0e10f6f4 | ||
|
|
67efa82b91 | ||
|
|
546d6b87ea | ||
|
|
d012d19253 | ||
|
|
e925ed9ea4 | ||
|
|
0c05809d7d | ||
|
|
29f1631950 | ||
|
|
9c0c58035a | ||
|
|
f4262569dd | ||
|
|
99cf6eae49 | ||
|
|
0488546706 | ||
|
|
dc32cd71e5 | ||
|
|
efdfd5d13c | ||
|
|
d31cab76f0 | ||
|
|
00ed202127 | ||
|
|
aaa4ca297d | ||
|
|
629871e683 | ||
|
|
a237c651c3 | ||
|
|
4f9b0d9d59 | ||
|
|
b701a0b504 | ||
|
|
39036202bb | ||
|
|
4225ad83e7 | ||
|
|
38c4e0ede1 | ||
|
|
25a64c703f | ||
|
|
ab5871add7 | ||
|
|
2b0e009f6a | ||
|
|
9b6ea99eea | ||
|
|
c4cf545d85 | ||
|
|
1edd717432 | ||
|
|
5b88af6158 | ||
|
|
e995d894d8 | ||
|
|
5f56512e56 | ||
|
|
24e4930fc1 | ||
|
|
541728805f | ||
|
|
9e4bac1386 | ||
|
|
ed8d32d050 | ||
|
|
7fb66bc58b | ||
|
|
58c06fba86 | ||
|
|
3cf27a068a | ||
|
|
7cfbea3f60 | ||
|
|
7907e33431 | ||
|
|
89f3078ce5 | ||
|
|
f3ce69b656 | ||
|
|
43555cdabe | ||
|
|
651bf3a303 | ||
|
|
4cde1a8a7d | ||
|
|
405efcac0b | ||
|
|
8397de0dca | ||
|
|
06b58e6495 | ||
|
|
24db4006cf | ||
|
|
84009c5e9b | ||
|
|
e32afde973 | ||
|
|
fecffac573 | ||
|
|
b4448e013c | ||
|
|
c3f06a6272 | ||
|
|
2be724f780 | ||
|
|
bf78326c96 | ||
|
|
4ca8722c6e | ||
|
|
e56e1eb687 | ||
|
|
5a5c302bdc | ||
|
|
997dc85985 | ||
|
|
09ef851372 | ||
|
|
7c4987d84d | ||
|
|
5cebf5540a | ||
|
|
3df2f8e58c | ||
|
|
a642d36a23 | ||
|
|
72bceec62d | ||
|
|
3d32314e80 | ||
|
|
7259830ac1 | ||
|
|
daa87c0dc7 | ||
|
|
a2ee55e0e9 | ||
|
|
de6aeac243 | ||
|
|
f640b4a87f | ||
|
|
3747db08d4 | ||
|
|
ab4677ac0e | ||
|
|
172d55311e | ||
|
|
3ce25e2ac8 | ||
|
|
388ded9aa5 | ||
|
|
767d3e1944 | ||
|
|
ec1d6c7430 | ||
|
|
8abeae5e63 | ||
|
|
cc90d9ec9b | ||
|
|
6b5de00fb0 | ||
|
|
5ed96fb0ce | ||
|
|
a73af1d578 | ||
|
|
5867a27901 | ||
|
|
8f7bffc349 | ||
|
|
21ee22d4f5 | ||
|
|
fb72132a4b | ||
|
|
ca904c15d9 | ||
|
|
682863f83e | ||
|
|
acd722678e | ||
|
|
3750977f41 | ||
|
|
9b401059b0 | ||
|
|
6a3ef5c860 | ||
|
|
a36518a8f0 | ||
|
|
a5eb4b0a72 | ||
|
|
b5c0876dd4 | ||
|
|
9745d12ac8 | ||
|
|
5c72e5a452 | ||
|
|
600f4b2106 | ||
|
|
c12d37fe0a | ||
|
|
bba8d00ba2 | ||
|
|
78665ffbfa | ||
|
|
d41c8c70c3 | ||
|
|
f13e5d449c | ||
|
|
d256998677 | ||
|
|
4aaf04ce74 | ||
|
|
ecfca9419a | ||
|
|
dfd6764320 | ||
|
|
73bf5274f5 | ||
|
|
fc38a42587 | ||
|
|
9b255964fe | ||
|
|
29f55ca1a0 | ||
|
|
6a5fb8faff | ||
|
|
5c225c8d42 | ||
|
|
c1c5fc978b | ||
|
|
ffd19f591d | ||
|
|
81a41a7f31 | ||
|
|
1c9b704ecc | ||
|
|
edf1fdedf0 | ||
|
|
8484649071 | ||
|
|
1e68248611 | ||
|
|
b3e35c5838 | ||
|
|
ddd4ba8135 | ||
|
|
539544d0de | ||
|
|
123b5d098b | ||
|
|
796a9ca11f | ||
|
|
2872ef3ccb | ||
|
|
06a772e344 | ||
|
|
e99666f4c0 | ||
|
|
bd243d79e2 | ||
|
|
18b4b23f79 | ||
|
|
071a9d5104 | ||
|
|
61ebd1b16e | ||
|
|
9836c988a0 | ||
|
|
03d7738032 | ||
|
|
98aa474975 | ||
|
|
7bd6b66551 | ||
|
|
727e50648e | ||
|
|
0b2b20caeb | ||
|
|
6cc64b4454 | ||
|
|
349bc89851 | ||
|
|
7046d05f63 | ||
|
|
cef21ac8b5 | ||
|
|
2ae7e562bb | ||
|
|
e4b998c608 | ||
|
|
9b7aacc934 | ||
|
|
7027f39c48 | ||
|
|
9f6f872536 | ||
|
|
cb03b153ac | ||
|
|
e5d7a0cb10 | ||
|
|
bf65bc9462 | ||
|
|
b48b9765cd | ||
|
|
7cce02f74d | ||
|
|
3dc3672406 | ||
|
|
bbfe095045 | ||
|
|
65c1001751 | ||
|
|
5212bde021 | ||
|
|
9059f42b03 | ||
|
|
3b9f5d6f5c | ||
|
|
0aff344bc0 | ||
|
|
4715f34e15 | ||
|
|
59386ed4b7 | ||
|
|
21dee4abac | ||
|
|
e378d89477 | ||
|
|
b04c1206e4 | ||
|
|
639bc0e8db | ||
|
|
9a850d388d | ||
|
|
6c5c374139 | ||
|
|
0b05f8b83c | ||
|
|
63d5b775e6 | ||
|
|
cb16de63df | ||
|
|
31a4a0814e | ||
|
|
14302ed240 | ||
|
|
31c55f772d | ||
|
|
f0f34df13c | ||
|
|
1a877340d3 | ||
|
|
f7e43fa1c1 | ||
|
|
906906102b | ||
|
|
245a5175a8 | ||
|
|
f427014f52 | ||
|
|
0465a71d86 | ||
|
|
3de8a18ef9 | ||
|
|
e317d0c808 | ||
|
|
ff482ffe28 | ||
|
|
82588f3e16 | ||
|
|
069f1a7b7a | ||
|
|
807137d3b1 | ||
|
|
c03c154fc4 | ||
|
|
698ff9e918 | ||
|
|
8bf6a22db8 | ||
|
|
497d45129c | ||
|
|
0b22b694e6 | ||
|
|
ee5516bb91 | ||
|
|
e90b98e629 | ||
|
|
ff382d2029 | ||
|
|
4a37f85a51 | ||
|
|
6bdc833413 | ||
|
|
17a64a9402 | ||
|
|
a22b0797b1 | ||
|
|
f3b351245a | ||
|
|
0cb74c5fde | ||
|
|
9a828d4966 | ||
|
|
4845c1ad5d | ||
|
|
6159786dfe | ||
|
|
b473062f40 | ||
|
|
6c08f33ebb | ||
|
|
63e7eacae9 | ||
|
|
f4ab588516 | ||
|
|
3ded0d21d0 | ||
|
|
9ee8fb1894 | ||
|
|
72b1600cd4 | ||
|
|
04a59c5e21 | ||
|
|
c8f990d541 | ||
|
|
5b0bf99cbf | ||
|
|
8e227a3286 | ||
|
|
54f855e738 | ||
|
|
65a70c09c1 | ||
|
|
f25d78a87d | ||
|
|
79f39db502 | ||
|
|
a46e7759b2 | ||
|
|
869e58739f | ||
|
|
f001a50278 | ||
|
|
4c3bc8efdc | ||
|
|
a591e02ffa | ||
|
|
abe787593c | ||
|
|
9b312cd9d7 | ||
|
|
4d8a0ba58f | ||
|
|
66a4e86209 | ||
|
|
92df2472ae | ||
|
|
5f558f3773 | ||
|
|
754bb75e2a | ||
|
|
c84d39a20f | ||
|
|
847d6ecab1 | ||
|
|
8f83ecb9ef | ||
|
|
2f9448dde9 | ||
|
|
6415a66603 | ||
|
|
66567c8f2b | ||
|
|
e1ec0aee69 | ||
|
|
5b5aeb545a | ||
|
|
12c263c1ce | ||
|
|
7f378b12ae | ||
|
|
fac984d299 | ||
|
|
4f3eb7b362 | ||
|
|
d8d0b60cb3 | ||
|
|
19295ba746 | ||
|
|
0d3c978aad | ||
|
|
d2c8632c4f | ||
|
|
b419da427f | ||
|
|
033bf66405 | ||
|
|
c549ea17d8 | ||
|
|
c412dabc54 | ||
|
|
0bd0da2ee4 | ||
|
|
bf58ae0f0f | ||
|
|
e7ed3c300b | ||
|
|
f876457fbd | ||
|
|
a8d714c20d | ||
|
|
86f1bf31b8 | ||
|
|
95f75fdccb | ||
|
|
ac4f327775 | ||
|
|
6c0205c0d9 | ||
|
|
950c0abf9d | ||
|
|
8b66a5ca9e | ||
|
|
5afe1645a0 | ||
|
|
4a82125612 | ||
|
|
3bb19cd324 | ||
|
|
8c121a07aa | ||
|
|
d4c8c63691 | ||
|
|
cf06162be7 | ||
|
|
ea5349c844 | ||
|
|
6007427a6c | ||
|
|
0a889c5db1 | ||
|
|
3d60236b36 | ||
|
|
83009fd0b7 | ||
|
|
b9c7e5f6bb | ||
|
|
1a34ba175e | ||
|
|
bd0bbdea26 | ||
|
|
0b18f86a91 | ||
|
|
e88cd11041 | ||
|
|
194e39fa51 | ||
|
|
1bec376f6d | ||
|
|
9766e590b0 | ||
|
|
685a825881 | ||
|
|
c152304c15 | ||
|
|
b50c5c1363 | ||
|
|
6e6df2c771 | ||
|
|
5f174a883b | ||
|
|
05d494ad11 | ||
|
|
78ed940280 | ||
|
|
189c2b768d | ||
|
|
22b675373a | ||
|
|
e6a55920b5 | ||
|
|
25753b6027 | ||
|
|
7bdb572f91 | ||
|
|
922dcc5de8 | ||
|
|
acdc0ce1b0 | ||
|
|
e57f8a32ce | ||
|
|
c482230995 | ||
|
|
d3a54163bf | ||
|
|
7acb86a83e | ||
|
|
3e6a519c8b | ||
|
|
c3ccd2a6b7 | ||
|
|
94587c3472 | ||
|
|
27b83e471e | ||
|
|
137c219402 | ||
|
|
fe032d3d0f | ||
|
|
d3108ebf65 | ||
|
|
458ddc6e0a | ||
|
|
9c36f30bb0 | ||
|
|
c4dca57614 | ||
|
|
d88633f2c6 | ||
|
|
c64dd0d6ff | ||
|
|
bcbc5da30e | ||
|
|
e588551c33 | ||
|
|
081cae724b | ||
|
|
ae972ba1dd | ||
|
|
32bb6a8087 | ||
|
|
eb27b0305e | ||
|
|
65dbf80f84 | ||
|
|
fd17f3f25c | ||
|
|
3803a16bf5 | ||
|
|
bba51fcd11 | ||
|
|
66cd434839 | ||
|
|
4f49a10aef | ||
|
|
b43194df18 | ||
|
|
cf6549f2a3 | ||
|
|
2a554f6279 | ||
|
|
86139bb47d | ||
|
|
21a646ce66 | ||
|
|
bc673d6f67 | ||
|
|
fca0abd585 | ||
|
|
b6fd92aadd | ||
|
|
e67dbb4758 | ||
|
|
beb84554e1 | ||
|
|
9c89208d83 | ||
|
|
a3be030fac | ||
|
|
7c920dde71 | ||
|
|
b1b01373ca | ||
|
|
39f6fb5af3 | ||
|
|
f8721d3e04 | ||
|
|
a6c7c3b031 | ||
|
|
9bac042498 | ||
|
|
fae091d183 | ||
|
|
2929e01f09 | ||
|
|
8b2fd07a27 | ||
|
|
a9fa017252 | ||
|
|
e1681f0f03 | ||
|
|
5242ad573f | ||
|
|
0d6c237223 | ||
|
|
f43776d27d | ||
|
|
c6638b9fc9 | ||
|
|
2d56522733 | ||
|
|
463fcd17e7 | ||
|
|
ee98637072 | ||
|
|
d9f5d20473 | ||
|
|
2874c45227 | ||
|
|
8a7ceae03a | ||
|
|
f9b1194d16 | ||
|
|
8275aec7d1 | ||
|
|
2593736179 | ||
|
|
68d2e73e7a | ||
|
|
99f63597a8 | ||
|
|
d261fd4efe | ||
|
|
32ebd9b3b9 | ||
|
|
879311c332 | ||
|
|
1650e1bb74 | ||
|
|
58aaf6e002 | ||
|
|
d57bbff87c | ||
|
|
4c99e6000a | ||
|
|
2ec364ed68 | ||
|
|
f05c811bdc | ||
|
|
e609714f1e | ||
|
|
6c7b1c6c7c | ||
|
|
1be580807f | ||
|
|
766b166bf2 | ||
|
|
de72652297 | ||
|
|
73efe0d0ed | ||
|
|
ed46fd3cef | ||
|
|
c89e558143 | ||
|
|
249fe8c7fe | ||
|
|
a8408a11d9 | ||
|
|
6d945371c9 | ||
|
|
28d8fa9834 | ||
|
|
d7b9402528 | ||
|
|
42ce03ea5a | ||
|
|
f5099c15a1 | ||
|
|
0f1f237019 | ||
|
|
b98476c36a | ||
|
|
aeddf2d554 | ||
|
|
4b4a31dc57 | ||
|
|
fa7e6d7c2f | ||
|
|
82d2e00027 | ||
|
|
536a6ba2ff | ||
|
|
95ab755253 | ||
|
|
b9d6fdafac | ||
|
|
7999a4bdda | ||
|
|
50da20907f | ||
|
|
a773cfffa5 | ||
|
|
648386281f | ||
|
|
3674f3a4d6 | ||
|
|
1fea9dcf29 | ||
|
|
fb2a4d91e1 | ||
|
|
3e1063306f | ||
|
|
4d2354df47 | ||
|
|
7104fb0461 | ||
|
|
fbbbebbbd0 | ||
|
|
d18e315a28 | ||
|
|
d47efec45f | ||
|
|
4035c9a08d | ||
|
|
c5f3c61275 | ||
|
|
9436477f41 | ||
|
|
43d48520be | ||
|
|
1d1a3cede1 | ||
|
|
da8955dabb | ||
|
|
5dbf18605f | ||
|
|
ba01c5056e | ||
|
|
5ea7a31c6d | ||
|
|
e0a9eb0366 | ||
|
|
14e8e14b7d | ||
|
|
179de344c2 | ||
|
|
1250949c05 | ||
|
|
e12105f5b9 | ||
|
|
b8cc0cd11b | ||
|
|
be39dfee9e | ||
|
|
67ae2b19df | ||
|
|
7b9abef687 | ||
|
|
ac1637eaf8 | ||
|
|
1288660fd6 | ||
|
|
5c1e24f4f3 | ||
|
|
bd84793780 | ||
|
|
9922c0ed66 |
@@ -11,6 +11,7 @@ jobs:
|
||||
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: |
|
||||
@@ -61,7 +62,7 @@ jobs:
|
||||
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
|
||||
|
||||
BIN
.github/sponsors/hostinger.jpg
vendored
Normal file
BIN
.github/sponsors/hostinger.jpg
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 173 KiB |
BIN
.github/sponsors/logo.png
vendored
Normal file
BIN
.github/sponsors/logo.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 39 KiB |
BIN
.github/sponsors/lxaer.png
vendored
Normal file
BIN
.github/sponsors/lxaer.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 248 KiB |
50
.github/workflows/deploy.yml
vendored
50
.github/workflows/deploy.yml
vendored
@@ -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
|
||||
3
.github/workflows/pull-request.yml
vendored
3
.github/workflows/pull-request.yml
vendored
@@ -18,6 +18,7 @@ jobs:
|
||||
node-version: 18.18.0
|
||||
cache: "pnpm"
|
||||
- run: pnpm install --frozen-lockfile
|
||||
- run: pnpm run server:build
|
||||
- run: pnpm biome ci
|
||||
- run: pnpm typecheck
|
||||
|
||||
@@ -32,6 +33,7 @@ jobs:
|
||||
node-version: 18.18.0
|
||||
cache: "pnpm"
|
||||
- run: pnpm install --frozen-lockfile
|
||||
- run: pnpm run server:build
|
||||
- run: pnpm build
|
||||
|
||||
parallel-tests:
|
||||
@@ -44,4 +46,5 @@ jobs:
|
||||
node-version: 18.18.0
|
||||
cache: "pnpm"
|
||||
- run: pnpm install --frozen-lockfile
|
||||
- run: pnpm run server:build
|
||||
- run: pnpm test
|
||||
|
||||
1
.husky/commit-msg
Normal file
1
.husky/commit-msg
Normal file
@@ -0,0 +1 @@
|
||||
npx commitlint --edit "$1"
|
||||
6
.husky/install.mjs
Normal file
6
.husky/install.mjs
Normal file
@@ -0,0 +1,6 @@
|
||||
// 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());
|
||||
2
.husky/pre-commit
Normal file
2
.husky/pre-commit
Normal file
@@ -0,0 +1,2 @@
|
||||
pnpm run check
|
||||
git add .
|
||||
@@ -71,6 +71,11 @@ 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
|
||||
@@ -237,30 +242,7 @@ export function generate(schema: Schema): Template {
|
||||
- If you want to show a domain in the UI, please add the prefix \_HOST 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:
|
||||
To contribute to the Dokploy docs or website, please go to this [repository](https://github.com/Dokploy/website).
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
@@ -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 apache2-utils && rm -rf /var/lib/apt/lists/*
|
||||
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
|
||||
@@ -42,7 +44,7 @@ COPY --from=build /prod/dokploy/node_modules ./node_modules
|
||||
|
||||
|
||||
# Install docker
|
||||
RUN curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh && rm get-docker.sh
|
||||
RUN curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh && rm get-docker.sh && curl https://rclone.org/install.sh | bash
|
||||
|
||||
# Install Nixpacks and tsx
|
||||
# | VERBOSE=1 VERSION=1.21.0 bash
|
||||
@@ -55,4 +57,4 @@ RUN curl -sSL https://nixpacks.com/install.sh -o install.sh \
|
||||
COPY --from=buildpacksio/pack:0.35.0 /usr/local/bin/pack /usr/local/bin/pack
|
||||
|
||||
EXPOSE 3000
|
||||
CMD [ "pnpm", "start" ]
|
||||
CMD [ "pnpm", "start" ]
|
||||
61
Dockerfile.cloud
Normal file
61
Dockerfile.cloud
Normal file
@@ -0,0 +1,61 @@
|
||||
FROM node:18-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 && 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" ]
|
||||
@@ -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
36
Dockerfile.schedule
Normal file
@@ -0,0 +1,36 @@
|
||||
FROM node:18-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 && 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
36
Dockerfile.server
Normal file
@@ -0,0 +1,36 @@
|
||||
FROM node:18-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 && 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
|
||||
@@ -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
|
||||
@@ -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 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 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 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 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.
|
||||
|
||||
43
README.md
43
README.md
@@ -1,42 +1,43 @@
|
||||
<div align="center">
|
||||
<h1 align="center">Dokploy</h1>
|
||||
<div>
|
||||
<img style="object-fit: cover; border-radius:20px;" align="center" width="50%"src="https://dokploy.com/og.png" >
|
||||
|
||||
<a href="https://dokploy.com" target="_blank" rel="noopener">
|
||||
<img style="object-fit: cover;" align="center" width="100%"src=".github/sponsors/logo.png" alt="Dokploy - Open Source Alternative to Vercel, Heroku and Netlify." />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</br>
|
||||
<div align="center">
|
||||
<div>Join us on Discord for help, feedback, and discussions!</div>
|
||||
</br>
|
||||
<a href="https://discord.gg/ZXwG32bw">
|
||||
<a href="https://discord.gg/2tBnJ3jDJc">
|
||||
<img src="https://discordapp.com/api/guilds/1234073262418563112/widget.png?style=banner2" alt="Discord Shield"/>
|
||||
</a>
|
||||
</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:
|
||||
|
||||
```bash
|
||||
curl -sSL https://dokploy.com/install.sh | sh
|
||||
@@ -56,6 +57,17 @@ For detailed documentation, visit [docs.dokploy.com](https://docs.dokploy.com).
|
||||
|
||||
<!-- Add Hero Sponsors here -->
|
||||
|
||||
### Hero Sponsors 🎖
|
||||
|
||||
<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;">
|
||||
<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;">
|
||||
<img src=".github/sponsors/lxaer.png" alt="LX Aer" height="50"/>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
### Premium Supporters 🥇
|
||||
|
||||
<div style="display: flex; gap: 30px; flex-wrap: wrap;">
|
||||
@@ -77,6 +89,9 @@ For detailed documentation, visit [docs.dokploy.com](https://docs.dokploy.com).
|
||||
|
||||
<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:
|
||||
|
||||
2
apps/api/.env.example
Normal file
2
apps/api/.env.example
Normal file
@@ -0,0 +1,2 @@
|
||||
LEMON_SQUEEZY_API_KEY=""
|
||||
LEMON_SQUEEZY_STORE_ID=""
|
||||
28
apps/api/.gitignore
vendored
Normal file
28
apps/api/.gitignore
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
# dev
|
||||
.yarn/
|
||||
!.yarn/releases
|
||||
.vscode/*
|
||||
!.vscode/launch.json
|
||||
!.vscode/*.code-snippets
|
||||
.idea/workspace.xml
|
||||
.idea/usage.statistics.xml
|
||||
.idea/shelf
|
||||
|
||||
# deps
|
||||
node_modules/
|
||||
|
||||
# env
|
||||
.env
|
||||
.env.production
|
||||
|
||||
# logs
|
||||
logs/
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
8
apps/api/README.md
Normal file
8
apps/api/README.md
Normal file
@@ -0,0 +1,8 @@
|
||||
```
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
```
|
||||
open http://localhost:3000
|
||||
```
|
||||
33
apps/api/package.json
Normal file
33
apps/api/package.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"name": "@dokploy/api",
|
||||
"version": "0.0.1",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "PORT=4000 tsx watch src/index.ts",
|
||||
"build": "tsc --project tsconfig.json",
|
||||
"start": "node --experimental-specifier-resolution=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",
|
||||
"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"
|
||||
}
|
||||
61
apps/api/src/index.ts
Normal file
61
apps/api/src/index.ts
Normal file
@@ -0,0 +1,61 @@
|
||||
import { serve } from "@hono/node-server";
|
||||
import { Hono } from "hono";
|
||||
import "dotenv/config";
|
||||
import { zValidator } from "@hono/zod-validator";
|
||||
import { Queue } from "@nerimity/mimiqueue";
|
||||
import { createClient } from "redis";
|
||||
import { logger } from "./logger";
|
||||
import { type DeployJob, deployJobSchema } from "./schema";
|
||||
import { deploy } from "./utils";
|
||||
|
||||
const app = new Hono();
|
||||
const redisClient = createClient({
|
||||
url: process.env.REDIS_URL,
|
||||
});
|
||||
|
||||
app.use(async (c, next) => {
|
||||
if (c.req.path === "/health") {
|
||||
return next();
|
||||
}
|
||||
const authHeader = c.req.header("X-API-Key");
|
||||
|
||||
if (process.env.API_KEY !== authHeader) {
|
||||
return c.json({ message: "Invalid API Key" }, 403);
|
||||
}
|
||||
|
||||
return next();
|
||||
});
|
||||
|
||||
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
10
apps/api/src/logger.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import pino from "pino";
|
||||
|
||||
export const logger = pino({
|
||||
transport: {
|
||||
target: "pino-pretty",
|
||||
options: {
|
||||
colorize: true,
|
||||
},
|
||||
},
|
||||
});
|
||||
24
apps/api/src/schema.ts
Normal file
24
apps/api/src/schema.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
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),
|
||||
}),
|
||||
]);
|
||||
|
||||
export type DeployJob = z.infer<typeof deployJobSchema>;
|
||||
62
apps/api/src/utils.ts
Normal file
62
apps/api/src/utils.ts
Normal file
@@ -0,0 +1,62 @@
|
||||
import {
|
||||
deployRemoteApplication,
|
||||
deployRemoteCompose,
|
||||
rebuildRemoteApplication,
|
||||
rebuildRemoteCompose,
|
||||
updateApplicationStatus,
|
||||
updateCompose,
|
||||
} from "@dokploy/server";
|
||||
import type { DeployJob } from "./schema";
|
||||
|
||||
export const deploy = async (job: DeployJob) => {
|
||||
try {
|
||||
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",
|
||||
});
|
||||
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
if (job.applicationType === "application") {
|
||||
await updateApplicationStatus(job.applicationId, "error");
|
||||
} else if (job.applicationType === "compose") {
|
||||
await updateCompose(job.composeId, {
|
||||
composeStatus: "error",
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
18
apps/api/tsconfig.json
Normal file
18
apps/api/tsconfig.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ESNext",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "Node",
|
||||
"strict": true,
|
||||
"skipLibCheck": true,
|
||||
"outDir": "dist",
|
||||
"jsx": "react-jsx",
|
||||
"jsxImportSource": "hono/jsx",
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["./*"],
|
||||
"@dokploy/server/*": ["../../packages/server/src/*"]
|
||||
}
|
||||
},
|
||||
"exclude": ["node_modules", "dist"]
|
||||
}
|
||||
31
apps/docs/.gitignore
vendored
31
apps/docs/.gitignore
vendored
@@ -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
|
||||
@@ -1,4 +0,0 @@
|
||||
/** Auto-generated **/
|
||||
declare const map: Record<string, unknown>;
|
||||
|
||||
export { map };
|
||||
@@ -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.
|
||||
9309
apps/docs/api.json
9309
apps/docs/api.json
File diff suppressed because it is too large
Load Diff
@@ -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: "@siumauricio",
|
||||
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;
|
||||
}
|
||||
@@ -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: "Chinese",
|
||||
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>
|
||||
);
|
||||
}
|
||||
@@ -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,
|
||||
})),
|
||||
};
|
||||
}),
|
||||
});
|
||||
@@ -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%;
|
||||
}
|
||||
@@ -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 |
@@ -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" />
|
||||
</>
|
||||
),
|
||||
},
|
||||
],
|
||||
};
|
||||
@@ -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",
|
||||
};
|
||||
}
|
||||
@@ -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,
|
||||
};
|
||||
}),
|
||||
];
|
||||
}
|
||||
@@ -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),
|
||||
});
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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 };
|
||||
@@ -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": []
|
||||
},
|
||||
]
|
||||
```
|
||||
@@ -1,33 +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-user"
|
||||
]
|
||||
}
|
||||
@@ -1,933 +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 of string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"accesedServices"} type={"array of 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>
|
||||
|
||||
| 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
|
||||
}'
|
||||
```
|
||||
|
||||
</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>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/admin.cleanGithubApp"}>
|
||||
|
||||
## admin-cleanGithubApp
|
||||
|
||||
### 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 POST "http://localhost:3000/api/admin.cleanGithubApp"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/admin.cleanGithubApp", {
|
||||
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.getRepositories"}>
|
||||
|
||||
## admin-getRepositories
|
||||
|
||||
### 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.getRepositories"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/admin.getRepositories", {
|
||||
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={"/admin.getBranches"}>
|
||||
|
||||
## admin-getBranches
|
||||
|
||||
### 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>
|
||||
|
||||
| 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.getBranches?repo=string&owner=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/admin.getBranches?repo=string&owner=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={"/admin.haveGithubConfigured"}>
|
||||
|
||||
## admin-haveGithubConfigured
|
||||
|
||||
### 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.haveGithubConfigured"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/admin.haveGithubConfigured", {
|
||||
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
File diff suppressed because it is too large
Load Diff
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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
@@ -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>
|
||||
@@ -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>
|
||||
@@ -1,398 +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={"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?appName=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/docker.getContainersByAppNameMatch?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>
|
||||
@@ -1,772 +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={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"port"} type={"number | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"https"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"certificateType"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"letsencrypt" | "none"`</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": 0,
|
||||
"https": true,
|
||||
"applicationId": "string",
|
||||
"certificateType": "letsencrypt"
|
||||
}'
|
||||
```
|
||||
|
||||
</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={"POST"} route={"/domain.generateDomain"}>
|
||||
|
||||
## domain-generateDomain
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<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/domain.generateDomain" \
|
||||
-d '{
|
||||
"applicationId": "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.generateWildcard"}>
|
||||
|
||||
## domain-generateWildcard
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<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/domain.generateWildcard" \
|
||||
-d '{
|
||||
"applicationId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/domain.generateWildcard", {
|
||||
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={"domainId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"host"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"path"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"port"} type={"number | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"https"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"certificateType"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"letsencrypt" | "none"`</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.update" \
|
||||
-d '{
|
||||
"domainId": "string",
|
||||
"host": "string",
|
||||
"path": "string",
|
||||
"port": 0,
|
||||
"https": true,
|
||||
"certificateType": "letsencrypt"
|
||||
}'
|
||||
```
|
||||
|
||||
</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}>
|
||||
|
||||
<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.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}>
|
||||
|
||||
<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.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>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,522 +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={"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",
|
||||
"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={"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",
|
||||
"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
@@ -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
@@ -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>
|
||||
@@ -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
@@ -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>
|
||||
@@ -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
@@ -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>
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
```
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"title": "CLI",
|
||||
"root": true,
|
||||
"pages": [
|
||||
"---Get Started---",
|
||||
"index",
|
||||
"---Commands---",
|
||||
"commands/authentication",
|
||||
"commands/project",
|
||||
"commands/application",
|
||||
"commands/databases"
|
||||
]
|
||||
}
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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>
|
||||
|
||||
通过选择适当的构建类型,您可以定制部署过程,以最适合您的应用程序的要求和您的操作偏好。
|
||||
@@ -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.
|
||||
@@ -1,48 +0,0 @@
|
||||
---
|
||||
title: Domains
|
||||
description: Domains
|
||||
---
|
||||
|
||||
This section outlines how to configure domains for your applications in Dokploy, ensuring that your applications are accessible via custom URLs.
|
||||
|
||||
|
||||
### Add Domain
|
||||
|
||||
Associate custom domains with your application to make it accessible over the internet.
|
||||
|
||||
- **Host**: The domain name that you want to link to your application (e.g., `api.dokploy.com`).
|
||||
- **Path**: The specific path within the domain where the application should be accessible.
|
||||
- **Container Port**: The port on the container that the domain should route to.
|
||||
- **Certificate**: Select whether to secure the domain with SSL/TLS certificates. Dokploy supports automatic provisioning of SSL certificates via Let's Encrypt.
|
||||
- **HTTPS**: Toggle this on to enable HTTPS for your domain, providing secure, encrypted connections.
|
||||
|
||||
#### Steps to Add a Domain
|
||||
1. Click 'Add Domain'.
|
||||
2. Fill in the domain details, including host, path, and port.
|
||||
3. Choose to enable HTTPS and select a certificate option.
|
||||
4. Click 'Create' to apply the settings.
|
||||
|
||||
### Generate Domain
|
||||
|
||||
Quickly set up a domain for development or testing purposes without needing to register a domain.
|
||||
|
||||
- **Generate TraefikMe Domain**: Creates a free domain provided by TraefikMe. This is ideal for testing or temporary access before a proper domain is purchased.
|
||||
|
||||
#### Steps to Generate a Domain
|
||||
1. Click 'Generate Domain'.
|
||||
2. Choose 'Generate TraefikMe Domain' for a quick setup.
|
||||
3. A domain will be automatically assigned to your application.
|
||||
|
||||
### Managing Domains
|
||||
|
||||
- **View and Modify**: Existing domains are listed with options to edit settings or remove them.
|
||||
- **Details**: Each domain entry shows the configured host, path, port, and whether HTTPS is enabled.
|
||||
|
||||
### Note
|
||||
|
||||
Proper domain configuration is crucial for the accessibility and security of your application. Always verify domain settings and ensure that DNS configurations are properly set up to point to the correct IP addresses. Enable HTTPS to enhance security and trust, especially for production environments.
|
||||
|
||||
|
||||
### Important Clarification on Container Ports
|
||||
|
||||
The "Container Port" specified in the domain settings is exclusively for routing traffic to the correct application container through Traefik, and does not expose the port directly to the internet. This is fundamentally different from the port settings in the "Advanced -> Ports" section, which are used to directly expose application ports. The container port in the domain settings ensures that Traefik can internally direct traffic to the specified port within the container based on the domain configuration.
|
||||
@@ -1,41 +0,0 @@
|
||||
---
|
||||
title: 概述
|
||||
description: "探索 Dokploy 中可用的多种部署方法,包括 GitHub、Git、Docker 以及通过 webhook 的自动化部署。"
|
||||
---
|
||||
|
||||
Dokploy 提供了多种部署应用程序的方法,无论您使用 GitHub、任何 Git 提供商、Docker 还是自动化部署,都可以简化流程。
|
||||
|
||||
- Github
|
||||
- Git (Any Git Provider)
|
||||
- Docker
|
||||
|
||||
## GitHub
|
||||
|
||||
通过 GitHub 部署很简单:
|
||||
|
||||
1. 在以下配置您的 GitHub 存储库 `/dashboard/settings/server`.
|
||||
2. 创建应用程序时,Dokploy 会自动加载可用的存储库和分支。
|
||||
|
||||
## Git
|
||||
|
||||
对于来自任何 Git 存储库(公共或私有)的部署,您可以使用 SSL 或 HTTPS:
|
||||
|
||||
1. 提供存储库 URL。
|
||||
2. 指定您要部署的分支。
|
||||
|
||||
## Docker
|
||||
|
||||
对于 Docker 部署:
|
||||
|
||||
- 指定 Docker 镜像。对于私人存储库,您需要提供用户名和密码。
|
||||
|
||||
## 自动部署
|
||||
|
||||
设置自动部署:
|
||||
|
||||
1. 导航至`deployments`选项卡并复制`Webhook URL`。
|
||||
2. 在 Git 提供商的设置中,将此 URL 粘贴到 Webhook URL 字段中。
|
||||
3. 选择应该触发部署的事件,例如`Push`。
|
||||
4. 配置后,任何指定的操作(例如推送新提交)都将自动触发部署。
|
||||
|
||||
Dokploy 支持 GitHub、GitLab、Bitbucket、Gitea 和 DockerHub 的 webhook。
|
||||
@@ -1,56 +0,0 @@
|
||||
---
|
||||
title: Overview
|
||||
description: "Explore the multiple deployment methods available in Dokploy, including GitHub, Git, Docker, and automated deployments via webhooks."
|
||||
---
|
||||
|
||||
Applications in Dokploy are treated as a single service or container, making it easy and intuitive for users to work with each application in its own workspace.
|
||||
|
||||
We offer multiple functionalities that you can use to manage your applications, such as:
|
||||
|
||||
## General
|
||||
|
||||
Configure the source of your code, the way your application is built, and also manage actions like deploying, updating, and deleting your application, and stopping it.
|
||||
|
||||
## Environment
|
||||
|
||||
If you need to assign environment variables to your application, you can do so here.
|
||||
|
||||
## Monitoring
|
||||
|
||||
Four graphs will be displayed for the use of memory, CPU, disk, and network. Note that the information is only updated if you are viewing the current page, otherwise it will not be updated.
|
||||
|
||||
## Logs
|
||||
|
||||
If you want to see any important logs from your application that is running, you can do so here and determine if your application is displaying any errors or not.
|
||||
|
||||
## Deployments
|
||||
|
||||
You can view the last 10 deployments of your application. When you deploy your application in real time, a new deployment record will be created and it will gradually show you how your application is being built.
|
||||
|
||||
We also offer a button to cancel deployments that are in queue. Note that those in progress cannot be canceled.
|
||||
|
||||
We provide a webhook so that you can trigger your own deployments by pushing to your GitHub, Gitea, GitLab, Bitbucket, DockerHub repository.
|
||||
|
||||
## Domains
|
||||
|
||||
This is where you will assign your domain so that your application can be accessed from the internet.
|
||||
|
||||
There are two ways to assign a domain:
|
||||
|
||||
1. Create a custom domain.
|
||||
2. Use a generated domain, we use traefik.me to generate free domains.
|
||||
|
||||
## Advanced Settings
|
||||
|
||||
This section provides advanced configuration options for experienced users. It includes tools for custom commands within the container, managing Docker Swarm settings, and adjusting cluster settings such as replicas and registry selection. These tools are typically not required for standard application deployment and are intended for complex management and troubleshooting tasks.
|
||||
|
||||
- **Run Command**: Execute custom commands directly in the container for advanced management or troubleshooting.
|
||||
- **Cluster Settings**: Configure the number of replicas and select the Docker registry for your deployment to manage how your application scales and where it pulls images from.
|
||||
- **Swarm Settings**: Access additional Docker Swarm configurations for detailed orchestration and scaling across multiple nodes.
|
||||
- **Resources**: Adjust the CPU and memory allocation for your application.
|
||||
- **Volumes**: To ensure data persistence across deployments, configure storage volumes for your application.
|
||||
- **Ports**: Expose your application to the internet by configuring network ports.
|
||||
- **Traefik**: Modify Traefik settings to manage HTTP request handling for your application.
|
||||
|
||||
### Note
|
||||
Adjust these settings carefully as incorrect configurations can significantly impact your application’s functionality and availability.
|
||||
@@ -1,42 +0,0 @@
|
||||
---
|
||||
title: Providers
|
||||
description: Learn how to use providers in your application.
|
||||
---
|
||||
|
||||
Dokploy offers several deployment methods, streamlining the process whether you're utilizing GitHub, any Git provider, Docker, or automated deployments.
|
||||
|
||||
- GitHub
|
||||
- Git (Any Git Provider)
|
||||
- Docker
|
||||
|
||||
## GitHub
|
||||
|
||||
Deploying via GitHub is straightforward:
|
||||
|
||||
1. Configure your GitHub repository in the `/dashboard/settings/server`.
|
||||
2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
|
||||
|
||||
## Git
|
||||
|
||||
For deployments from any Git repository, whether public or private, you can use either SSH or HTTPS:
|
||||
|
||||
1. Enter the repository URL.
|
||||
2. Specify the branch you wish to deploy.
|
||||
|
||||
### Private Repositories
|
||||
|
||||
For private repositories, authenticate using SSH. We provide a lock icon to generate an SSH key.
|
||||
|
||||
<ImageZoom src="/assets/dokploy-ssh-key.png" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
You can then copy the SSH key and paste it into the settings of your account.
|
||||
|
||||
<ImageZoom src="/assets/private-repository.png" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
This enables you to pull repositories from your private repository, a method consistent across nearly all providers.
|
||||
|
||||
## Docker
|
||||
|
||||
For Docker deployments:
|
||||
|
||||
- Provide a Docker image. For private repositories, enter the username and password.
|
||||
@@ -1,96 +0,0 @@
|
||||
---
|
||||
title: Cluster (Advanced)
|
||||
description: "Learn how to set up and manage a cluster in Dokploy with docker swarm."
|
||||
sidebar:
|
||||
order: 1
|
||||
---
|
||||
|
||||
|
||||
For most suitables cases you may not need to use a cluster, unless you need to scale your application.
|
||||
A cluster is a group of nodes that work together to provide a single, unified service. In Dokploy, clusters manage a group of servers collaborating to deliver this unified service.
|
||||
|
||||
We use traefik under the hood to load balance the traffic to the application.
|
||||
|
||||
|
||||
We recommend to read the [Traefik Docs](https://doc.traefik.io/traefik/routing/providers/swarm/) before using a cluster, to have a better understanding of how it works.
|
||||
|
||||
To start adding nodes to your cluster, you need a registry. The nodes require the registry to pull images .
|
||||
|
||||
## Requirements
|
||||
|
||||
- A server with Dokploy installed.
|
||||
- A registry to store your images.
|
||||
- Additional servers (VPS) to add as nodes.
|
||||
|
||||
## Registry Options
|
||||
|
||||
We provide two methods to add a registry to your cluster:
|
||||
|
||||
- **Custom Registry (Free)**: Set up a private registry on your server.
|
||||
- **External Registry (Paid)**: Use external registries like Docker Hub, DigitalOcean, AWS ECR, etc.
|
||||
|
||||
|
||||
You can see you can add two types of registries:
|
||||
|
||||
<ImageZoom src="/assets/images/cluster/registry.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
|
||||
## Adding Nodes to a Cluster
|
||||
|
||||
Once you have a registry, you can add nodes to your cluster by following these steps:
|
||||
|
||||
1. Click the `Add Node` button.
|
||||
2. You will see two tabs: `Worker` and `Manager`.
|
||||
3. Select the type of node you want to add.
|
||||
4. Follow the two steps provided:
|
||||
- Install the Docker engine.
|
||||
- Install the Dokploy agent. These steps are the same for both node types.
|
||||
5. Run the provided commands on the new server.
|
||||
6. After running the commands, go to `server/settings/cluster`. You will see entries for both the worker and manager nodes in the table.
|
||||
|
||||
<ImageZoom src="/assets/images/cluster/nodes.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
<ImageZoom src="/assets/images/cluster/cluster.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
<ImageZoom src="/assets/images/cluster/application.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
|
||||
## Deploying an Application
|
||||
|
||||
Once you have linked nodes to the cluster, you can deploy an application as follows:
|
||||
|
||||
1. Create an application in a project.
|
||||
2. Fork the repository [Dokploy/swarm-test](https://github.com/Dokploy/swarm-test).
|
||||
3. Save it as a GitHub provider.
|
||||
4. Go to the advanced tab of the application.
|
||||
5. In the "Cluster Settings" section:
|
||||
- Change the number of replicas (default is 1).
|
||||
- Select the registry for the nodes to pull images from.
|
||||
6. Now you can deploy the application to the cluster (By clicking the `Deploy` button).
|
||||
|
||||
|
||||
In fact, this is a straightforward way to achieve multi-node deployments. Traefik will handle load balancing and route traffic to the node where the application is most available.
|
||||
|
||||
To further enhance this setup, you can use load balancers from services like AWS, DigitalOcean, or Google Cloud. These load balancers perform health checks before routing requests to ensure that only healthy nodes receive traffic. If a node fails the health check, the load balancer will automatically route the request to another node. This setup provides a more robust and scalable deployment.
|
||||
|
||||
To add manager nodes to the cluster, follow the same steps as adding a worker node. However, if the manager node (where Dokploy is running) fails, all other nodes will become inaccessible. This is because we currently have a single entry point for the cluster. To ensure high availability, you should have multiple manager nodes.
|
||||
|
||||
To achieve this, you need to replicate all persistent and Traefik information to the new manager nodes. This will create multiple entry points for the cluster. You can use tools like rsync, aws data sync, or any other tool to synchronize all the necessary information between the nodes.
|
||||
|
||||
|
||||
## Customizing the Application
|
||||
|
||||
You can customize the application in the "Swarm Settings" section. Here, you can modify almost every setting related to the swarm application mode.
|
||||
|
||||
In the interface, placeholders and expected formats for each setting are provided. All fields must be JSON values.
|
||||
|
||||
#### Customizable Settings:
|
||||
|
||||
- Healthcheck
|
||||
- Restart Policy
|
||||
- Placement
|
||||
- Update Config
|
||||
- Rollback Config
|
||||
- Mode
|
||||
- Network
|
||||
- Labels
|
||||
|
||||
<ImageZoom src="/assets/images/cluster/swarm-settings.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
@@ -1,98 +0,0 @@
|
||||
---
|
||||
title: Cluster (Advanced)
|
||||
description: "Learn how to set up and manage a cluster in Dokploy with docker swarm."
|
||||
sidebar:
|
||||
order: 1
|
||||
---
|
||||
|
||||
|
||||
For most suitables cases you may not need to use a cluster, unless you need to scale your application.
|
||||
A cluster is a group of nodes that work together to provide a single, unified service. In Dokploy, clusters manage a group of servers collaborating to deliver this unified service.
|
||||
|
||||
We use traefik under the hood to load balance the traffic to the application.
|
||||
|
||||
|
||||
We recommend to read the [Traefik Docs](https://doc.traefik.io/traefik/routing/providers/swarm/) before using a cluster, to have a better understanding of how it works.
|
||||
|
||||
To start adding nodes to your cluster, you need a registry. The nodes require the registry to pull images .
|
||||
|
||||
## Requirements
|
||||
|
||||
- A server with Dokploy installed.
|
||||
- A registry to store your images.
|
||||
- Additional servers (VPS) to add as nodes.
|
||||
|
||||
## Registry Options
|
||||
|
||||
We provide two methods to add a registry to your cluster:
|
||||
|
||||
- **Custom Registry (Free)**: Set up a private registry on your server.
|
||||
- **External Registry (Paid)**: Use external registries like Docker Hub, DigitalOcean, AWS ECR, etc.
|
||||
|
||||
|
||||
You can see you can add two types of registries:
|
||||
|
||||
<ImageZoom src="/assets/images/cluster/registry.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
|
||||
## Adding Nodes to a Cluster
|
||||
|
||||
Once you have a registry, you can add nodes to your cluster by following these steps:
|
||||
|
||||
1. Click the `Add Node` button.
|
||||
2. You will see two tabs: `Worker` and `Manager`.
|
||||
3. Select the type of node you want to add.
|
||||
4. Follow the two steps provided:
|
||||
- Install the Docker engine.
|
||||
- Install the Dokploy agent. These steps are the same for both node types.
|
||||
5. Run the provided commands on the new server.
|
||||
6. After running the commands, go to `server/settings/cluster`. You will see entries for both the worker and manager nodes in the table.
|
||||
|
||||
<ImageZoom src="/assets/images/cluster/nodes.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
<ImageZoom src="/assets/images/cluster/cluster.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
<ImageZoom src="/assets/images/cluster/application.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
{/* 
|
||||

|
||||
 */}
|
||||
|
||||
## Deploying an Application
|
||||
|
||||
Once you have linked nodes to the cluster, you can deploy an application as follows:
|
||||
|
||||
1. Create an application in a project.
|
||||
2. Fork the repository [Dokploy/swarm-test](https://github.com/Dokploy/swarm-test).
|
||||
3. Save it as a GitHub provider.
|
||||
4. Go to the advanced tab of the application.
|
||||
5. In the "Cluster Settings" section:
|
||||
- Change the number of replicas (default is 1).
|
||||
- Select the registry for the nodes to pull images from.
|
||||
6. Now you can deploy the application to the cluster (By clicking the `Deploy` button).
|
||||
|
||||
|
||||
In fact, this is a straightforward way to achieve multi-node deployments. Traefik will handle load balancing and route traffic to the node where the application is most available.
|
||||
|
||||
To further enhance this setup, you can use load balancers from services like AWS, DigitalOcean, or Google Cloud. These load balancers perform health checks before routing requests to ensure that only healthy nodes receive traffic. If a node fails the health check, the load balancer will automatically route the request to another node. This setup provides a more robust and scalable deployment.
|
||||
|
||||
To add manager nodes to the cluster, follow the same steps as adding a worker node. However, if the manager node (where Dokploy is running) fails, all other nodes will become inaccessible. This is because we currently have a single entry point for the cluster. To ensure high availability, you should have multiple manager nodes.
|
||||
|
||||
To achieve this, you need to replicate all persistent and Traefik information to the new manager nodes. This will create multiple entry points for the cluster. You can use tools like rsync, aws data sync, or any other tool to synchronize all the necessary information between the nodes.
|
||||
|
||||
|
||||
## Customizing the Application
|
||||
|
||||
You can customize the application in the "Swarm Settings" section. Here, you can modify almost every setting related to the swarm application mode.
|
||||
|
||||
In the interface, placeholders and expected formats for each setting are provided. All fields must be JSON values.
|
||||
|
||||
#### Customizable Settings:
|
||||
|
||||
- Healthcheck
|
||||
- Restart Policy
|
||||
- Placement
|
||||
- Update Config
|
||||
- Rollback Config
|
||||
- Mode
|
||||
- Network
|
||||
- Labels
|
||||
|
||||
<ImageZoom src="/assets/images/cluster/swarm-settings.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
title: 备份
|
||||
description: "了解如何在 Dokploy 中设置和管理数据库的备份,并提供 S3 存储桶中的存储选项。"
|
||||
---
|
||||
|
||||
Dokploy 提供了一个集成的解决方案来备份您的数据库,确保数据安全和恢复能力。
|
||||
|
||||
## 备份数据库
|
||||
|
||||
要配置数据库备份,请导航至 Dokploy 仪表板中的 `Backup` 选项卡。以下是您需要设置的内容:
|
||||
|
||||
- **Select Destination S3 Bucket(选择备份位置 S3 桶)**: 指定备份将存储在哪里。桶可以在`/dashboard/settings/destinations`路由中配置。
|
||||
- **Database Name(数据库名称)**: 输入要备份的数据库的名称。
|
||||
- **Schedule Cron(定时 cron)**: 使用 cron 语法定义备份的时间表。
|
||||
- **Prefix(前缀)**: 选择将备份存储在您的存储桶中所使用的前缀。
|
||||
- **Enabled(启用)**: 切换备份是否处于活动状态。 默认设置已启用。
|
||||
|
||||
### 测试您的备份配置
|
||||
|
||||
要确保正确配置备份设置:
|
||||
|
||||
1. 点击 `Test` 按钮.
|
||||
2. 这将启动对您选择的 S3 存储桶的测试备份。
|
||||
3. 检查桶以查看测试备份的结果。
|
||||
|
||||
此功能通过在依赖备份过程进行操作备份之前验证您的备份过程是否正确设置,从而让您安心。
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
title: Backups
|
||||
description: "Learn how to schedule and manage backups for your databases in Dokploy, with options for storage in S3 buckets."
|
||||
---
|
||||
|
||||
Dokploy provides an integrated solution for backing up your databases, ensuring data safety and recovery capabilities.
|
||||
|
||||
## Backing Up Your Database
|
||||
|
||||
To configure database backups, navigate to the `Backup` tab within your Dokploy dashboard. Here’s what you’ll need to set up:
|
||||
|
||||
- **Select Destination S3 Bucket**: Specify where your backups will be stored. Buckets can be configured in the `/dashboard/settings/destinations` route.
|
||||
- **Database Name**: Enter the name of the database you want to backup.
|
||||
- **Schedule Cron**: Define the schedule for your backups using cron syntax.
|
||||
- **Prefix**: Choose a prefix under which backups will be stored in your bucket.
|
||||
- **Enabled**: Toggle whether backups are active. The default setting is enabled.
|
||||
|
||||
### Testing Your Backup Configuration
|
||||
|
||||
To ensure your backup settings are correctly configured:
|
||||
|
||||
1. Click the `Test` button.
|
||||
2. This will initiate a test backup to the S3 bucket you selected.
|
||||
3. Check the bucket to see the result of the test backup.
|
||||
|
||||
This feature provides peace of mind by verifying that your backup process is set up correctly before relying on it for operational backups.
|
||||
@@ -1,33 +0,0 @@
|
||||
---
|
||||
title: Connection
|
||||
description: "Learn how to connect to your database using Dokploy."
|
||||
---
|
||||
|
||||
This section explains how to configure database access for applications in Dokploy, including both internal connections within your network and external connections accessible over the internet.
|
||||
|
||||
### Internal Credentials
|
||||
|
||||
Used for connecting to the database from within the same network, without exposing the database to the internet.
|
||||
|
||||
- **User**: Username for the database access.
|
||||
- **Password**: Secure password for database access.
|
||||
- **Database Name**: The name of the database to connect to.
|
||||
- **Internal Host**: The hostname or internal identifier for the database within the network.
|
||||
- **Internal Port (Container)**: The port used within the container to connect to the database.
|
||||
- **Internal Connection URL**: The full connection string used internally to connect to the database.
|
||||
|
||||
### External Credentials
|
||||
|
||||
Enables the database to be reachable from the internet, necessary for remote management or external applications.
|
||||
|
||||
- **External Port (Internet)**: Assign a port that is not currently used by another service to expose the database externally.
|
||||
|
||||
#### Steps to Configure External Access
|
||||
1. Ensure the external port is available and not in conflict with other services.
|
||||
2. Enter the external port you wish to use to expose your database.
|
||||
3. The system will automatically generate an external connection URL, which can be used to access the database from any database management tool over the internet, like phpMyAdmin, MySQL Workbench, PgAdmin, etc.
|
||||
|
||||
### Important Note
|
||||
|
||||
For security reasons, internal credentials should be used for applications running within the same network or environment to prevent unauthorized access. External credentials should only be used when necessary and with proper security measures in place, such as VPNs or IP whitelisting.
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
---
|
||||
title: 概述
|
||||
description: "了解如何使用Dokploy轻松创建和备份数据库,支持各种数据库系统."
|
||||
---
|
||||
|
||||
Dokploy 简化了创建和管理数据库的过程,为设置和备份提供了强大的选项。
|
||||
|
||||
## 数据库支持
|
||||
|
||||
Dokploy 目前支持一系列流行的数据库系统,确保您的项目的兼容性和灵活性:
|
||||
|
||||
- **Postgres**: 强大、符合 SQL 且高度可靠。
|
||||
- **MySQL**: 广泛使用的关系数据库以其性能和灵活性而闻名。
|
||||
- **MariaDB**: 具有额外功能和改进的性能的 SQL 的分支。
|
||||
- **MongoDB**: NoSQL 数据库以其高可扩展性和灵活性而闻名。
|
||||
- **Redis**: 内存中的键-值存储,通常用作数据库、缓存和消息代理。
|
||||
|
||||
## 部署
|
||||
|
||||
在 Dokploy 中部署数据库很简单:
|
||||
|
||||
1. 导航至 Dokploy 仪表板的数据库部分。
|
||||
2. 单击您要设置的数据库旁边的`Deploy`按钮。
|
||||
|
||||
`Deploy`按钮启动一个简化的流程,自动设置您选择的数据库,使其准备好立即使用。
|
||||
@@ -1,49 +0,0 @@
|
||||
---
|
||||
title: Overview
|
||||
description: "Discover how to create and backup databases easily with Dokploy, supporting a variety of database systems."
|
||||
---
|
||||
|
||||
Dokploy simplifies the process of creating and managing databases, offering robust options for both setup and backups.
|
||||
|
||||
## Database Support
|
||||
|
||||
Dokploy currently supports a range of popular database systems, ensuring compatibility and flexibility for your projects:
|
||||
|
||||
- **Postgres**: Robust, SQL-compliant and highly reliable.
|
||||
- **MySQL**: Widely used relational database known for its performance and flexibility.
|
||||
- **MariaDB**: A fork of MySQL with additional features and improved performance.
|
||||
- **MongoDB**: A NoSQL database known for its high scalability and flexibility.
|
||||
- **Redis**: An in-memory key-value store often used as a database, cache, and message broker.
|
||||
|
||||
|
||||
We offer multiple functionalities that you can use to manage your databases, such as:
|
||||
|
||||
## General
|
||||
|
||||
Actions like deploying, updating, and deleting your database, and stopping it.
|
||||
|
||||
## Environment
|
||||
|
||||
If you need to assign environment variables to your application, you can do so here.
|
||||
|
||||
## Monitoring
|
||||
|
||||
Four graphs will be displayed for the use of memory, CPU, disk, and network. Note that the information is only updated if you are viewing the current page, otherwise it will not be updated.
|
||||
|
||||
## Backups
|
||||
|
||||
We offer automated backups for your databases, ensuring that you can recover your data quickly and easily in case of any issues, you can setup a S3 Destinations in settings to store your backups.
|
||||
|
||||
|
||||
## Logs
|
||||
|
||||
If you want to see any important logs from your application that is running, you can do so here and determine if your application is displaying any errors or not.
|
||||
|
||||
## Advanced
|
||||
|
||||
This section provides advanced configuration options for experienced users. It includes tools for custom commands within the container, managing Docker Swarm settings, and adjusting cluster settings such as replicas and registry selection. These tools are typically not required for standard application deployment and are intended for complex management and troubleshooting tasks.
|
||||
|
||||
- **Custom Docker Image**: You can change the Docker image used to run your database.
|
||||
- **Run Command**: Execute custom commands directly in the container for advanced management or troubleshooting.
|
||||
- **Volumes**: To ensure data persistence across deployments, configure storage volumes for your application.
|
||||
- **Resources**: Adjust the CPU and memory allocation for your application.
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
title: Oracle 云
|
||||
description: 将应用程序部署到 Oracle 云
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
|
||||
将应用程序部署到 Oracle 云
|
||||
|
||||
步骤
|
||||
|
||||
1. 登录 Oracle 云
|
||||
2. 创建一个新的 `Compute Instance`
|
||||
3. 到 `Image and Shape`
|
||||
4. 选择 `Ubuntu 20.04 LTS`
|
||||
|
||||
<ImageZoom src="/assets/images/deployment/oracle/oracle-shape.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
|
||||
5. 添加 SSH Key,确保添加您的 SSH key 的公钥
|
||||
6. 登录实例 `ssh ubuntu@ip-address-of-instance`
|
||||
<Callout>
|
||||
如果由于出现连接拒绝错误而无法访问实例,您可以尝试将`Public Subnet IPv4
|
||||
CIDR Block` 添加到实例,转到您的实例,然后 Quick Actions -> Connect public
|
||||
subnet to internet -> Create
|
||||
</Callout>
|
||||
7. 运行 `sudo su`
|
||||
8. 运行 `curl -sSL https://dokploy.com/install.sh | sh`
|
||||
9. 默认情况下,Oracle 云 已设置仅 22 个端口打开,您可以在实例中更改
|
||||
-> attached VNICs -> 点击 `subnet` 链接 -> 打开 `Security Lists` -> `Inbound Rules` -> 点击 `default security list for vnc` 链接 -> 进入规则 -> 添加入口规则 -> 设置 CIDR `0.0.0.0/0` 后,保存.
|
||||
10. 打开 `ip-address-of-instance:3000` 您会看到仪表板.
|
||||
@@ -1,31 +0,0 @@
|
||||
---
|
||||
title: Oracle Cloud
|
||||
description: Deploy your application to Oracle Cloud
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
|
||||
|
||||
Deploy your application to Oracle Cloud
|
||||
|
||||
Steps
|
||||
|
||||
1. Log in to Oracle Cloud
|
||||
2. Create a new `Compute Instance`
|
||||
3. Go to `Image and Shape`
|
||||
4. Select `Ubuntu 20.04 LTS` and Shape
|
||||
|
||||
<ImageZoom src="/assets/images/deployment/oracle/oracle-shape.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
5. Add SSH Key, make sure to add the public key of your SSH key
|
||||
6. Login to the instance `ssh ubuntu@ip-address-of-instance`
|
||||
<Callout>
|
||||
If you cannot access to the instance because you se connection refused error, you can try adding a `Public Subnet IPv4 CIDR Block` to the instance, go to your instance and then Quick Actions -> Connect public subnet to internet -> Create
|
||||
</Callout>
|
||||
7. Run `sudo su`
|
||||
8. Run `curl -sSL https://dokploy.com/install.sh | sh`
|
||||
9. By default oracle cloud have blocked the ports only the 22 is open, you can change in your instance -> attached VNICs -> click on `subnet` Link -> go to `Security Lists` -> `Inbound Rules` -> Click on `default security list for vnc` Link -> Go to ingress rules -> add a ingress rule -> on source CIDR `0.0.0.0/0` and save.
|
||||
9. Go to `ip-address-of-instance:3000` and you will see the dashboard.
|
||||
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
---
|
||||
title: 自动部署
|
||||
description: 如何使用 Dokploy 自动部署您的 docker-compose 应用
|
||||
---
|
||||
|
||||
自动部署您的 docker-compose 应用到 Dokploy 可以通过两种主要方法实现:使用 Webhooks 或 Dokploy API。每种方法支持各种平台,并提供简化的部署过程。
|
||||
|
||||
## Github
|
||||
|
||||
对于 Github,我们提供无需配置的自动部署。这将在您推送到存储库时自动部署您的应用。
|
||||
|
||||
## Webhook URL
|
||||
|
||||
使用 Webhooks,您可以在源代码库中发生更改时自动部署您的 docker-compose 应用。
|
||||
|
||||
- GitHub
|
||||
- GitLab
|
||||
- Bitbucket
|
||||
- Gitea
|
||||
|
||||
### 配置步骤
|
||||
|
||||
1. **启用自动部署**:在 Dokploy 中的应用设置的常规标签中切换“自动部署”按钮。
|
||||
2. **获取 Webhook URL**:从部署日志中找到 Webhook URL。
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/webhook-url-compose.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 中配置的分支与您打算推送到的分支匹配。不匹配将导致“分支不匹配”错误。
|
||||
- 所有提供商的步骤相同。
|
||||
|
||||
## API 方法
|
||||
|
||||
通过 Dokploy API 从任何地方以编程方式部署您的应用。
|
||||
|
||||
### 使用 API 部署的步骤
|
||||
|
||||
步骤:
|
||||
|
||||
1. **生成令牌**:在 Dokploy 的个人资料设置中创建一个 API 令牌。
|
||||
2. **获取 Compose ID**:
|
||||
|
||||
```http
|
||||
curl -X 'GET' \
|
||||
'https://your-domain/api/project.all' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Authorization: Bearer <token>'
|
||||
```
|
||||
|
||||
此命令列出所有项目和服务。确定您要部署的 compose 的 composeId。
|
||||
|
||||
3. **触发部署**:
|
||||
```http
|
||||
curl -X 'POST' \
|
||||
'https://canary.dokploy.com/api/compose.deploy' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Authorization: Bearer <token>' \
|
||||
-d '{
|
||||
"composeId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
这种 API 方法提供了灵活的、可脚本化的部署选项,适用于自动化系统或无法直接集成存储库的情况。
|
||||
通过这种方式,您可以从任何地方部署您的应用,可以使用 webhook URL 或 API。
|
||||
@@ -1,84 +0,0 @@
|
||||
---
|
||||
title: Auto-deploy
|
||||
description: How to auto-deploy your docker-compose application with Dokploy
|
||||
---
|
||||
|
||||
Automatically deploying your docker-compose 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 docker-compose application whenever changes are made in your source repository.
|
||||
|
||||
- GitHub
|
||||
- GitLab
|
||||
- Bitbucket
|
||||
- Gitea
|
||||
|
||||
### 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-compose.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.
|
||||
- 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 Compose 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 composeId for the compose you wish to deploy.
|
||||
|
||||
3. **Trigger Deployment**:
|
||||
|
||||
```http
|
||||
curl -X 'POST' \
|
||||
'https://canary.dokploy.com/api/compose.deploy' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Authorization: Bearer <token>' \
|
||||
-d '{
|
||||
"composeId": "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.
|
||||
@@ -1,196 +0,0 @@
|
||||
---
|
||||
title: Domains
|
||||
description: Configure domains for your Docker Compose application.
|
||||
---
|
||||
|
||||
When using Docker Compose, adding a domain to a service is a straightforward process. This guide will walk you through the necessary steps to configure domains for your application.
|
||||
|
||||
Key Steps:
|
||||
|
||||
1. Add the service to the `dokploy-network`.
|
||||
2. Use Traefik labels to configure routing.
|
||||
|
||||
Example Scenario
|
||||
|
||||
Let's consider an application with three components: a frontend, a backend, and a database. We'll start with a basic Docker Compose file and then enhance it with domain configuration.
|
||||
|
||||
```yaml
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
frontend:
|
||||
build:
|
||||
context: ./frontend
|
||||
dockerfile: Dockerfile
|
||||
volumes:
|
||||
- ./frontend:/app
|
||||
ports:
|
||||
- "3000:3000"
|
||||
depends_on:
|
||||
- backend
|
||||
|
||||
backend:
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: Dockerfile
|
||||
volumes:
|
||||
- ./backend:/app
|
||||
ports:
|
||||
- "5000:5000"
|
||||
environment:
|
||||
- DATABASE_URL=postgres://postgres:password@database:5432/mydatabase
|
||||
depends_on:
|
||||
- database
|
||||
|
||||
database:
|
||||
image: postgres:13
|
||||
environment:
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: password
|
||||
POSTGRES_DB: mydatabase
|
||||
volumes:
|
||||
- db-data:/var/lib/postgresql/data
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
```
|
||||
|
||||
## Step 1: Add the Network
|
||||
|
||||
First, we'll add the dokploy-network to our services:
|
||||
|
||||
```yaml
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
frontend:
|
||||
# ... (previous configuration)
|
||||
networks:
|
||||
- dokploy-network
|
||||
|
||||
backend:
|
||||
# ... (previous configuration)
|
||||
networks:
|
||||
- dokploy-network
|
||||
|
||||
database:
|
||||
# ... (previous configuration)
|
||||
networks:
|
||||
- dokploy-network
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
|
||||
networks:
|
||||
dokploy-network:
|
||||
external: true
|
||||
```
|
||||
|
||||
Step 2: Configuring Traefik Labels
|
||||
|
||||
Now, let's add Traefik labels to route domains to our services. We'll focus on the frontend and backend services:
|
||||
|
||||
{/* It is necessary to add these labels:
|
||||
|
||||
1. `traefik.enable=true`
|
||||
This label tells Traefik that this service should be routed by Traefik.
|
||||
2. `traefik.http.routers.<UNIQUE-RULE>.rule=Host('your-domain.dokploy.com')`
|
||||
This label tells Traefik that the domain to be used is `your-domain.dokploy.com`
|
||||
3. `traefik.http.routers.<UNIQUE-RULE>.entrypoints=web`
|
||||
This label tells Traefik that the service should be accessible via the `http` protocol.
|
||||
4. `traefik.http.services.<UNIQUE-RULE>.loadbalancer.server.port=3000`
|
||||
This label tells Traefik that the port to be used is `3000`
|
||||
|
||||
Note: For loadbalancer.server.port, ensure you assign the port that your service is using. It's important to note that you do not need to expose the port like this:
|
||||
|
||||
Nota: en el loadbalancer.server.port asegurate de asignar el puerto que tu servicio esta utilizando, y alcaramos no es necesario que expongas el puerto de esta manera
|
||||
|
||||
'3000:3000' esto es incorrecto, unicamente debes de asignar el puerto que tu servicio esta utilizando, en este caso `3000`
|
||||
|
||||
asegurate de crear los registros `A` que apunten a tu dominio, esto hazlo desde tu DNS provider. */}
|
||||
|
||||
|
||||
```yaml
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
frontend:
|
||||
build:
|
||||
context: ./frontend
|
||||
dockerfile: Dockerfile
|
||||
volumes:
|
||||
- ./frontend:/app
|
||||
expose:
|
||||
- 3000
|
||||
depends_on:
|
||||
- backend
|
||||
networks:
|
||||
- dokploy-network
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.frontend-app.rule=Host(`frontend.dokploy.com`)
|
||||
- traefik.http.routers.frontend-app.entrypoints=web
|
||||
- traefik.http.services.frontend-app.loadbalancer.server.port=3000
|
||||
|
||||
backend:
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: Dockerfile
|
||||
volumes:
|
||||
- ./backend:/app
|
||||
expose:
|
||||
- 5000
|
||||
environment:
|
||||
- DATABASE_URL=postgres://postgres:password@database:5432/mydatabase
|
||||
depends_on:
|
||||
- database
|
||||
networks:
|
||||
- dokploy-network
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.backend-app.rule=Host(`backend.dokploy.com`)
|
||||
- traefik.http.routers.backend-app.entrypoints=web
|
||||
- traefik.http.services.backend-app.loadbalancer.server.port=5000
|
||||
|
||||
database:
|
||||
# ... (same as before)
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
|
||||
networks:
|
||||
dokploy-network:
|
||||
external: true
|
||||
```
|
||||
|
||||
Understanding Traefik Labels
|
||||
|
||||
|
||||
1. `traefik.enable=true` Enables Traefik routing for the service.
|
||||
2. `traefik.http.routers.<UNIQUE-RULE>.rule=Host('your-domain.dokploy.com')` Specifies the domain for the service
|
||||
3. `traefik.http.routers.<UNIQUE-RULE>.entrypoints=web` Sets the service to be accessible via HTTP.
|
||||
4. `traefik.http.services.<UNIQUE-RULE>.loadbalancer.server.port=3000` Specifies the port your service is using internally.
|
||||
|
||||
**Note**: Replace `<UNIQUE-RULE>` with a unique identifier for each service (e.g., frontend-app, backend-app, etc.).
|
||||
|
||||
|
||||
## Important Considerations
|
||||
|
||||
1. **Port Exposure**: Use `expose` instead of `ports` to expose ports to the host machine. This ensures that the ports are not exposed to the host machine.
|
||||
2. **DNS Configuration**: Ensure you create `A` records pointing to your domain in your DNS Provider Settings.
|
||||
3. **HTTPS**: For HTTPS, you can use Let's Encrypt or other SSL/TLS certificates.
|
||||
|
||||
|
||||
## Deployment
|
||||
|
||||
With these configurations in place, you're now ready to deploy your application using Docker Compose. This setup should be sufficient to get your services up and running with custom domain routing through Traefik.
|
||||
|
||||
## SSL Certificates and Further Configuration
|
||||
|
||||
If you have questions about when to use Let's Encrypt or other SSL certificate options, you can find more detailed information in the following resources:
|
||||
|
||||
1. [Certificates](/docs/core/domain/certificates)
|
||||
2. [Docker Compose Domain](/docs/core/domain/docker-compose-setup)
|
||||
3. [Docker Compose Example](/docs/core/docker-compose/example)
|
||||
|
||||
If you have any further questions or need assistance, join our [Discord server](https://discord.com/invite/2tBnJ3jDJc) and we'll be happy to help.
|
||||
@@ -1,110 +0,0 @@
|
||||
---
|
||||
title: "Example"
|
||||
description: "Learn how to use Docker Compose with Dokploy"
|
||||
|
||||
---
|
||||
|
||||
## Tutorial
|
||||
|
||||
In this tutorial, we will create a simple application using Docker Compose and route the traffic to an accessible domain.
|
||||
|
||||
|
||||
### Steps
|
||||
|
||||
1. Create a new project.
|
||||
2. Create a new service `Compose` and select the Compose Type `Docker Compose`.
|
||||
3. Fork this repository: [Repo](https://github.com/Dokploy/docker-compose-test).
|
||||
4. Select Provider type: GitHub or Git.
|
||||
5. Select the repository: `Dokploy/docker-compose-test`.
|
||||
6. Select the branch: `main`.
|
||||
7. Set the Compose Path to `./docker-compose.yml` and save.
|
||||

|
||||
|
||||
|
||||
### Updating Your `docker-compose.yml`
|
||||
|
||||
Add the following to your existing `docker-compose.yml` file:
|
||||
|
||||
1. Add the network `dokploy-network` to each service.
|
||||
2. Add labels for Traefik to make the service accessible through the domain.
|
||||
|
||||
Example:
|
||||
|
||||
Let's modify the following compose file to make it work with Dokploy:
|
||||
|
||||
```yaml
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
next-app:
|
||||
build:
|
||||
context: ./next-app
|
||||
dockerfile: prod.Dockerfile
|
||||
args:
|
||||
ENV_VARIABLE: ${ENV_VARIABLE}
|
||||
NEXT_PUBLIC_ENV_VARIABLE: ${NEXT_PUBLIC_ENV_VARIABLE}
|
||||
restart: always
|
||||
ports:
|
||||
- 3000:3000
|
||||
networks:
|
||||
- my_network
|
||||
networks:
|
||||
my_network:
|
||||
external: true
|
||||
```
|
||||
|
||||
|
||||
Updated version with dokploy-network and Traefik labels:
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
<Callout type="warn">
|
||||
Don't set container_name property to the each service, it will cause issues with logs, metrics and other features
|
||||
</Callout>
|
||||
{/* :::danger
|
||||
Don't set container_name property to the each service, it will cause issues with logs, metrics and other features
|
||||
|
||||
::: */}
|
||||
|
||||
```yaml
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
next-app:
|
||||
build:
|
||||
context: ./next-app
|
||||
dockerfile: prod.Dockerfile
|
||||
args:
|
||||
ENV_VARIABLE: ${ENV_VARIABLE}
|
||||
NEXT_PUBLIC_ENV_VARIABLE: ${NEXT_PUBLIC_ENV_VARIABLE}
|
||||
restart: always
|
||||
ports:
|
||||
- 3000
|
||||
networks:
|
||||
- dokploy-network
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.<unique-name>.rule=Host(`your-domain.com`)"
|
||||
- "traefik.http.routers.<unique-name>.entrypoints=websecure"
|
||||
- "traefik.http.routers.<unique-name>.tls.certResolver=letsencrypt"
|
||||
- "traefik.http.services.<unique-name>.loadbalancer.server.port=3000"
|
||||
networks:
|
||||
dokploy-network:
|
||||
external: true
|
||||
```
|
||||
|
||||
Make sure to point the A record to the domain you want to use for your service.
|
||||
|
||||
<ImageZoom src="/assets/images/compose/domain.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
Deploy the application by clicking on "deploy" and wait for the deployment to complete. Then give Traefik about 10 seconds to generate the certificates. You can then access the application through the domain you have set.
|
||||
|
||||
<ImageZoom src="/assets/images/compose/application.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
**Tips**:
|
||||
|
||||
1. Set unique names for each router: `traefik.http.routers.<unique-name>`
|
||||
2. Set unique names for each service: `traefik.http.services.<unique-name>`
|
||||
3. Ensure the network is linked to the `dokploy-network`
|
||||
4. Set the entry point to websecure and the certificate resolver to letsencrypt to generate certificates.
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
---
|
||||
title: "Overview"
|
||||
description: "Learn how to use Docker Compose with Dokploy"
|
||||
---
|
||||
|
||||
import { Callout } from "fumadocs-ui/components/callout";
|
||||
|
||||
Dokploy integrates with Docker Compose and Docker Stack to provide flexible deployment solutions. Whether you are developing locally or deploying at scale, Dokploy facilitates application management through these powerful Docker tools.
|
||||
|
||||
### Configuration Methods
|
||||
|
||||
Dokploy provides two methods for creating Docker Compose configurations:
|
||||
|
||||
- **Docker Compose**: Ideal for standard Docker Compose configurations.
|
||||
- **Stack**: Geared towards orchestrating applications using Docker Swarm. Note that some Docker Compose features, such as `build`, are not available in this mode.
|
||||
|
||||
### General
|
||||
|
||||
Configure the source of your code, the way your application is built, and also manage actions like deploying, updating, and deleting your application, and stopping it.
|
||||
|
||||
### Enviroment
|
||||
|
||||
A code editor within Dokploy allows you to specify environment variables for your Docker Compose file. By default, Dokploy creates a `.env` file in the specified Docker Compose file path.
|
||||
|
||||
### Monitoring
|
||||
|
||||
Monitor each service individually within Dokploy. If your application consists of multiple services, each can be monitored separately to ensure optimal performance.
|
||||
|
||||
### Logs
|
||||
|
||||
Access detailed logs for each service through the Dokploy log viewer, which can help in troubleshooting and ensuring the stability of your services.
|
||||
|
||||
### Deployments
|
||||
|
||||
You can view the last 10 deployments of your application. When you deploy your application in real time, a new deployment record will be created and it will gradually show you how your application is being built.
|
||||
|
||||
We also offer a button to cancel deployments that are in queue. Note that those in progress cannot be canceled.
|
||||
|
||||
We provide a webhook so that you can trigger your own deployments by pushing to your GitHub, Gitea, GitLab, Bitbucket repository.
|
||||
|
||||
### Advanced
|
||||
|
||||
This section provides advanced configuration options for experienced users. It includes tools for custom commands within the container and volumes.
|
||||
|
||||
- **Command**: Dokploy has a defined command to run the Docker Compose file, ensuring complete control through the UI. However, you can append flags or options to the command.
|
||||
- **Volumes**: To ensure data persistence across deployments, configure storage volumes for your application.
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/images/compose/overview.png"
|
||||
width={800}
|
||||
height={630}
|
||||
quality={100}
|
||||
priority
|
||||
alt="home og image"
|
||||
className="rounded-lg"
|
||||
/>
|
||||
|
||||
<Callout title="Volumes">
|
||||
Docker volumes are a way to persist data generated and used by Docker containers. They are particularly useful for maintaining data between container restarts or for sharing data among different containers.
|
||||
|
||||
To bind a volume to the host machine, you can use the following syntax in your docker-compose.yml file, but this way will clean up the volumes when a new deployment is made:
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- "/folder:/path/in/container" ❌
|
||||
```
|
||||
|
||||
It's recommended to use the ../files folder to ensure your data persists between deployments. For example:
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- "../files/my-database:/var/lib/mysql" ✅
|
||||
- "../files/my-configs:/etc/my-app/config" ✅
|
||||
```
|
||||
|
||||
</Callout>
|
||||
@@ -1,41 +0,0 @@
|
||||
---
|
||||
title: "Providers"
|
||||
description: "Learn how to use Docker Compose with Dokploy"
|
||||
---
|
||||
|
||||
Dokploy offers several deployment methods, streamlining the process whether you're utilizing GitHub, any Git provider, Raw, or automated deployments.
|
||||
|
||||
- GitHub
|
||||
- Git (Any Git Provider)
|
||||
- Raw
|
||||
|
||||
## GitHub
|
||||
|
||||
Deploying via GitHub is straightforward:
|
||||
|
||||
1. Configure your GitHub repository in the `/dashboard/settings/server`.
|
||||
2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
|
||||
|
||||
## Git
|
||||
|
||||
For deployments from any Git repository, whether public or private, you can use either SSH or HTTPS:
|
||||
|
||||
1. Enter the repository URL.
|
||||
2. Specify the branch you wish to deploy.
|
||||
|
||||
### Private Repositories
|
||||
|
||||
For private repositories, authenticate using SSH. We provide a lock icon to generate an SSH key.
|
||||
|
||||
<ImageZoom src="/assets/dokploy-ssh-compose.png" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
You can then copy the SSH key and paste it into the settings of your account.
|
||||
|
||||
<ImageZoom src="/assets/private-repository.png" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
This enables you to pull repositories from your private repository, a method consistent across nearly all providers.
|
||||
|
||||
|
||||
## Raw
|
||||
|
||||
You specify a docker compose file directly in the code editor and trigger a deployment.
|
||||
@@ -1,23 +0,0 @@
|
||||
---
|
||||
title: 概述
|
||||
description: "了解 Dokploy 如何使用 Docker Swarm 直接从仪表板部署应用程序和管理容器。"
|
||||
---
|
||||
|
||||
Dokploy 利用 Docker Swarm 为您的应用程序编排和管理容器部署,提供直观的监控界面。
|
||||
|
||||
## 查看容器
|
||||
|
||||
要监视和管理服务器上运行的容器:
|
||||
|
||||
- 导航到 Dokploy 中的 `/dashboard/docker` 页面。
|
||||
- 此页面显示您的服务器上当前活动的所有容器。
|
||||
|
||||
## 容器行为
|
||||
|
||||
对于每个容器,您都有几个管理选项:
|
||||
|
||||
- **View Logs(查看日志)**: 访问容器的实时日志以监控其活动并排除问题。
|
||||
- **View Config(查看配置)**: 检查容器的配置设置以了解其部署参数。
|
||||
- **Terminal(终端)**: 直接在容器内打开终端会话以执行高级管理任务。
|
||||
|
||||
这些功能提供了全面的工具来有效管理应用程序的容器,所有这些都来自 Dokploy 的用户友好型仪表板。
|
||||
@@ -1,23 +0,0 @@
|
||||
---
|
||||
title: Overview
|
||||
description: 'Understand how Dokploy uses Docker Swarm for deploying applications and managing containers directly from the dashboard.'
|
||||
---
|
||||
|
||||
Dokploy leverages Docker Swarm to orchestrate and manage container deployments for your applications, providing an intuitive interface for monitoring and control.
|
||||
|
||||
## Viewing Containers
|
||||
|
||||
To monitor and manage the containers running on your server:
|
||||
|
||||
- Navigate to the `/dashboard/docker` route in Dokploy.
|
||||
- This page displays all the containers currently active on your server.
|
||||
|
||||
## Container Actions
|
||||
|
||||
For each container, you have several management options:
|
||||
|
||||
- **View Logs**: Access real-time logs from the container to monitor its activity and troubleshoot issues.
|
||||
- **View Config**: Review the configuration settings of the container to understand its deployment parameters.
|
||||
- **Terminal**: Open a terminal session directly within the container for advanced management tasks.
|
||||
|
||||
These features provide comprehensive tools to manage your applications' containers effectively, all from within Dokploy’s user-friendly dashboard.
|
||||
@@ -1,38 +0,0 @@
|
||||
---
|
||||
title: "应用程序域名设置"
|
||||
description: "了解如何为应用程序设置域名"
|
||||
---
|
||||
|
||||
|
||||
## 介绍
|
||||
|
||||
本指南详细介绍了如何为您的应用程序设置域名。
|
||||
|
||||
## 要求
|
||||
|
||||
如果您没有域名,请首先参阅 `Web域名设置` 部分。
|
||||
|
||||
## 创建 DNS 记录
|
||||
|
||||
1. 将 `A` 记录添加到您的 DNS 设置中:
|
||||
- **名称:** 输入您要指向的路线 (例如, `app` 到 `app.yourdomain.com`).
|
||||
- **值:** 输入服务器的 IP 地址, 例如 `1.2.3.4`.
|
||||
|
||||
## 应用程序域名设置
|
||||
|
||||
1. 导航至应用程序的仪表板。
|
||||
2. 转到 “域名” 选项卡并单击 “添加域名”。
|
||||
3. 输入您在上一步中创建的 DNS 记录 (例如:`app.yourdomain.com`)。
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
<Callout >
|
||||
|
||||
**注意:** 将容器端口设置为您的应用程序正在运行的端口。
|
||||
|
||||
</Callout>
|
||||
|
||||
等待 20-30 秒,让 Traefik 生成证书,之后您可以通过新设置的域访问您的应用程序。
|
||||
|
||||
转到任何应用程序并转到 “域名” 选项卡并单击 “添加域名” ,然后只需输入您在上一步中创建的记录即可。
|
||||
<ImageZoom src="/assets/images/application-domain-setup/app-setup-domain.png" width={800} height={630} quality={100} priority alt='home og image' className="rounded-lg" />
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user