mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
Compare commits
546 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
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 | ||
|
|
213fa08210 | ||
|
|
1eed1a356d | ||
|
|
a8f21ad717 | ||
|
|
c1420bd6d8 | ||
|
|
74ea9debd5 | ||
|
|
da8955dabb | ||
|
|
5dbf18605f | ||
|
|
ba01c5056e | ||
|
|
5ea7a31c6d | ||
|
|
e0a9eb0366 | ||
|
|
14e8e14b7d | ||
|
|
179de344c2 | ||
|
|
1250949c05 | ||
|
|
e12105f5b9 | ||
|
|
b8cc0cd11b | ||
|
|
be39dfee9e | ||
|
|
67ae2b19df | ||
|
|
1df9f1f4df | ||
|
|
f06ac587c9 | ||
|
|
c084cf84a0 | ||
|
|
5e5cbdeef9 | ||
|
|
24929d8a4d | ||
|
|
1e6e85ed5b | ||
|
|
137edf1250 | ||
|
|
b8741f1702 | ||
|
|
ac28aff022 | ||
|
|
7b9abef687 | ||
|
|
217be3c6e9 | ||
|
|
27a0dc3770 | ||
|
|
53b24534a8 | ||
|
|
5a3d0f8288 | ||
|
|
ff3e3513ef | ||
|
|
7a1fba38b3 | ||
|
|
2b65a3c119 | ||
|
|
6d841497cc | ||
|
|
d37dc7c372 | ||
|
|
f3e0cf861f | ||
|
|
e2578e5794 | ||
|
|
16deec381c | ||
|
|
91dc35a138 | ||
|
|
acfa032e61 | ||
|
|
83ee4b2c59 | ||
|
|
ac1637eaf8 | ||
|
|
d5c6a601d8 | ||
|
|
afbe42a577 | ||
|
|
866f700abf | ||
|
|
f2b6b33b1f | ||
|
|
813ffabb8c | ||
|
|
b5da9291b4 | ||
|
|
b0d604d12b | ||
|
|
e9f40e1644 | ||
|
|
61d520c239 | ||
|
|
124a884d2e | ||
|
|
b5e4b9af60 | ||
|
|
840c24e3ca | ||
|
|
d300eb73fb | ||
|
|
fb4e06116c | ||
|
|
2d3b903edc | ||
|
|
75c13df22f | ||
|
|
68b81cb48d | ||
|
|
9d6f2df25a | ||
|
|
452793c8e5 | ||
|
|
724de2c1b9 | ||
|
|
86946b6b15 | ||
|
|
957bb3d3e6 | ||
|
|
38a75b07fb | ||
|
|
378b93f996 | ||
|
|
eb62d124bd | ||
|
|
7558029271 | ||
|
|
757c28dad1 | ||
|
|
8d3dc38816 | ||
|
|
9c8061a447 | ||
|
|
3a8b2867b6 | ||
|
|
389956d1a2 | ||
|
|
bf6ed15ba7 | ||
|
|
31a66ce798 | ||
|
|
38c1d86e2f | ||
|
|
d08e232f50 | ||
|
|
3d49383c42 | ||
|
|
27706eaae4 | ||
|
|
c74b5a2677 | ||
|
|
0374165a7f | ||
|
|
b7dad5e1d9 | ||
|
|
65527bc39a | ||
|
|
a84bdd1c8e | ||
|
|
eb219221be | ||
|
|
7b176bd877 | ||
|
|
6970923253 | ||
|
|
a3e23d54d8 | ||
|
|
8f11207d72 | ||
|
|
6bd98350d9 | ||
|
|
096ef8cd93 | ||
|
|
d6eafcbb9b | ||
|
|
c0261384ca | ||
|
|
ca733addc2 | ||
|
|
7497671033 | ||
|
|
9379d4a31d | ||
|
|
dde799f510 | ||
|
|
ecb919e109 | ||
|
|
29ca894a97 | ||
|
|
84ba74a673 | ||
|
|
32b0d51e79 | ||
|
|
1288660fd6 | ||
|
|
5c1e24f4f3 | ||
|
|
3e12e1b1b3 | ||
|
|
bd84793780 | ||
|
|
9922c0ed66 | ||
|
|
27256c609a | ||
|
|
c4d59177bf | ||
|
|
3c8ca2b012 |
@@ -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 |
73
.github/workflows/deploy.yml
vendored
73
.github/workflows/deploy.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: Build Docs & Website Docker images
|
||||
name: Build Docker images
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -48,3 +48,74 @@ jobs:
|
||||
push: true
|
||||
tags: dokploy/website:latest
|
||||
platforms: linux/amd64
|
||||
|
||||
|
||||
build-and-push-cloud-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.cloud
|
||||
push: true
|
||||
tags: |
|
||||
siumauricio/cloud:${{ github.ref_name == 'main' && 'main' || 'canary' }}
|
||||
platforms: linux/amd64
|
||||
|
||||
build-and-push-schedule-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.schedule
|
||||
push: true
|
||||
tags: |
|
||||
siumauricio/schedule:${{ github.ref_name == 'main' && 'main' || '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' && 'main' || '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
|
||||
|
||||
@@ -166,20 +166,26 @@ import {
|
||||
generateRandomDomain,
|
||||
type Template,
|
||||
type Schema,
|
||||
type DomainSchema,
|
||||
} from "../utils";
|
||||
|
||||
export function generate(schema: Schema): Template {
|
||||
// do your stuff here, like create a new domain, generate random passwords, mounts.
|
||||
const mainServiceHash = generateHash(schema.projectName);
|
||||
const randomDomain = generateRandomDomain(schema);
|
||||
const mainDomain = generateRandomDomain(schema);
|
||||
const secretBase = generateBase64(64);
|
||||
const toptKeyBase = generateBase64(32);
|
||||
|
||||
const domains: DomainSchema[] = [
|
||||
{
|
||||
host: mainDomain,
|
||||
port: 8000,
|
||||
serviceName: "plausible",
|
||||
},
|
||||
];
|
||||
|
||||
const envs = [
|
||||
// If you want to show a domain in the UI, please add the prefix _HOST at the end of the variable name.
|
||||
`PLAUSIBLE_HOST=${randomDomain}`,
|
||||
"PLAUSIBLE_PORT=8000",
|
||||
`BASE_URL=http://${randomDomain}`,
|
||||
`BASE_URL=http://${mainDomain}`,
|
||||
`SECRET_KEY_BASE=${secretBase}`,
|
||||
`TOTP_VAULT_KEY=${toptKeyBase}`,
|
||||
`HASH=${mainServiceHash}`,
|
||||
@@ -195,6 +201,7 @@ export function generate(schema: Schema): Template {
|
||||
return {
|
||||
envs,
|
||||
mounts,
|
||||
domains,
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
10
Dockerfile
10
Dockerfile
@@ -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
|
||||
@@ -52,7 +54,7 @@ RUN curl -sSL https://nixpacks.com/install.sh -o install.sh \
|
||||
&& pnpm install -g tsx
|
||||
|
||||
# Install buildpacks
|
||||
RUN curl -sSL "https://github.com/buildpacks/pack/releases/download/v0.35.0/pack-v0.35.0-linux.tgz" | tar -C /usr/local/bin/ --no-same-owner -xzv pack
|
||||
COPY --from=buildpacksio/pack:0.35.0 /usr/local/bin/pack /usr/local/bin/pack
|
||||
|
||||
EXPOSE 3000
|
||||
CMD [ "pnpm", "start" ]
|
||||
CMD [ "pnpm", "start" ]
|
||||
52
Dockerfile.cloud
Normal file
52
Dockerfile.cloud
Normal file
@@ -0,0 +1,52 @@
|
||||
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
|
||||
|
||||
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" ]
|
||||
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
|
||||
26
LICENSE.MD
Normal file
26
LICENSE.MD
Normal file
@@ -0,0 +1,26 @@
|
||||
# License
|
||||
|
||||
## Core License (Apache License 2.0)
|
||||
|
||||
Copyright 2024 Mauricio Siu.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
## 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:
|
||||
|
||||
- **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.
|
||||
|
||||
For further inquiries or permissions, please contact us directly.
|
||||
22
README.md
22
README.md
@@ -1,15 +1,15 @@
|
||||
<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>
|
||||
@@ -32,6 +32,7 @@ Dokploy include multiples features to make your life easier.
|
||||
- **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.)
|
||||
- **Multi Server**: Deploy and manager your applications remotely to external servers.
|
||||
- **Self-Hosted**: Self-host Dokploy on your VPS.
|
||||
|
||||
## 🚀 Getting Started
|
||||
@@ -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;">
|
||||
@@ -70,12 +82,14 @@ For detailed documentation, visit [docs.dokploy.com](https://docs.dokploy.com).
|
||||
|
||||
<div style="display: flex; gap: 30px; flex-wrap: wrap;">
|
||||
<a href="https://lightspeed.run/?ref=dokploy"><img src="https://github.com/lightspeedrun.png" width="60px" alt="Lightspeed.run"/></a>
|
||||
<a href="https://cloudblast.io/?ref=dokploy "><img src="https://cloudblast.io/img/logo-icon.193cf13e.svg" width="250px" alt="Lightspeed.run"/></a>
|
||||
</div>
|
||||
|
||||
### Community Backers 🤝
|
||||
|
||||
<div style="display: flex; gap: 30px; flex-wrap: wrap;">
|
||||
<a href="https://steamsets.com/?ref=dokploy"><img src="https://avatars.githubusercontent.com/u/111978405?s=200&v=4" width="60px" alt="Steamsets.com"/></a>
|
||||
<a href="https://rivo.gg/?ref=dokploy"><img src="https://avatars.githubusercontent.com/u/126797452?s=200&v=4" width="60px" alt="Rivo.gg"/></a>
|
||||
</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(),
|
||||
}),
|
||||
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(),
|
||||
}),
|
||||
]);
|
||||
|
||||
export type DeployJob = z.infer<typeof deployJobSchema>;
|
||||
16
apps/api/src/types.ts
Normal file
16
apps/api/src/types.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
export interface LemonSqueezyLicenseResponse {
|
||||
valid: boolean;
|
||||
error?: string;
|
||||
meta?: {
|
||||
store_id: string;
|
||||
order_id: number;
|
||||
order_item_id: number;
|
||||
product_id: number;
|
||||
product_name: string;
|
||||
variant_id: number;
|
||||
variant_name: string;
|
||||
customer_id: number;
|
||||
customer_name: string;
|
||||
customer_email: string;
|
||||
};
|
||||
}
|
||||
96
apps/api/src/utils.ts
Normal file
96
apps/api/src/utils.ts
Normal file
@@ -0,0 +1,96 @@
|
||||
import {
|
||||
deployApplication,
|
||||
deployCompose,
|
||||
deployRemoteApplication,
|
||||
deployRemoteCompose,
|
||||
rebuildApplication,
|
||||
rebuildCompose,
|
||||
rebuildRemoteApplication,
|
||||
rebuildRemoteCompose,
|
||||
updateApplicationStatus,
|
||||
updateCompose,
|
||||
} from "@dokploy/server";
|
||||
import type { DeployJob } from "./schema";
|
||||
import type { LemonSqueezyLicenseResponse } from "./types";
|
||||
|
||||
// const LEMON_SQUEEZY_API_KEY = process.env.LEMON_SQUEEZY_API_KEY;
|
||||
// const LEMON_SQUEEZY_STORE_ID = process.env.LEMON_SQUEEZY_STORE_ID;
|
||||
// export const validateLemonSqueezyLicense = async (
|
||||
// licenseKey: string,
|
||||
// ): Promise<LemonSqueezyLicenseResponse> => {
|
||||
// try {
|
||||
// const response = await fetch(
|
||||
// "https://api.lemonsqueezy.com/v1/licenses/validate",
|
||||
// {
|
||||
// method: "POST",
|
||||
// headers: {
|
||||
// "Content-Type": "application/json",
|
||||
// "x-api-key": LEMON_SQUEEZY_API_KEY as string,
|
||||
// },
|
||||
// body: JSON.stringify({
|
||||
// license_key: licenseKey,
|
||||
// store_id: LEMON_SQUEEZY_STORE_ID as string,
|
||||
// }),
|
||||
// },
|
||||
// );
|
||||
|
||||
// return response.json();
|
||||
// } catch (error) {
|
||||
// console.error("Error validating license:", error);
|
||||
// return { valid: false, error: "Error validating license" };
|
||||
// }
|
||||
// };
|
||||
|
||||
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) {
|
||||
console.log(error);
|
||||
if (job.applicationType === "application") {
|
||||
await updateApplicationStatus(job.applicationId, "error");
|
||||
} else if (job.applicationType === "compose") {
|
||||
await updateCompose(job.composeId, {
|
||||
composeStatus: "error",
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
13
apps/api/tsconfig.json
Normal file
13
apps/api/tsconfig.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ESNext",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "Node",
|
||||
"strict": true,
|
||||
"skipLibCheck": true,
|
||||
"outDir": "dist",
|
||||
"jsx": "react-jsx",
|
||||
"jsxImportSource": "hono/jsx"
|
||||
},
|
||||
"exclude": ["node_modules", "dist"]
|
||||
}
|
||||
3116
apps/docs/api.json
3116
apps/docs/api.json
File diff suppressed because it is too large
Load Diff
@@ -74,7 +74,7 @@ export function generateMetadata({
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image",
|
||||
creator: "@siumauricio",
|
||||
creator: "@getdokploy",
|
||||
title: page.data.title,
|
||||
description: page.data.description,
|
||||
images: [
|
||||
|
||||
@@ -72,14 +72,14 @@ export default function Layout({
|
||||
name: "English",
|
||||
},
|
||||
cn: {
|
||||
name: "Chinese",
|
||||
toc: "目錄",
|
||||
search: "搜尋文檔",
|
||||
lastUpdate: "最後更新於",
|
||||
searchNoResult: "沒有結果",
|
||||
previousPage: "上一頁",
|
||||
nextPage: "下一頁",
|
||||
chooseLanguage: "選擇語言",
|
||||
name: "中文",
|
||||
toc: "目录",
|
||||
search: "搜索文档",
|
||||
lastUpdate: "最后更新于",
|
||||
searchNoResult: "没有结果",
|
||||
previousPage: "上一页",
|
||||
nextPage: "下一页",
|
||||
chooseLanguage: "选择语言",
|
||||
},
|
||||
}}
|
||||
>
|
||||
@@ -88,7 +88,7 @@ export default function Layout({
|
||||
i18n
|
||||
tree={pageTree[params.lang]}
|
||||
nav={{
|
||||
title: params.lang === "cn" ? "目錄" : "Dokploy",
|
||||
title: params.lang === "cn" ? "目录" : "Dokploy",
|
||||
url: `/${params.lang}`,
|
||||
transparentMode: "none",
|
||||
}}
|
||||
|
||||
99
apps/docs/content/docs/api/index.cn.mdx
Normal file
99
apps/docs/content/docs/api/index.cn.mdx
Normal file
@@ -0,0 +1,99 @@
|
||||
---
|
||||
title: Dokploy API
|
||||
description: 如何与 Dokploy API 进行交互,面向管理员和用户
|
||||
---
|
||||
|
||||
在某些情况下,您可能需要直接与 Dokploy API 进行交互。以下是管理员和用户如何做到这一点的指南。
|
||||
|
||||
## 对于管理员
|
||||
|
||||
1. 通过访问 `your-vps-ip:3000/swagger` 进入 Swagger UI。
|
||||
2. 使用 Swagger 界面与 API 进行交互。
|
||||
3. 默认情况下,Swagger UI 的访问受到限制,只有经过身份验证的管理员才能访问 API。
|
||||
|
||||
## 对于用户
|
||||
|
||||
1. 默认情况下,用户无法直接访问 API。
|
||||
2. 管理员可以授予用户以下访问权限:
|
||||
- 生成访问令牌
|
||||
- 访问 Swagger UI
|
||||
3. 如果您需要访问权限,请联系您的管理员。
|
||||
|
||||
注意:API 提供了高级功能。确保您理解所执行的操作,以避免对系统造成意外更改。
|
||||
|
||||
## 用法
|
||||
|
||||
默认情况下,OpenApi 基础 URL 为 `http://localhost:3000/api`,您需要将其替换为 Dokploy 实例的 IP 或域名。
|
||||
|
||||
### 身份验证
|
||||
|
||||
API 使用 JWT 令牌进行身份验证。您可以通过访问 `/settings/profile` 页面并进入 API/CLI 部分生成令牌。
|
||||
|
||||
以下是一个经过身份验证的请求示例:
|
||||
```bash
|
||||
curl -X 'GET' \
|
||||
'https://dokploy.com/api/project.all' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Authorization: Bearer YOUR-TOKEN'
|
||||
```
|
||||
然后您将收到类似以下内容的响应:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"projectId": "klZKsyw5g-QT_jrWJ5T-w",
|
||||
"name": "随机",
|
||||
"description": "",
|
||||
"createdAt": "2024-06-19T15:05:58.785Z",
|
||||
"adminId": "_WrKZbs7iJAA3p4N2Yfyu",
|
||||
"applications": [],
|
||||
"mariadb": [],
|
||||
"mongo": [],
|
||||
"mysql": [
|
||||
{
|
||||
"mysqlId": "N3cudwO46TiDXzBm4SaQ1",
|
||||
"name": "mysql",
|
||||
"appName": "random-mysql-924715",
|
||||
"description": "",
|
||||
"databaseName": "mysql",
|
||||
"databaseUser": "mysql",
|
||||
"databasePassword": "h13BzO6y3KYSHaQg",
|
||||
"databaseRootPassword": "mM1b7JeoPA7jArxj",
|
||||
"dockerImage": "mysql:8",
|
||||
"command": null,
|
||||
"env": null,
|
||||
"memoryReservation": null,
|
||||
"memoryLimit": null,
|
||||
"cpuReservation": null,
|
||||
"cpuLimit": null,
|
||||
"externalPort": null,
|
||||
"applicationStatus": "完成",
|
||||
"createdAt": "2024-06-24T01:55:40.378Z",
|
||||
"projectId": "klZKsyw5g-QT_jrWJ5T-w"
|
||||
}
|
||||
],
|
||||
"postgres": [],
|
||||
"redis": [
|
||||
{
|
||||
"redisId": "TtFK5S4QFaIjaNGOb8Ku-",
|
||||
"name": "redis",
|
||||
"appName": "random-redis-7eec62",
|
||||
"description": "",
|
||||
"databasePassword": "Yvb8gqClfomjcue8",
|
||||
"dockerImage": "redis:7",
|
||||
"command": null,
|
||||
"env": null,
|
||||
"memoryReservation": null,
|
||||
"memoryLimit": null,
|
||||
"cpuReservation": null,
|
||||
"cpuLimit": null,
|
||||
"externalPort": 6379,
|
||||
"createdAt": "2024-06-26T06:43:20.570Z",
|
||||
"applicationStatus": "完成",
|
||||
"projectId": "klZKsyw5g-QT_jrWJ5T-w"
|
||||
}
|
||||
],
|
||||
"compose": []
|
||||
}
|
||||
]
|
||||
```
|
||||
33
apps/docs/content/docs/api/meta.cn.json
Normal file
33
apps/docs/content/docs/api/meta.cn.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"title": "CLI",
|
||||
"root": true,
|
||||
"pages": [
|
||||
"---入门---",
|
||||
"index",
|
||||
"---API---",
|
||||
"reference-api/reference-admin",
|
||||
"reference-api/reference-application",
|
||||
"reference-api/reference-auth",
|
||||
"reference-api/reference-backup",
|
||||
"reference-api/reference-certificates",
|
||||
"reference-api/reference-cluster",
|
||||
"reference-api/reference-compose",
|
||||
"reference-api/reference-deployment",
|
||||
"reference-api/reference-destination",
|
||||
"reference-api/reference-docker",
|
||||
"reference-api/reference-domain",
|
||||
"reference-api/reference-mariadb",
|
||||
"reference-api/reference-mongo",
|
||||
"reference-api/reference-mounts",
|
||||
"reference-api/reference-mysql",
|
||||
"reference-api/reference-port",
|
||||
"reference-api/reference-postgres",
|
||||
"reference-api/reference-project",
|
||||
"reference-api/reference-redirects",
|
||||
"reference-api/reference-redis",
|
||||
"reference-api/reference-registry",
|
||||
"reference-api/reference-security",
|
||||
"reference-api/reference-settings",
|
||||
"reference-api/reference-user"
|
||||
]
|
||||
}
|
||||
@@ -28,6 +28,11 @@
|
||||
"reference-api/reference-registry",
|
||||
"reference-api/reference-security",
|
||||
"reference-api/reference-settings",
|
||||
"reference-api/reference-sshKey",
|
||||
"reference-api/reference-gitProvider",
|
||||
"reference-api/reference-bitbucket",
|
||||
"reference-api/reference-github",
|
||||
"reference-api/reference-gitlab",
|
||||
"reference-api/reference-user"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@ In: `header`
|
||||
|
||||
<Property name={"email"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Format: `"email"`</span>
|
||||
<span>Format: `"email"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -218,7 +218,7 @@ In: `header`
|
||||
|
||||
<Property name={"authId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -320,7 +320,7 @@ In: `header`
|
||||
|
||||
<Property name={"token"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -419,7 +419,7 @@ In: `header`
|
||||
|
||||
<Property name={"userId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -439,11 +439,11 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"accesedProjects"} type={"array of string"} required={true} deprecated={undefined}>
|
||||
<Property name={"accesedProjects"} type={"array<string>"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"accesedServices"} type={"array of string"} required={true} deprecated={undefined}>
|
||||
<Property name={"accesedServices"} type={"array<string>"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -459,6 +459,14 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"canAccessToSSHKeys"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"canAccessToGitProviders"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
@@ -488,7 +496,9 @@ curl -X POST "http://localhost:3000/api/admin.assignPermissions" \
|
||||
],
|
||||
"canAccessToTraefikFiles": true,
|
||||
"canAccessToDocker": true,
|
||||
"canAccessToAPI": true
|
||||
"canAccessToAPI": true,
|
||||
"canAccessToSSHKeys": true,
|
||||
"canAccessToGitProviders": true
|
||||
}'
|
||||
```
|
||||
|
||||
@@ -552,382 +562,4 @@ export interface Response {
|
||||
|
||||
</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>
|
||||
@@ -25,7 +25,7 @@ In: `header`
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -750,6 +750,10 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"buildArgs"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
@@ -767,7 +771,8 @@ In: `header`
|
||||
curl -X POST "http://localhost:3000/api/application.saveEnvironment" \
|
||||
-d '{
|
||||
"applicationId": "string",
|
||||
"env": "string"
|
||||
"env": "string",
|
||||
"buildArgs": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
@@ -853,7 +858,7 @@ In: `header`
|
||||
|
||||
<Property name={"buildType"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"dockerfile" | "heroku_buildpacks" | "paketo_buildpacks" | "nixpacks"`</span>
|
||||
<span>Value in: `"dockerfile" | "heroku_buildpacks" | "paketo_buildpacks" | "nixpacks" | "static"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -861,6 +866,14 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"dockerContextPath"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"publishDirectory"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
@@ -879,7 +892,9 @@ curl -X POST "http://localhost:3000/api/application.saveBuildType" \
|
||||
-d '{
|
||||
"applicationId": "string",
|
||||
"buildType": "dockerfile",
|
||||
"dockerfile": "string"
|
||||
"dockerfile": "string",
|
||||
"dockerContextPath": "string",
|
||||
"publishDirectory": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
@@ -979,6 +994,10 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"githubId"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
@@ -999,7 +1018,8 @@ curl -X POST "http://localhost:3000/api/application.saveGithubProvider" \
|
||||
"repository": "string",
|
||||
"branch": "string",
|
||||
"owner": "string",
|
||||
"buildPath": "string"
|
||||
"buildPath": "string",
|
||||
"githubId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
@@ -1065,6 +1085,266 @@ export interface Response {
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/application.saveGitlabProvider"}>
|
||||
|
||||
## application-saveGitlabProvider
|
||||
|
||||
### 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={"gitlabBranch"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabBuildPath"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabOwner"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabRepository"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabId"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabProjectId"} type={"number | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabPathNamespace"} 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/application.saveGitlabProvider" \
|
||||
-d '{
|
||||
"applicationId": "string",
|
||||
"gitlabBranch": "string",
|
||||
"gitlabBuildPath": "string",
|
||||
"gitlabOwner": "string",
|
||||
"gitlabRepository": "string",
|
||||
"gitlabId": "string",
|
||||
"gitlabProjectId": 0,
|
||||
"gitlabPathNamespace": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/application.saveGitlabProvider", {
|
||||
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={"/application.saveBitbucketProvider"}>
|
||||
|
||||
## application-saveBitbucketProvider
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"bitbucketBranch"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketBuildPath"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketOwner"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketRepository"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketId"} type={"string | null"} 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/application.saveBitbucketProvider" \
|
||||
-d '{
|
||||
"bitbucketBranch": "string",
|
||||
"bitbucketBuildPath": "string",
|
||||
"bitbucketOwner": "string",
|
||||
"bitbucketRepository": "string",
|
||||
"bitbucketId": "string",
|
||||
"applicationId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/application.saveBitbucketProvider", {
|
||||
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={"/application.saveDockerProvider"}>
|
||||
|
||||
## application-saveDockerProvider
|
||||
@@ -1210,6 +1490,10 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"customGitSSHKeyId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
@@ -1229,7 +1513,8 @@ curl -X POST "http://localhost:3000/api/application.saveGitProdiver" \
|
||||
"customGitBranch": "string",
|
||||
"applicationId": "string",
|
||||
"customGitBuildPath": "string",
|
||||
"customGitUrl": "string"
|
||||
"customGitUrl": "string",
|
||||
"customGitSSHKeyId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
@@ -1295,206 +1580,6 @@ export interface Response {
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/application.generateSSHKey"}>
|
||||
|
||||
## application-generateSSHKey
|
||||
|
||||
### 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/application.generateSSHKey" \
|
||||
-d '{
|
||||
"applicationId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/application.generateSSHKey", {
|
||||
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={"/application.removeSSHKey"}>
|
||||
|
||||
## application-removeSSHKey
|
||||
|
||||
### 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/application.removeSSHKey" \
|
||||
-d '{
|
||||
"applicationId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/application.removeSSHKey", {
|
||||
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={"/application.markRunning"}>
|
||||
|
||||
## application-markRunning
|
||||
@@ -1611,13 +1696,13 @@ In: `header`
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"name"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1633,6 +1718,10 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"buildArgs"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"memoryReservation"} type={"number | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
@@ -1671,7 +1760,7 @@ In: `header`
|
||||
|
||||
<Property name={"sourceType"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"github" | "docker" | "git"`</span>
|
||||
<span>Value in: `"github" | "docker" | "git"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1695,6 +1784,46 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabProjectId"} type={"number | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabRepository"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabOwner"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabBranch"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabBuildPath"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabPathNamespace"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketRepository"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketOwner"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketBranch"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketBuildPath"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"username"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
@@ -1719,7 +1848,7 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"customGitSSHKey"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
<Property name={"customGitSSHKeyId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1727,11 +1856,19 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"dockerContextPath"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"dropBuildPath"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"healthCheckSwarm"} type={"object | null"} required={false} deprecated={undefined}>
|
||||
|
||||
<ObjectCollapsible name={"healthCheckSwarm"}>
|
||||
|
||||
<Property name={"Test"} type={"array of string"} required={false} deprecated={undefined}>
|
||||
<Property name={"Test"} type={"array<string>"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1783,13 +1920,13 @@ In: `header`
|
||||
|
||||
<ObjectCollapsible name={"placementSwarm"}>
|
||||
|
||||
<Property name={"Constraints"} type={"array of string"} required={false} deprecated={undefined}>
|
||||
<Property name={"Constraints"} type={"array<string>"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"Preferences"} type={"array of object"} required={false} deprecated={undefined}>
|
||||
<Property name={"Preferences"} type={"array<object>"} required={false} deprecated={undefined}>
|
||||
|
||||
<ObjectCollapsible name={"Preferences"}>
|
||||
<ObjectCollapsible name={"Object 1"}>
|
||||
|
||||
<Property name={"Spread"} type={"object"} required={true} deprecated={undefined}>
|
||||
|
||||
@@ -1811,9 +1948,9 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"Platforms"} type={"array of object"} required={false} deprecated={undefined}>
|
||||
<Property name={"Platforms"} type={"array<object>"} required={false} deprecated={undefined}>
|
||||
|
||||
<ObjectCollapsible name={"Platforms"}>
|
||||
<ObjectCollapsible name={"Object 1"}>
|
||||
|
||||
<Property name={"Architecture"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
@@ -1959,15 +2096,15 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"networkSwarm"} type={"array of object | null"} required={false} deprecated={undefined}>
|
||||
<Property name={"networkSwarm"} type={"array<object> | null"} required={false} deprecated={undefined}>
|
||||
|
||||
<ObjectCollapsible name={"networkSwarm"}>
|
||||
<ObjectCollapsible name={"Object 1"}>
|
||||
|
||||
<Property name={"Target"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"Aliases"} type={"array of string"} required={false} deprecated={undefined}>
|
||||
<Property name={"Aliases"} type={"array<string>"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1989,13 +2126,17 @@ In: `header`
|
||||
|
||||
<Property name={"applicationStatus"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"buildType"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"dockerfile" | "heroku_buildpacks" | "paketo_buildpacks" | "nixpacks"`</span>
|
||||
<span>Value in: `"dockerfile" | "heroku_buildpacks" | "paketo_buildpacks" | "nixpacks" | "static"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"publishDirectory"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -2011,6 +2152,18 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"githubId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
@@ -2032,6 +2185,7 @@ curl -X POST "http://localhost:3000/api/application.update" \
|
||||
"appName": "string",
|
||||
"description": "string",
|
||||
"env": "string",
|
||||
"buildArgs": "string",
|
||||
"memoryReservation": 0,
|
||||
"memoryLimit": 0,
|
||||
"cpuReservation": 0,
|
||||
@@ -2047,14 +2201,26 @@ curl -X POST "http://localhost:3000/api/application.update" \
|
||||
"branch": "string",
|
||||
"buildPath": "string",
|
||||
"autoDeploy": true,
|
||||
"gitlabProjectId": 0,
|
||||
"gitlabRepository": "string",
|
||||
"gitlabOwner": "string",
|
||||
"gitlabBranch": "string",
|
||||
"gitlabBuildPath": "string",
|
||||
"gitlabPathNamespace": "string",
|
||||
"bitbucketRepository": "string",
|
||||
"bitbucketOwner": "string",
|
||||
"bitbucketBranch": "string",
|
||||
"bitbucketBuildPath": "string",
|
||||
"username": "string",
|
||||
"password": "string",
|
||||
"dockerImage": "string",
|
||||
"customGitUrl": "string",
|
||||
"customGitBranch": "string",
|
||||
"customGitBuildPath": "string",
|
||||
"customGitSSHKey": "string",
|
||||
"customGitSSHKeyId": "string",
|
||||
"dockerfile": "string",
|
||||
"dockerContextPath": "string",
|
||||
"dropBuildPath": "string",
|
||||
"healthCheckSwarm": {
|
||||
"Test": [
|
||||
"string"
|
||||
@@ -2132,9 +2298,13 @@ curl -X POST "http://localhost:3000/api/application.update" \
|
||||
"replicas": 0,
|
||||
"applicationStatus": "idle",
|
||||
"buildType": "dockerfile",
|
||||
"publishDirectory": "string",
|
||||
"createdAt": "string",
|
||||
"registryId": "string",
|
||||
"projectId": "string"
|
||||
"projectId": "string",
|
||||
"githubId": "string",
|
||||
"gitlabId": "string",
|
||||
"bitbucketId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
|
||||
@@ -25,13 +25,13 @@ In: `header`
|
||||
|
||||
<Property name={"email"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Format: `"email"`</span>
|
||||
<span>Format: `"email"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `8`</span>
|
||||
<span>Minimum length: `8`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -134,7 +134,7 @@ In: `header`
|
||||
|
||||
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `8`</span>
|
||||
<span>Minimum length: `8`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -144,7 +144,7 @@ In: `header`
|
||||
|
||||
<Property name={"token"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -248,13 +248,13 @@ In: `header`
|
||||
|
||||
<Property name={"email"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Format: `"email"`</span>
|
||||
<span>Format: `"email"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `8`</span>
|
||||
<span>Minimum length: `8`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -551,7 +551,7 @@ In: `header`
|
||||
|
||||
<Property name={"rol"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"admin" | "user"`</span>
|
||||
<span>Value in: `"admin" | "user"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -869,7 +869,7 @@ In: `header`
|
||||
|
||||
<Property name={"id"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -883,7 +883,7 @@ In: `header`
|
||||
|
||||
<Property name={"rol"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"admin" | "user"`</span>
|
||||
<span>Value in: `"admin" | "user"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1104,13 +1104,13 @@ In: `header`
|
||||
|
||||
<Property name={"pin"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `6`</span>
|
||||
<span>Minimum length: `6`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"secret"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1213,7 +1213,7 @@ In: `header`
|
||||
|
||||
<Property name={"pin"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `6`</span>
|
||||
<span>Minimum length: `6`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ In: `header`
|
||||
|
||||
<Property name={"prefix"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -43,7 +43,7 @@ In: `header`
|
||||
|
||||
<Property name={"database"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -65,7 +65,7 @@ In: `header`
|
||||
|
||||
<Property name={"databaseType"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"postgres" | "mariadb" | "mysql" | "mongo"`</span>
|
||||
<span>Value in: `"postgres" | "mariadb" | "mysql" | "mongo"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -281,7 +281,7 @@ In: `header`
|
||||
|
||||
<Property name={"prefix"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -295,7 +295,7 @@ In: `header`
|
||||
|
||||
<Property name={"database"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
779
apps/docs/content/docs/api/reference-api/reference-bitbucket.mdx
Normal file
779
apps/docs/content/docs/api/reference-api/reference-bitbucket.mdx
Normal file
@@ -0,0 +1,779 @@
|
||||
---
|
||||
title: bitbucket
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/bitbucket.create"}>
|
||||
|
||||
## bitbucket-create
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"bitbucketId"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketUsername"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"appPassword"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketWorkspaceName"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitProviderId"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"authId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/bitbucket.create" \
|
||||
-d '{
|
||||
"bitbucketId": "string",
|
||||
"bitbucketUsername": "string",
|
||||
"appPassword": "string",
|
||||
"bitbucketWorkspaceName": "string",
|
||||
"gitProviderId": "string",
|
||||
"authId": "string",
|
||||
"name": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/bitbucket.create", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/bitbucket.one"}>
|
||||
|
||||
## bitbucket-one
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"bitbucketId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/bitbucket.one?bitbucketId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/bitbucket.one?bitbucketId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/bitbucket.bitbucketProviders"}>
|
||||
|
||||
## bitbucket-bitbucketProviders
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/bitbucket.bitbucketProviders"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/bitbucket.bitbucketProviders", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/bitbucket.getBitbucketRepositories"}>
|
||||
|
||||
## bitbucket-getBitbucketRepositories
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"bitbucketId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/bitbucket.getBitbucketRepositories?bitbucketId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/bitbucket.getBitbucketRepositories?bitbucketId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/bitbucket.getBitbucketBranches"}>
|
||||
|
||||
## bitbucket-getBitbucketBranches
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"owner"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"repo"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketId"} type={"string"} required={false} deprecated={false}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/bitbucket.getBitbucketBranches?owner=string&repo=string&bitbucketId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/bitbucket.getBitbucketBranches?owner=string&repo=string&bitbucketId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/bitbucket.testConnection"}>
|
||||
|
||||
## bitbucket-testConnection
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"bitbucketId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketUsername"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"workspaceName"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/bitbucket.testConnection" \
|
||||
-d '{
|
||||
"bitbucketId": "string",
|
||||
"bitbucketUsername": "string",
|
||||
"workspaceName": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/bitbucket.testConnection", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/bitbucket.update"}>
|
||||
|
||||
## bitbucket-update
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"bitbucketId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketUsername"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"appPassword"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketWorkspaceName"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitProviderId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/bitbucket.update" \
|
||||
-d '{
|
||||
"bitbucketId": "string",
|
||||
"bitbucketUsername": "string",
|
||||
"appPassword": "string",
|
||||
"bitbucketWorkspaceName": "string",
|
||||
"gitProviderId": "string",
|
||||
"name": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/bitbucket.update", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
@@ -29,19 +29,19 @@ In: `header`
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"certificateData"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"privateKey"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -156,7 +156,7 @@ In: `header`
|
||||
|
||||
<Property name={"certificateId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -255,7 +255,7 @@ In: `header`
|
||||
|
||||
<Property name={"certificateId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ In: `header`
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -39,7 +39,7 @@ In: `header`
|
||||
|
||||
<Property name={"composeType"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"docker-compose" | "stack"`</span>
|
||||
<span>Value in: `"docker-compose" | "stack"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -149,7 +149,7 @@ In: `header`
|
||||
|
||||
<Property name={"composeId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -252,7 +252,7 @@ In: `header`
|
||||
|
||||
<Property name={"name"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -278,13 +278,13 @@ In: `header`
|
||||
|
||||
<Property name={"sourceType"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"git" | "github" | "raw"`</span>
|
||||
<span>Value in: `"git" | "github" | "gitlab" | "bitbucket" | "raw"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"composeType"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"docker-compose" | "stack"`</span>
|
||||
<span>Value in: `"docker-compose" | "stack"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -304,6 +304,38 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabProjectId"} type={"number | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabRepository"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabOwner"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabBranch"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabPathNamespace"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketRepository"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketOwner"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketBranch"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"customGitUrl"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
@@ -312,7 +344,7 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"customGitSSHKey"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
<Property name={"customGitSSHKeyId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -322,13 +354,13 @@ In: `header`
|
||||
|
||||
<Property name={"composePath"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"composeStatus"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -340,6 +372,18 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"githubId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"bitbucketId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
@@ -369,14 +413,25 @@ curl -X POST "http://localhost:3000/api/compose.update" \
|
||||
"owner": "string",
|
||||
"branch": "string",
|
||||
"autoDeploy": true,
|
||||
"gitlabProjectId": 0,
|
||||
"gitlabRepository": "string",
|
||||
"gitlabOwner": "string",
|
||||
"gitlabBranch": "string",
|
||||
"gitlabPathNamespace": "string",
|
||||
"bitbucketRepository": "string",
|
||||
"bitbucketOwner": "string",
|
||||
"bitbucketBranch": "string",
|
||||
"customGitUrl": "string",
|
||||
"customGitBranch": "string",
|
||||
"customGitSSHKey": "string",
|
||||
"customGitSSHKeyId": "string",
|
||||
"command": "string",
|
||||
"composePath": "string",
|
||||
"composeStatus": "idle",
|
||||
"projectId": "string",
|
||||
"createdAt": "string"
|
||||
"createdAt": "string",
|
||||
"githubId": "string",
|
||||
"gitlabId": "string",
|
||||
"bitbucketId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
@@ -458,7 +513,7 @@ In: `header`
|
||||
|
||||
<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -560,7 +615,7 @@ In: `header`
|
||||
|
||||
<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -646,9 +701,9 @@ export interface Response {
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/compose.allServices"}>
|
||||
<APIInfo method={"GET"} route={"/compose.loadServices"}>
|
||||
|
||||
## compose-allServices
|
||||
## compose-loadServices
|
||||
|
||||
### Authorization
|
||||
|
||||
@@ -662,7 +717,13 @@ In: `header`
|
||||
|
||||
<Property name={"composeId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"type"} type={"Any properties in not unknown, string"} required={false} deprecated={false}>
|
||||
|
||||
<span>Default: `"cache"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -680,7 +741,7 @@ In: `header`
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/compose.allServices?composeId=string"
|
||||
curl -X GET "http://localhost:3000/api/compose.loadServices?composeId=string&type=cache"
|
||||
```
|
||||
|
||||
</Request>
|
||||
@@ -688,7 +749,7 @@ curl -X GET "http://localhost:3000/api/compose.allServices?composeId=string"
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/compose.allServices?composeId=string", {
|
||||
fetch("http://localhost:3000/api/compose.loadServices?composeId=string&type=cache", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
@@ -745,6 +806,108 @@ export interface Response {
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/compose.fetchSourceType"}>
|
||||
|
||||
## compose-fetchSourceType
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"composeId"} 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/compose.fetchSourceType" \
|
||||
-d '{
|
||||
"composeId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/compose.fetchSourceType", {
|
||||
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={"/compose.randomizeCompose"}>
|
||||
|
||||
## compose-randomizeCompose
|
||||
@@ -761,7 +924,7 @@ In: `header`
|
||||
|
||||
<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -852,6 +1015,105 @@ export interface Response {
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/compose.getConvertedCompose"}>
|
||||
|
||||
## compose-getConvertedCompose
|
||||
|
||||
### 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/compose.getConvertedCompose?composeId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/compose.getConvertedCompose?composeId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/compose.deploy"}>
|
||||
|
||||
## compose-deploy
|
||||
@@ -868,7 +1130,7 @@ In: `header`
|
||||
|
||||
<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -970,7 +1232,7 @@ In: `header`
|
||||
|
||||
<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1072,7 +1334,7 @@ In: `header`
|
||||
|
||||
<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1174,7 +1436,7 @@ In: `header`
|
||||
|
||||
<Property name={"composeId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1257,108 +1519,6 @@ export interface Response {
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/compose.generateSSHKey"}>
|
||||
|
||||
## compose-generateSSHKey
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"composeId"} 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/compose.generateSSHKey" \
|
||||
-d '{
|
||||
"composeId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/compose.generateSSHKey", {
|
||||
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={"/compose.refreshToken"}>
|
||||
|
||||
## compose-refreshToken
|
||||
@@ -1375,7 +1535,7 @@ In: `header`
|
||||
|
||||
<Property name={"composeId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1461,108 +1621,6 @@ export interface Response {
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/compose.removeSSHKey"}>
|
||||
|
||||
## compose-removeSSHKey
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"composeId"} 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/compose.removeSSHKey" \
|
||||
-d '{
|
||||
"composeId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/compose.removeSSHKey", {
|
||||
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={"/compose.deployTemplate"}>
|
||||
|
||||
## compose-deployTemplate
|
||||
@@ -1583,7 +1641,7 @@ In: `header`
|
||||
|
||||
<Property name={"id"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1759,4 +1817,95 @@ export interface Response {
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/compose.getTags"}>
|
||||
|
||||
## compose-getTags
|
||||
|
||||
### 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/compose.getTags"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/compose.getTags", {
|
||||
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>
|
||||
@@ -25,7 +25,7 @@ In: `header`
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -124,7 +124,7 @@ In: `header`
|
||||
|
||||
<Property name={"composeId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ In: `header`
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -152,7 +152,7 @@ In: `header`
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -567,7 +567,7 @@ In: `header`
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@ In: `header`
|
||||
|
||||
<Property name={"containerId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -213,9 +213,13 @@ In: `header`
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"appType"} type={"Any properties in string, string"} required={false} deprecated={false}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"appName"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -233,7 +237,7 @@ In: `header`
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/docker.getContainersByAppNameMatch?appName=string"
|
||||
curl -X GET "http://localhost:3000/api/docker.getContainersByAppNameMatch?appType=stack&appName=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
@@ -241,7 +245,7 @@ curl -X GET "http://localhost:3000/api/docker.getContainersByAppNameMatch?appNam
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/docker.getContainersByAppNameMatch?appName=string", {
|
||||
fetch("http://localhost:3000/api/docker.getContainersByAppNameMatch?appType=stack&appName=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
@@ -314,7 +318,7 @@ In: `header`
|
||||
|
||||
<Property name={"appName"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
@@ -25,31 +25,49 @@ In: `header`
|
||||
|
||||
<Property name={"host"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"path"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
<Property name={"path"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"port"} type={"number | null"} required={true} deprecated={undefined}>
|
||||
<Property name={"port"} type={"number | null"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum: `1`</span>
|
||||
|
||||
<span>Maximum: `65535`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"https"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
<Property name={"https"} type={"boolean"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
<Property name={"applicationId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"certificateType"} type={"string"} required={true} deprecated={undefined}>
|
||||
<Property name={"certificateType"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"letsencrypt" | "none"`</span>
|
||||
<span>Value in: `"letsencrypt" | "none"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"composeId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"serviceName"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"domainType"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"compose" | "application"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -71,10 +89,13 @@ curl -X POST "http://localhost:3000/api/domain.create" \
|
||||
-d '{
|
||||
"host": "string",
|
||||
"path": "string",
|
||||
"port": 0,
|
||||
"port": 1,
|
||||
"https": true,
|
||||
"applicationId": "string",
|
||||
"certificateType": "letsencrypt"
|
||||
"certificateType": "letsencrypt",
|
||||
"composeId": "string",
|
||||
"serviceName": "string",
|
||||
"domainType": "compose"
|
||||
}'
|
||||
```
|
||||
|
||||
@@ -237,9 +258,9 @@ export interface Response {
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/domain.generateDomain"}>
|
||||
<APIInfo method={"GET"} route={"/domain.byComposeId"}>
|
||||
|
||||
## domain-generateDomain
|
||||
## domain-byComposeId
|
||||
|
||||
### Authorization
|
||||
|
||||
@@ -249,9 +270,11 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
<Property name={"composeId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -269,10 +292,7 @@ In: `header`
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/domain.generateDomain" \
|
||||
-d '{
|
||||
"applicationId": "string"
|
||||
}'
|
||||
curl -X GET "http://localhost:3000/api/domain.byComposeId?composeId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
@@ -280,8 +300,8 @@ curl -X POST "http://localhost:3000/api/domain.generateDomain" \
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/domain.generateDomain", {
|
||||
method: "POST"
|
||||
fetch("http://localhost:3000/api/domain.byComposeId?composeId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
@@ -337,9 +357,9 @@ export interface Response {
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/domain.generateWildcard"}>
|
||||
<APIInfo method={"POST"} route={"/domain.generateDomain"}>
|
||||
|
||||
## domain-generateWildcard
|
||||
## domain-generateDomain
|
||||
|
||||
### Authorization
|
||||
|
||||
@@ -351,7 +371,9 @@ In: `header`
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
<Property name={"appName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -369,9 +391,9 @@ In: `header`
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/domain.generateWildcard" \
|
||||
curl -X POST "http://localhost:3000/api/domain.generateDomain" \
|
||||
-d '{
|
||||
"applicationId": "string"
|
||||
"appName": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
@@ -380,7 +402,7 @@ curl -X POST "http://localhost:3000/api/domain.generateWildcard" \
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/domain.generateWildcard", {
|
||||
fetch("http://localhost:3000/api/domain.generateDomain", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
@@ -451,35 +473,47 @@ In: `header`
|
||||
|
||||
### 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>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"path"} type={"string | null"} required={true} deprecated={undefined}>
|
||||
<Property name={"path"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"port"} type={"number | null"} required={true} deprecated={undefined}>
|
||||
<Property name={"port"} type={"number | null"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum: `1`</span>
|
||||
|
||||
<span>Maximum: `65535`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"https"} type={"boolean"} required={true} deprecated={undefined}>
|
||||
<Property name={"https"} type={"boolean"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"certificateType"} type={"string"} required={true} deprecated={undefined}>
|
||||
<Property name={"certificateType"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"letsencrypt" | "none"`</span>
|
||||
<span>Value in: `"letsencrypt" | "none"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"serviceName"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"domainType"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"compose" | "application"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"domainId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -499,12 +533,14 @@ In: `header`
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/domain.update" \
|
||||
-d '{
|
||||
"domainId": "string",
|
||||
"host": "string",
|
||||
"path": "string",
|
||||
"port": 0,
|
||||
"port": 1,
|
||||
"https": true,
|
||||
"certificateType": "letsencrypt"
|
||||
"certificateType": "letsencrypt",
|
||||
"serviceName": "string",
|
||||
"domainType": "compose",
|
||||
"domainId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
@@ -586,8 +622,6 @@ In: `header`
|
||||
|
||||
<Property name={"domainId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
@@ -685,8 +719,6 @@ In: `header`
|
||||
|
||||
<Property name={"domainId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
|
||||
@@ -0,0 +1,203 @@
|
||||
---
|
||||
title: gitProvider
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/gitProvider.getAll"}>
|
||||
|
||||
## gitProvider-getAll
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/gitProvider.getAll"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/gitProvider.getAll", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/gitProvider.remove"}>
|
||||
|
||||
## gitProvider-remove
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"gitProviderId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/gitProvider.remove" \
|
||||
-d '{
|
||||
"gitProviderId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/gitProvider.remove", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
661
apps/docs/content/docs/api/reference-api/reference-github.mdx
Normal file
661
apps/docs/content/docs/api/reference-api/reference-github.mdx
Normal file
@@ -0,0 +1,661 @@
|
||||
---
|
||||
title: github
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/github.one"}>
|
||||
|
||||
## github-one
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"githubId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/github.one?githubId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/github.one?githubId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/github.getGithubRepositories"}>
|
||||
|
||||
## github-getGithubRepositories
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"githubId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/github.getGithubRepositories?githubId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/github.getGithubRepositories?githubId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/github.getGithubBranches"}>
|
||||
|
||||
## github-getGithubBranches
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"repo"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"owner"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"githubId"} type={"string"} required={false} deprecated={false}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/github.getGithubBranches?repo=string&owner=string&githubId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/github.getGithubBranches?repo=string&owner=string&githubId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/github.githubProviders"}>
|
||||
|
||||
## github-githubProviders
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/github.githubProviders"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/github.githubProviders", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/github.testConnection"}>
|
||||
|
||||
## github-testConnection
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"githubId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/github.testConnection" \
|
||||
-d '{
|
||||
"githubId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/github.testConnection", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/github.update"}>
|
||||
|
||||
## github-update
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"githubId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"githubAppName"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"githubAppId"} type={"number | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"githubClientId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"githubClientSecret"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"githubInstallationId"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"githubPrivateKey"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"githubWebhookSecret"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitProviderId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/github.update" \
|
||||
-d '{
|
||||
"githubId": "string",
|
||||
"githubAppName": "string",
|
||||
"githubAppId": 0,
|
||||
"githubClientId": "string",
|
||||
"githubClientSecret": "string",
|
||||
"githubInstallationId": "string",
|
||||
"githubPrivateKey": "string",
|
||||
"githubWebhookSecret": "string",
|
||||
"gitProviderId": "string",
|
||||
"name": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/github.update", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
816
apps/docs/content/docs/api/reference-api/reference-gitlab.mdx
Normal file
816
apps/docs/content/docs/api/reference-api/reference-gitlab.mdx
Normal file
@@ -0,0 +1,816 @@
|
||||
---
|
||||
title: gitlab
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/gitlab.create"}>
|
||||
|
||||
## gitlab-create
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"gitlabId"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"redirectUri"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"secret"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"accessToken"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"refreshToken"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"groupName"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"expiresAt"} type={"number | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitProviderId"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"authId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/gitlab.create" \
|
||||
-d '{
|
||||
"gitlabId": "string",
|
||||
"applicationId": "string",
|
||||
"redirectUri": "string",
|
||||
"secret": "string",
|
||||
"accessToken": "string",
|
||||
"refreshToken": "string",
|
||||
"groupName": "string",
|
||||
"expiresAt": 0,
|
||||
"gitProviderId": "string",
|
||||
"authId": "string",
|
||||
"name": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/gitlab.create", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/gitlab.one"}>
|
||||
|
||||
## gitlab-one
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"gitlabId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/gitlab.one?gitlabId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/gitlab.one?gitlabId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/gitlab.gitlabProviders"}>
|
||||
|
||||
## gitlab-gitlabProviders
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/gitlab.gitlabProviders"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/gitlab.gitlabProviders", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/gitlab.getGitlabRepositories"}>
|
||||
|
||||
## gitlab-getGitlabRepositories
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"gitlabId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/gitlab.getGitlabRepositories?gitlabId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/gitlab.getGitlabRepositories?gitlabId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/gitlab.getGitlabBranches"}>
|
||||
|
||||
## gitlab-getGitlabBranches
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"id"} type={"number"} required={false} deprecated={false}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"owner"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"repo"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitlabId"} type={"string"} required={false} deprecated={false}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/gitlab.getGitlabBranches?id=0&owner=string&repo=string&gitlabId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/gitlab.getGitlabBranches?id=0&owner=string&repo=string&gitlabId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/gitlab.testConnection"}>
|
||||
|
||||
## gitlab-testConnection
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"gitlabId"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"groupName"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/gitlab.testConnection" \
|
||||
-d '{
|
||||
"gitlabId": "string",
|
||||
"groupName": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/gitlab.testConnection", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/gitlab.update"}>
|
||||
|
||||
## gitlab-update
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"gitlabId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"redirectUri"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"secret"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"accessToken"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"refreshToken"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"groupName"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"expiresAt"} type={"number | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"gitProviderId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/gitlab.update" \
|
||||
-d '{
|
||||
"gitlabId": "string",
|
||||
"applicationId": "string",
|
||||
"redirectUri": "string",
|
||||
"secret": "string",
|
||||
"accessToken": "string",
|
||||
"refreshToken": "string",
|
||||
"groupName": "string",
|
||||
"expiresAt": 0,
|
||||
"gitProviderId": "string",
|
||||
"name": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/gitlab.update", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
@@ -25,19 +25,19 @@ In: `header`
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"appName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"dockerImage"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"mariadb:6"`</span>
|
||||
<span>Default: `"mariadb:6"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -55,13 +55,13 @@ In: `header`
|
||||
|
||||
<Property name={"databaseName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"databaseUser"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -681,7 +681,7 @@ In: `header`
|
||||
|
||||
<Property name={"applicationStatus"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -993,7 +993,7 @@ In: `header`
|
||||
|
||||
<Property name={"appName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1096,19 +1096,19 @@ In: `header`
|
||||
|
||||
<Property name={"mariadbId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"name"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"appName"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1118,13 +1118,13 @@ In: `header`
|
||||
|
||||
<Property name={"databaseName"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"databaseUser"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1138,7 +1138,7 @@ In: `header`
|
||||
|
||||
<Property name={"dockerImage"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"mariadb:6"`</span>
|
||||
<span>Default: `"mariadb:6"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1172,7 +1172,7 @@ In: `header`
|
||||
|
||||
<Property name={"applicationStatus"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
@@ -25,19 +25,19 @@ In: `header`
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"appName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"dockerImage"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"mongo:15"`</span>
|
||||
<span>Default: `"mongo:15"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -51,7 +51,7 @@ In: `header`
|
||||
|
||||
<Property name={"databaseUser"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -669,7 +669,7 @@ In: `header`
|
||||
|
||||
<Property name={"applicationStatus"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -776,7 +776,7 @@ In: `header`
|
||||
|
||||
<Property name={"appName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1084,19 +1084,19 @@ In: `header`
|
||||
|
||||
<Property name={"mongoId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"name"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"appName"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1106,7 +1106,7 @@ In: `header`
|
||||
|
||||
<Property name={"databaseUser"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1116,7 +1116,7 @@ In: `header`
|
||||
|
||||
<Property name={"dockerImage"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"mongo:15"`</span>
|
||||
<span>Default: `"mongo:15"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1150,7 +1150,7 @@ In: `header`
|
||||
|
||||
<Property name={"applicationStatus"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ In: `header`
|
||||
|
||||
<Property name={"type"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"bind" | "volume" | "file"`</span>
|
||||
<span>Value in: `"bind" | "volume" | "file"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -43,21 +43,25 @@ In: `header`
|
||||
|
||||
<Property name={"mountPath"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"serviceType"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"application"`</span>
|
||||
<span>Default: `"application"`</span>
|
||||
|
||||
<span>Value in: `"application" | "postgres" | "mysql" | "mariadb" | "mongo" | "redis" | "compose"`</span>
|
||||
<span>Value in: `"application" | "postgres" | "mysql" | "mariadb" | "mongo" | "redis" | "compose"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"filePath"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"serviceId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -83,6 +87,7 @@ curl -X POST "http://localhost:3000/api/mounts.create" \
|
||||
"content": "string",
|
||||
"mountPath": "string",
|
||||
"serviceType": "application",
|
||||
"filePath": "string",
|
||||
"serviceId": "string"
|
||||
}'
|
||||
```
|
||||
@@ -362,13 +367,13 @@ In: `header`
|
||||
|
||||
<Property name={"mountId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"type"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"bind" | "volume" | "file"`</span>
|
||||
<span>Value in: `"bind" | "volume" | "file"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -380,21 +385,25 @@ In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"filePath"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"content"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"serviceType"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"application"`</span>
|
||||
<span>Default: `"application"`</span>
|
||||
|
||||
<span>Value in: `"application" | "postgres" | "mysql" | "mariadb" | "mongo" | "redis" | "compose"`</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>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -446,6 +455,7 @@ curl -X POST "http://localhost:3000/api/mounts.update" \
|
||||
"type": "bind",
|
||||
"hostPath": "string",
|
||||
"volumeName": "string",
|
||||
"filePath": "string",
|
||||
"content": "string",
|
||||
"serviceType": "application",
|
||||
"mountPath": "string",
|
||||
|
||||
@@ -25,19 +25,19 @@ In: `header`
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"appName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"dockerImage"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"mysql:8"`</span>
|
||||
<span>Default: `"mysql:8"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -51,13 +51,13 @@ In: `header`
|
||||
|
||||
<Property name={"databaseName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"databaseUser"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -681,7 +681,7 @@ In: `header`
|
||||
|
||||
<Property name={"applicationStatus"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -788,7 +788,7 @@ In: `header`
|
||||
|
||||
<Property name={"appName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1096,19 +1096,19 @@ In: `header`
|
||||
|
||||
<Property name={"mysqlId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"name"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"appName"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1118,13 +1118,13 @@ In: `header`
|
||||
|
||||
<Property name={"databaseName"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"databaseUser"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1138,7 +1138,7 @@ In: `header`
|
||||
|
||||
<Property name={"dockerImage"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"mysql:8"`</span>
|
||||
<span>Default: `"mysql:8"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1172,7 +1172,7 @@ In: `header`
|
||||
|
||||
<Property name={"applicationStatus"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
1957
apps/docs/content/docs/api/reference-api/reference-notification.mdx
Normal file
1957
apps/docs/content/docs/api/reference-api/reference-notification.mdx
Normal file
File diff suppressed because it is too large
Load Diff
@@ -33,15 +33,15 @@ In: `header`
|
||||
|
||||
<Property name={"protocol"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"tcp"`</span>
|
||||
<span>Default: `"tcp"`</span>
|
||||
|
||||
<span>Value in: `"tcp" | "udp"`</span>
|
||||
<span>Value in: `"tcp" | "udp"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"applicationId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -146,7 +146,7 @@ In: `header`
|
||||
|
||||
<Property name={"portId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -245,7 +245,7 @@ In: `header`
|
||||
|
||||
<Property name={"portId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -347,7 +347,7 @@ In: `header`
|
||||
|
||||
<Property name={"portId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -361,9 +361,9 @@ In: `header`
|
||||
|
||||
<Property name={"protocol"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"tcp"`</span>
|
||||
<span>Default: `"tcp"`</span>
|
||||
|
||||
<span>Value in: `"tcp" | "udp"`</span>
|
||||
<span>Value in: `"tcp" | "udp"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ In: `header`
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -35,13 +35,13 @@ In: `header`
|
||||
|
||||
<Property name={"databaseName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"databaseUser"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -51,7 +51,7 @@ In: `header`
|
||||
|
||||
<Property name={"dockerImage"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"postgres:15"`</span>
|
||||
<span>Default: `"postgres:15"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -674,7 +674,7 @@ In: `header`
|
||||
|
||||
<Property name={"applicationStatus"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1087,13 +1087,13 @@ In: `header`
|
||||
|
||||
<Property name={"postgresId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"name"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1103,13 +1103,13 @@ In: `header`
|
||||
|
||||
<Property name={"databaseName"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"databaseUser"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1123,7 +1123,7 @@ In: `header`
|
||||
|
||||
<Property name={"dockerImage"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"postgres:15"`</span>
|
||||
<span>Default: `"postgres:15"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1157,7 +1157,7 @@ In: `header`
|
||||
|
||||
<Property name={"applicationStatus"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ In: `header`
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -132,7 +132,7 @@ In: `header`
|
||||
|
||||
<Property name={"projectId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -322,7 +322,7 @@ In: `header`
|
||||
|
||||
<Property name={"projectId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -424,7 +424,7 @@ In: `header`
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -434,7 +434,7 @@ In: `header`
|
||||
|
||||
<Property name={"projectId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
@@ -25,13 +25,13 @@ In: `header`
|
||||
|
||||
<Property name={"regex"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"replacement"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -144,7 +144,7 @@ In: `header`
|
||||
|
||||
<Property name={"redirectId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -243,7 +243,7 @@ In: `header`
|
||||
|
||||
<Property name={"redirectId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -345,19 +345,19 @@ In: `header`
|
||||
|
||||
<Property name={"redirectId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"regex"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"replacement"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
@@ -25,13 +25,13 @@ In: `header`
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"appName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -41,7 +41,7 @@ In: `header`
|
||||
|
||||
<Property name={"dockerImage"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"redis:8"`</span>
|
||||
<span>Default: `"redis:8"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -357,7 +357,7 @@ In: `header`
|
||||
|
||||
<Property name={"appName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -769,7 +769,7 @@ In: `header`
|
||||
|
||||
<Property name={"applicationStatus"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1077,19 +1077,19 @@ In: `header`
|
||||
|
||||
<Property name={"redisId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"name"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"appName"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1103,7 +1103,7 @@ In: `header`
|
||||
|
||||
<Property name={"dockerImage"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"redis:8"`</span>
|
||||
<span>Default: `"redis:8"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1141,7 +1141,7 @@ In: `header`
|
||||
|
||||
<Property name={"applicationStatus"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
<span>Value in: `"idle" | "running" | "done" | "error"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
@@ -25,19 +25,19 @@ In: `header`
|
||||
|
||||
<Property name={"registryName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"username"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -47,7 +47,7 @@ In: `header`
|
||||
|
||||
<Property name={"registryType"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"selfHosted" | "cloud"`</span>
|
||||
<span>Value in: `"selfHosted" | "cloud"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -158,7 +158,7 @@ In: `header`
|
||||
|
||||
<Property name={"registryId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -260,13 +260,13 @@ In: `header`
|
||||
|
||||
<Property name={"registryId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"registryName"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -276,19 +276,19 @@ In: `header`
|
||||
|
||||
<Property name={"username"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"password"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"registryUrl"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -298,13 +298,13 @@ In: `header`
|
||||
|
||||
<Property name={"registryType"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"selfHosted" | "cloud"`</span>
|
||||
<span>Value in: `"selfHosted" | "cloud"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"adminId"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -505,7 +505,7 @@ In: `header`
|
||||
|
||||
<Property name={"registryId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -604,19 +604,19 @@ In: `header`
|
||||
|
||||
<Property name={"registryName"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"username"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -626,7 +626,7 @@ In: `header`
|
||||
|
||||
<Property name={"registryType"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"selfHosted" | "cloud"`</span>
|
||||
<span>Value in: `"selfHosted" | "cloud"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -737,19 +737,19 @@ In: `header`
|
||||
|
||||
<Property name={"registryUrl"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"username"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
@@ -29,13 +29,13 @@ In: `header`
|
||||
|
||||
<Property name={"username"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -139,7 +139,7 @@ In: `header`
|
||||
|
||||
<Property name={"securityId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -238,7 +238,7 @@ In: `header`
|
||||
|
||||
<Property name={"securityId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -340,19 +340,19 @@ In: `header`
|
||||
|
||||
<Property name={"securityId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"username"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"password"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
@@ -191,6 +191,106 @@ export interface Response {
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/settings.toggleDashboard"}>
|
||||
|
||||
## settings-toggleDashboard
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"enableDashboard"} type={"boolean"} 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/settings.toggleDashboard" \
|
||||
-d '{
|
||||
"enableDashboard": true
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/settings.toggleDashboard", {
|
||||
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={"/settings.cleanUnusedImages"}>
|
||||
|
||||
## settings-cleanUnusedImages
|
||||
@@ -952,9 +1052,9 @@ In: `header`
|
||||
|
||||
<Property name={"certificateType"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Default: `"none"`</span>
|
||||
<span>Default: `"none"`</span>
|
||||
|
||||
<span>Value in: `"letsencrypt" | "none"`</span>
|
||||
<span>Value in: `"letsencrypt" | "none"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1340,7 +1440,7 @@ In: `header`
|
||||
|
||||
<Property name={"traefikConfig"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1533,7 +1633,7 @@ In: `header`
|
||||
|
||||
<Property name={"traefikConfig"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -1726,7 +1826,7 @@ In: `header`
|
||||
|
||||
<Property name={"traefikConfig"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -2192,13 +2292,13 @@ In: `header`
|
||||
|
||||
<Property name={"path"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"traefikConfig"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -2301,7 +2401,7 @@ In: `header`
|
||||
|
||||
<Property name={"path"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -2384,6 +2484,97 @@ export interface Response {
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/settings.getIp"}>
|
||||
|
||||
## settings-getIp
|
||||
|
||||
### 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/settings.getIp"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/settings.getIp", {
|
||||
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={"/settings.getOpenApiDocument"}>
|
||||
|
||||
## settings-getOpenApiDocument
|
||||
@@ -2473,4 +2664,286 @@ export interface Response {
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/settings.readTraefikEnv"}>
|
||||
|
||||
## settings-readTraefikEnv
|
||||
|
||||
### 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/settings.readTraefikEnv"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/settings.readTraefikEnv", {
|
||||
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={"/settings.writeTraefikEnv"}>
|
||||
|
||||
## settings-writeTraefikEnv
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"env"} 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/settings.writeTraefikEnv" \
|
||||
-d '{
|
||||
"env": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/settings.writeTraefikEnv", {
|
||||
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={"/settings.haveTraefikDashboardPortEnabled"}>
|
||||
|
||||
## settings-haveTraefikDashboardPortEnabled
|
||||
|
||||
### 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/settings.haveTraefikDashboardPortEnabled"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/settings.haveTraefikDashboardPortEnabled", {
|
||||
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>
|
||||
634
apps/docs/content/docs/api/reference-api/reference-sshKey.mdx
Normal file
634
apps/docs/content/docs/api/reference-api/reference-sshKey.mdx
Normal file
@@ -0,0 +1,634 @@
|
||||
---
|
||||
title: sshKey
|
||||
full: true
|
||||
---
|
||||
|
||||
import { Root, API, APIInfo, APIExample, Responses, Response, ResponseTypes, ExampleResponse, TypeScriptResponse, Property, ObjectCollapsible, Requests, Request } from "fumadocs-ui/components/api";
|
||||
|
||||
<Root>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/sshKey.create"}>
|
||||
|
||||
## sshKey-create
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"name"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"description"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"publicKey"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"privateKey"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/sshKey.create" \
|
||||
-d '{
|
||||
"name": "string",
|
||||
"description": "string",
|
||||
"publicKey": "string",
|
||||
"privateKey": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/sshKey.create", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/sshKey.remove"}>
|
||||
|
||||
## sshKey-remove
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"sshKeyId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/sshKey.remove" \
|
||||
-d '{
|
||||
"sshKeyId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/sshKey.remove", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/sshKey.one"}>
|
||||
|
||||
## sshKey-one
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Query Parameters
|
||||
|
||||
<Property name={"sshKeyId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/sshKey.one?sshKeyId=string"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/sshKey.one?sshKeyId=string", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"GET"} route={"/sshKey.all"}>
|
||||
|
||||
## sshKey-all
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X GET "http://localhost:3000/api/sshKey.all"
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/sshKey.all", {
|
||||
method: "GET"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/sshKey.generate"}>
|
||||
|
||||
## sshKey-generate
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"type"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Value in: `"rsa" | "ed25519"`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/sshKey.generate" \
|
||||
-d '{
|
||||
"type": "rsa"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/sshKey.generate", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
<API>
|
||||
|
||||
<APIInfo method={"POST"} route={"/sshKey.update"}>
|
||||
|
||||
## sshKey-update
|
||||
|
||||
### Authorization
|
||||
|
||||
<Property name={"Authorization"} type={"Bearer <token>"} required={true}>
|
||||
|
||||
In: `header`
|
||||
|
||||
</Property>
|
||||
|
||||
### Request Body
|
||||
|
||||
<Property name={"name"} type={"string"} required={false} deprecated={undefined}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"description"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"lastUsedAt"} type={"string | null"} required={false} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
<Property name={"sshKeyId"} type={"string"} required={true} deprecated={undefined}>
|
||||
|
||||
</Property>
|
||||
|
||||
| Status code | Description |
|
||||
| ----------- | ----------- |
|
||||
| `200` | Successful response |
|
||||
| `default` | Error response |
|
||||
|
||||
</APIInfo>
|
||||
|
||||
<APIExample>
|
||||
|
||||
<Requests items={["cURL","JavaScript"]}>
|
||||
|
||||
<Request value={"cURL"}>
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3000/api/sshKey.update" \
|
||||
-d '{
|
||||
"name": "string",
|
||||
"description": "string",
|
||||
"lastUsedAt": "string",
|
||||
"sshKeyId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
<Request value={"JavaScript"}>
|
||||
|
||||
```js
|
||||
fetch("http://localhost:3000/api/sshKey.update", {
|
||||
method: "POST"
|
||||
});
|
||||
```
|
||||
|
||||
</Request>
|
||||
|
||||
</Requests>
|
||||
|
||||
<Responses items={["default"]}>
|
||||
|
||||
<Response value={"default"}>
|
||||
|
||||
<ResponseTypes>
|
||||
|
||||
<ExampleResponse>
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "string",
|
||||
"code": "string",
|
||||
"issues": [
|
||||
{
|
||||
"message": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</ExampleResponse>
|
||||
|
||||
<TypeScriptResponse>
|
||||
|
||||
```ts
|
||||
export interface Response {
|
||||
message: string;
|
||||
code: string;
|
||||
issues?: {
|
||||
message: string;
|
||||
}[];
|
||||
}
|
||||
```
|
||||
|
||||
</TypeScriptResponse>
|
||||
|
||||
</ResponseTypes>
|
||||
|
||||
</Response>
|
||||
|
||||
</Responses>
|
||||
|
||||
</APIExample>
|
||||
|
||||
</API>
|
||||
|
||||
</Root>
|
||||
@@ -116,7 +116,7 @@ In: `header`
|
||||
|
||||
<Property name={"authId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
@@ -215,7 +215,7 @@ In: `header`
|
||||
|
||||
<Property name={"userId"} type={"string"} required={true} deprecated={false}>
|
||||
|
||||
<span>Minimum length: `1`</span>
|
||||
<span>Minimum length: `1`</span>
|
||||
|
||||
</Property>
|
||||
|
||||
|
||||
18
apps/docs/content/docs/cli/commands/application.cn.mdx
Normal file
18
apps/docs/content/docs/cli/commands/application.cn.mdx
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
title: 应用程序
|
||||
description: 使用 Dokploy CLI 管理应用程序的指南
|
||||
---
|
||||
|
||||
|
||||
Dokploy CLI 可用于创建、部署和管理应用程序。
|
||||
|
||||
## 要求
|
||||
|
||||
需要先使用 Dokploy CLI 进行身份验证。
|
||||
|
||||
## 命令
|
||||
|
||||
1. `dokploy app create` - 创建一个新应用程序。
|
||||
2. `dokploy app delete` - 删除一个应用程序。
|
||||
3. `dokploy app deploy` - 部署一个应用程序。
|
||||
4. `dokploy app stop` - 停止一个正在运行的应用程序。
|
||||
25
apps/docs/content/docs/cli/commands/authentication.cn.mdx
Normal file
25
apps/docs/content/docs/cli/commands/authentication.cn.mdx
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
title: 身份验证
|
||||
description: 使用 Dokploy CLI 进行身份验证的指南
|
||||
---
|
||||
|
||||
Dokploy CLI 使用基于令牌的身份验证系统。要进行身份验证,您需要创建一个访问令牌并安全存储它。
|
||||
|
||||
## 创建访问令牌
|
||||
|
||||
要创建访问令牌,首先您需要具备相应的权限,如果您是管理员,则不需要权限。
|
||||
|
||||
默认情况下,访问令牌不会过期。
|
||||
|
||||
您可以前往 `dashboard/settings/profile` 并点击 `生成` 按钮。
|
||||
|
||||
<ImageZoom src="/assets/cli/token.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
## 存储访问令牌
|
||||
|
||||
当您创建访问令牌时,Dokploy 将自动生成一个包含访问令牌和服务器 URL 的 config.json 文件。
|
||||
|
||||
## 命令
|
||||
|
||||
1. `dokploy authenticate` - 使用 Dokploy CLI 进行身份验证。
|
||||
2. `dokploy verify` - 验证访问令牌是否有效。
|
||||
43
apps/docs/content/docs/cli/commands/databases.cn.mdx
Normal file
43
apps/docs/content/docs/cli/commands/databases.cn.mdx
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: 数据库
|
||||
description: 使用 Dokploy CLI 管理数据库的指南
|
||||
---
|
||||
|
||||
Dokploy CLI 可用于创建、部署和管理数据库。
|
||||
|
||||
## 需求
|
||||
|
||||
需要先进行 Dokploy CLI 的身份验证。
|
||||
|
||||
## 命令
|
||||
|
||||
### MariaDB
|
||||
|
||||
1. `dokploy database mariadb create` - 创建一个新的 MariaDB 数据库。
|
||||
2. `dokploy database mariadb delete` - 删除一个 MariaDB 数据库。
|
||||
3. `dokploy database mariadb deploy` - 部署一个 MariaDB 数据库。
|
||||
4. `dokploy database mariadb stop` - 停止运行中的 MariaDB 数据库。
|
||||
|
||||
### PostgreSQL
|
||||
1. `dokploy database postgresql create` - 创建一个新的 PostgreSQL 数据库。
|
||||
2. `dokploy database postgresql delete` - 删除一个 PostgreSQL 数据库。
|
||||
3. `dokploy database postgresql deploy` - 部署一个 PostgreSQL 数据库。
|
||||
4. `dokploy database postgresql stop` - 停止运行中的 PostgreSQL 数据库。
|
||||
|
||||
### MySQL
|
||||
1. `dokploy database mysql create` - 创建一个新的 MySQL 数据库。
|
||||
2. `dokploy database mysql delete` - 删除一个 MySQL 数据库。
|
||||
3. `dokploy database mysql deploy` - 部署一个 MySQL 数据库。
|
||||
4. `dokploy database mysql stop` - 停止运行中的 MySQL 数据库。
|
||||
|
||||
### MongoDB
|
||||
1. `dokploy database mongodb create` - 创建一个新的 MongoDB 数据库。
|
||||
2. `dokploy database mongodb delete` - 删除一个 MongoDB 数据库。
|
||||
3. `dokploy database mongodb deploy` - 部署一个 MongoDB 数据库。
|
||||
4. `dokploy database mongodb stop` - 停止运行中的 MongoDB 数据库。
|
||||
|
||||
### Redis
|
||||
1. `dokploy database redis create` - 创建一个新的 Redis 数据库。
|
||||
2. `dokploy database redis delete` - 删除一个 Redis 数据库。
|
||||
3. `dokploy database redis deploy` - 部署一个 Redis 数据库。
|
||||
4. `dokploy database redis stop` - 停止运行中的 Redis 数据库。
|
||||
16
apps/docs/content/docs/cli/commands/project.cn.mdx
Normal file
16
apps/docs/content/docs/cli/commands/project.cn.mdx
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
title: 项目
|
||||
description: 使用 Dokploy CLI 管理项目的指南
|
||||
---
|
||||
|
||||
Dokploy CLI 可用于创建、部署和管理项目。
|
||||
|
||||
## 需求
|
||||
|
||||
需要先进行 Dokploy CLI 的身份验证。
|
||||
|
||||
## 命令
|
||||
|
||||
1. `dokploy project create` - 创建一个新项目。
|
||||
2. `dokploy project info` - 获取有关项目的信息。
|
||||
3. `dokploy project list` - 列出所有项目。
|
||||
23
apps/docs/content/docs/cli/index.cn.mdx
Normal file
23
apps/docs/content/docs/cli/index.cn.mdx
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: 介绍
|
||||
description: 使用 Dokploy 命令行界面的指南
|
||||
---
|
||||
|
||||
Dokploy CLI 是一个用于远程管理您的 Dokploy 服务器的命令行工具。它简化了应用程序和数据库的创建、部署和管理。
|
||||
|
||||
## 安装
|
||||
|
||||
```bash
|
||||
npm install -g @dokploy/cli
|
||||
```
|
||||
|
||||
## 用法
|
||||
|
||||
```bash
|
||||
dokploy COMMAND
|
||||
```
|
||||
要获取特定命令的帮助:
|
||||
|
||||
```bash
|
||||
dokploy COMMAND --help
|
||||
```
|
||||
13
apps/docs/content/docs/cli/meta.cn.json
Normal file
13
apps/docs/content/docs/cli/meta.cn.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"title": "CLI",
|
||||
"root": true,
|
||||
"pages": [
|
||||
"---开始使用---",
|
||||
"index",
|
||||
"---命令---",
|
||||
"commands/authentication",
|
||||
"commands/project",
|
||||
"commands/application",
|
||||
"commands/databases"
|
||||
]
|
||||
}
|
||||
166
apps/docs/content/docs/core/application/advanced.cn.mdx
Normal file
166
apps/docs/content/docs/core/application/advanced.cn.mdx
Normal file
@@ -0,0 +1,166 @@
|
||||
---
|
||||
title: 高级功能
|
||||
description: 了解如何使用应用程序中的高级功能。
|
||||
---
|
||||
|
||||
本节旨在为需要在 Dokploy 中管理复杂配置和编排设置的高级用户提供支持。在这里,您可以执行自定义命令、管理集群副本、选择 Docker 注册表以及配置 Docker Swarm 设置。
|
||||
|
||||
### 运行命令
|
||||
|
||||
- **目的**:允许用户在容器内直接执行自定义 Shell 命令。
|
||||
- **用法**:在提供的字段中输入需要运行的命令,然后单击“保存”以在容器环境中执行。这一工具特别适合调试或特定管理任务。
|
||||
|
||||
### 集群设置
|
||||
|
||||
- **目的**:管理应用程序在多个服务器或节点上的扩展和分布。
|
||||
- **副本数**:设置应运行的应用程序实例数量。
|
||||
- **注册表选择**:选择将从中提取容器映像的 Docker 注册表。这对于确保在部署过程中使用正确的映像至关重要。
|
||||
|
||||
#### 重要提示
|
||||
修改集群设置后,请始终点击“重新部署”以应用更改。
|
||||
|
||||
### Swarm 设置
|
||||
|
||||
Swarm 设置允许详细配置容器在 Docker Swarm 中的编排方式。
|
||||
|
||||
#### 健康检查
|
||||
|
||||
- **目的**:确保容器平稳运行,并在失败时重新启动它们。
|
||||
- **配置**:指定测试命令、间隔、超时、启动时间和重试次数等参数。
|
||||
|
||||
#### 重启策略
|
||||
|
||||
定义容器在退出或失败时的处理方式,配置如下:
|
||||
|
||||
- **条件**:指定应在何种条件下发生重启。
|
||||
- **延迟**:设置重启之间的时间延迟。
|
||||
- **最大尝试次数**:限制重启尝试的次数。
|
||||
- **窗口**:定义用于评估重启策略的时间窗口。
|
||||
|
||||
#### 更新配置
|
||||
|
||||
管理 Swarm 中服务的部署和更新过程,配置如下:
|
||||
|
||||
- **并行性**:同时更新的容器数量。
|
||||
- **延迟**:更新之间的时间。
|
||||
- **失败操作**:更新失败时采取的操作。
|
||||
- **监控**:更新后监控容器的持续时间。
|
||||
- **最大失败比例**:在更新被视为失败之前,允许失败的容器比例。
|
||||
- **顺序**:在更新过程中停止和启动容器的顺序。
|
||||
|
||||
#### 放置
|
||||
|
||||
根据特定规则和偏好控制容器在 Swarm 中的位置,配置如下:
|
||||
|
||||
- **约束条件**:容器放置在节点上必须满足的条件。
|
||||
- **偏好设置**:在节点之间均匀分配容器的放置偏好。
|
||||
|
||||
### 回滚配置
|
||||
|
||||
管理更新失败时服务的回滚过程,配置如下:
|
||||
|
||||
- **并行性**:同时回滚的容器数量。
|
||||
- **延迟**:回滚之间的时间。
|
||||
- **失败操作**:回滚失败时采取的操作。
|
||||
- **监控**:回滚后监控容器的持续时间。
|
||||
- **最大失败比例**:在回滚被视为失败之前,允许失败的容器比例。
|
||||
- **顺序**:在回滚过程中停止和重新启动容器的顺序。
|
||||
|
||||
### 模式
|
||||
|
||||
定义服务在 Swarm 中的复制方式,配置如下:
|
||||
|
||||
- **复制模式**:服务根据指定的设置在节点上复制。
|
||||
- **副本数**:每个服务的副本数量。
|
||||
- **全局模式**:每个节点运行服务的单个实例。
|
||||
- **复制作业**:以复制的方式运行作业。
|
||||
- **最大并发**:同时运行的作业最大数量。
|
||||
- **总完成次数**:作业需要完成的总次数。
|
||||
|
||||
### 网络
|
||||
|
||||
配置服务的网络设置,配置如下:
|
||||
|
||||
- **目标**:指定网络名称。
|
||||
- **别名**:为网络提供别名。
|
||||
- **驱动程序选项**:网络驱动程序选项,如 MTU 大小和主机绑定。
|
||||
|
||||
### 标签
|
||||
|
||||
为容器分配元数据以帮助识别和组织,配置如下:
|
||||
|
||||
- **标签**:分配给服务的键值对。例如:
|
||||
1. `com.example.app.name`: "my-app"
|
||||
2. `com.example.app.version`: "1.0.0"
|
||||
|
||||
### 注意
|
||||
修改 Swarm 设置需要谨慎考虑,因为不正确的配置可能会干扰整个容器编排。始终确保您理解所做更改的影响。
|
||||
|
||||
## 资源
|
||||
|
||||
管理分配给您的应用程序或数据库的内存和 CPU 资源。
|
||||
|
||||
- **内存保留**:保证应用程序的最小内存量。
|
||||
- **内存限制**:应用程序可以使用的最大内存量。
|
||||
- **CPU 限制**:应用程序可以使用的最大 CPU 单位数量。
|
||||
- **CPU 保留**:为应用程序保留的最小 CPU 单位数量。
|
||||
|
||||
### 卷/挂载
|
||||
|
||||
配置应用程序的持久存储,以确保数据在容器重启和部署之间保持完整。
|
||||
|
||||
**绑定挂载**:将主机文件或目录映射到容器文件或目录。通常用于特定配置或数据库。
|
||||
1. **主机路径**:主机上的路径。
|
||||
2. **挂载路径**:容器中的路径。
|
||||
|
||||
**卷挂载**:使用 Docker 管理的卷,比绑定挂载更易于备份和迁移。
|
||||
1. **卷名称**:Docker 管理的卷名称。
|
||||
2. **挂载路径**:容器中挂载卷的路径。
|
||||
|
||||
**文件挂载**:专门用于单个文件,适用于配置文件。
|
||||
1. **内容**:要存储在文件中的内容。
|
||||
2. **挂载路径**:容器中放置文件的路径。
|
||||
|
||||
文件挂载是 Dokploy 的一个功能,它在项目内部的 `files` 文件夹中创建一个文件,因此每次部署项目时都会重新创建。
|
||||
|
||||
<ImageZoom src="/assets/file-mount-configuration.webp" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
<ImageZoom src="/assets/file-mount.png" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
### 重定向
|
||||
|
||||
根据指定的规则将请求重定向到应用程序的另一个 URL,提高导航效率和 SEO。
|
||||
|
||||
- **正则表达式**:输入一个正则表达式以匹配需要重定向的 URL。
|
||||
- **替换**:指定流量应重定向到的目标 URL。
|
||||
- **永久性**:启用此选项以应用永久性 (HTTP 301) 重定向,指示浏览器和搜索引擎页面已永久移动。
|
||||
|
||||
#### 示例
|
||||
要将所有流量从 "http://localhost" 重定向到 "http://mydomain",请将正则表达式设置为 `http://localhost/(.*)`,并将替换设置为 `http://mydomain/$1`。
|
||||
|
||||
### 安全
|
||||
|
||||
为您的应用程序添加基本身份验证以限制访问。
|
||||
|
||||
- **用户名**:输入用户名。
|
||||
- **密码**:输入密码。
|
||||
|
||||
#### 重要提示
|
||||
添加基本身份验证将在允许访问应用程序之前提示用户输入用户名和密码。在需要额外安全层的环境中使用此功能。
|
||||
|
||||
### 端口
|
||||
|
||||
通过配置网络端口将应用程序暴露于互联网,允许外部访问。
|
||||
|
||||
- **发布端口**:将路由流量到您的应用程序的主机上的端口号。
|
||||
- **目标端口**:容器内应用程序使用的端口号。
|
||||
- **协议**:根据应用程序的要求选择 TCP 或 UDP。
|
||||
|
||||
#### 重要提示
|
||||
确保发布端口不会与主机上的其他服务冲突,以避免端口绑定错误。此外,此端口主要用于从外部访问应用程序,例如 `your-ip:port`,而不是通过域访问应用程序。
|
||||
|
||||
### Traefik
|
||||
|
||||
提供了一种动态且强大的方法来管理 HTTP 流量到您的服务,包括负载均衡和 SSL 终止。
|
||||
|
||||
- **规则**:使用 Traefik 强大的基于规则的配置系统定义复杂的路由、负载均衡和安全配置。
|
||||
85
apps/docs/content/docs/core/application/auto-deploy.cn.mdx
Normal file
85
apps/docs/content/docs/core/application/auto-deploy.cn.mdx
Normal file
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: 自动部署
|
||||
description: "了解如何将您的应用程序自动部署到 Dokploy。"
|
||||
---
|
||||
|
||||
将应用程序自动部署到 Dokploy 可以通过两种主要方法实现:使用 Webhooks 或 Dokploy API。每种方法都支持各种平台,并提供简化的部署流程。
|
||||
|
||||
## GitHub
|
||||
|
||||
对于 GitHub,我们提供无需任何配置的自动部署。这将在您推送到代码库时自动部署您的应用程序。
|
||||
|
||||
## Webhook URL
|
||||
|
||||
Webhooks 允许您在源代码库中进行更改时自动部署应用程序。
|
||||
|
||||
- GitHub
|
||||
- GitLab
|
||||
- Bitbucket
|
||||
- Gitea
|
||||
- DockerHub
|
||||
|
||||
### 配置步骤
|
||||
|
||||
1. **启用自动部署**:在 Dokploy 的应用程序设置的一般选项卡中切换“自动部署”按钮。
|
||||
2. **获取 Webhook URL**:从部署日志中找到 Webhook URL。
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/webhook-url.png"
|
||||
alt="Webhook URL"
|
||||
width={1000}
|
||||
height={500}
|
||||
/>
|
||||
|
||||
3. **配置您的代码库**:
|
||||
- 转到您选择的平台上的代码库设置。
|
||||
- 添加由 Dokploy 提供的 webhook URL。
|
||||
- 确保设置与触发 webhook 所需的配置匹配。
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/webhook-github.png"
|
||||
alt="Webhook URL"
|
||||
width={1000}
|
||||
height={500}
|
||||
/>
|
||||
|
||||
#### 重要提示
|
||||
|
||||
- **分支匹配**:使用基于 Git 的提供商(GitHub、GitLab 等)时,请确保 Dokploy 中配置的分支与您打算推送的分支匹配。不匹配将导致“分支不匹配”错误。
|
||||
- **Docker 标签**:对于使用 DockerHub 的部署,请确保推送的标签与 Dokploy 中指定的标签匹配。
|
||||
- 所有提供商的步骤都是相同的。
|
||||
|
||||
### API 方法
|
||||
|
||||
通过 Dokploy API 从任何地方以编程方式部署您的应用程序。
|
||||
|
||||
### 使用 API 部署的步骤
|
||||
|
||||
步骤:
|
||||
|
||||
1. **生成令牌**:在 Dokploy 的个人资料设置中创建一个 API 令牌。
|
||||
2. **获取应用程序 ID**:
|
||||
|
||||
```http
|
||||
curl -X 'GET' \
|
||||
'https://your-domain/api/project.all' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Authorization: Bearer <token>'
|
||||
```
|
||||
|
||||
此命令列出所有项目和服务。确定您希望部署的应用程序的 applicationId。
|
||||
|
||||
3. **触发部署**:
|
||||
|
||||
```http
|
||||
curl -X 'POST' \
|
||||
'https://your-domain/api/application.deploy' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Authorization: Bearer <token>' \
|
||||
-d '{
|
||||
"applicationId": "string"
|
||||
}'
|
||||
```
|
||||
|
||||
此 API 方法允许灵活的、可编程的部署选项,适用于自动化系统或不便于直接代码库集成的情况。通过这种方式,您可以从任何地方部署您的应用程序,您可以使用 webhook URL 或 API。
|
||||
46
apps/docs/content/docs/core/application/domains.cn.mdx
Normal file
46
apps/docs/content/docs/core/application/domains.cn.mdx
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
title: 域名
|
||||
description: '域名'
|
||||
---
|
||||
|
||||
本节概述了如何为 Dokploy 中的应用程序配置域名,确保您的应用程序可以通过自定义 URL 进行访问。
|
||||
|
||||
### 添加域名
|
||||
|
||||
将自定义域名与您的应用程序关联,使其能够通过互联网访问。
|
||||
|
||||
- **主机**:您希望链接到应用程序的域名(例如,`api.dokploy.com`)。
|
||||
- **路径**:应用程序在域名内应可访问的具体路径。
|
||||
- **容器端口**:域名应路由到容器上的端口。
|
||||
- **证书**:选择是否通过 SSL/TLS 证书来保护域名。Dokploy 支持通过 Let's Encrypt 自动提供 SSL 证书。
|
||||
- **HTTPS**:启用此选项以为您的域名启用 HTTPS,提供安全的加密连接。
|
||||
|
||||
#### 添加域名的步骤
|
||||
1. 点击“添加域名”。
|
||||
2. 填写域名详细信息,包括主机、路径和端口。
|
||||
3. 选择启用 HTTPS 并选择证书选项。
|
||||
4. 点击“创建”以应用设置。
|
||||
|
||||
### 生成域名
|
||||
|
||||
快速为开发或测试目的设置域名,无需注册域名。
|
||||
|
||||
- **生成 TraefikMe 域名**:创建由 TraefikMe 提供的免费域名。这非常适合在购买正式域名之前进行测试或临时访问。
|
||||
|
||||
#### 生成域名的步骤
|
||||
1. 点击“生成域名”。
|
||||
2. 选择“生成 TraefikMe 域名”以快速设置。
|
||||
3. 将自动为您的应用程序分配一个域名。
|
||||
|
||||
### 管理域名
|
||||
|
||||
- **查看和修改**:现有域名会列出,您可以编辑设置或删除它们。
|
||||
- **详细信息**:每个域名条目显示已配置的主机、路径、端口以及 HTTPS 是否启用。
|
||||
|
||||
### 注意事项
|
||||
|
||||
正确的域名配置对于应用程序的可访问性和安全性至关重要。始终验证域名设置,并确保 DNS 配置正确指向正确的 IP 地址。启用 HTTPS 以增强安全性和信任,特别是在生产环境中。
|
||||
|
||||
### 关于容器端口的重要说明
|
||||
|
||||
域名设置中指定的“容器端口”专门用于通过 Traefik 将流量路由到正确的应用程序容器,并不会直接将端口暴露给互联网。这与“高级 -> 端口”部分中的端口设置根本不同,后者用于直接暴露应用程序端口。域名设置中的容器端口确保 Traefik 可以根据域名配置内部将流量引导到容器内的指定端口。
|
||||
@@ -15,6 +15,8 @@ Configure the source of your code, the way your application is built, and also m
|
||||
|
||||
If you need to assign environment variables to your application, you can do so here.
|
||||
|
||||
In case you need to use a multiline variable, you can wrap it in double quotes just like this `'"here_is_my_private_key"'`.
|
||||
|
||||
## 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.
|
||||
|
||||
42
apps/docs/content/docs/core/application/providers.cn.mdx
Normal file
42
apps/docs/content/docs/core/application/providers.cn.mdx
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
title: 提供者
|
||||
description: '了解如何在您的应用程序中使用提供者。'
|
||||
---
|
||||
|
||||
Dokploy 提供了几种部署方法,简化了无论您使用 GitHub、任何 Git 提供者、Docker 还是自动化部署的过程。
|
||||
|
||||
- GitHub
|
||||
- Git(任何 Git 提供者)
|
||||
- Docker
|
||||
|
||||
## GitHub
|
||||
|
||||
通过 GitHub 部署非常简单:
|
||||
|
||||
1. 在 `/dashboard/settings/server` 中配置您的 GitHub 仓库。
|
||||
2. 在创建应用程序时,Dokploy 会自动检索可用的仓库和分支。
|
||||
|
||||
## Git
|
||||
|
||||
对于来自任何 Git 仓库的部署,无论是公共还是私有,您可以使用 SSH 或 HTTPS:
|
||||
|
||||
1. 输入仓库的 URL。
|
||||
2. 指定您希望部署的分支。
|
||||
|
||||
### 私有仓库
|
||||
|
||||
对于私有仓库,使用 SSH 进行身份验证。我们提供一个锁图标来生成 SSH 密钥。
|
||||
|
||||
<ImageZoom src="/assets/dokploy-ssh-key.png" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
然后,您可以复制 SSH 密钥并将其粘贴到您的帐户设置中。
|
||||
|
||||
<ImageZoom src="/assets/private-repository.png" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
这使您能够从私有仓库中拉取代码,这种方法在几乎所有提供者中都是一致的。
|
||||
|
||||
## Docker
|
||||
|
||||
对于 Docker 部署:
|
||||
|
||||
- 提供一个 Docker 镜像。对于私有仓库,输入用户名和密码。
|
||||
@@ -6,14 +6,30 @@ 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
|
||||
- Gitlab
|
||||
- Bitbucket
|
||||
- Git (Any Git Provider)
|
||||
- Docker
|
||||
|
||||
## GitHub
|
||||
|
||||
Deploying via GitHub is straightforward:
|
||||
Deploying via GitHub:
|
||||
|
||||
1. Configure your GitHub repository in the `/dashboard/settings/server`.
|
||||
1. Configure your GitHub repository in the `/dashboard/settings/git-providers`.
|
||||
2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
|
||||
|
||||
## Gitlab
|
||||
|
||||
Deploying via Gitlab:
|
||||
|
||||
1. Configure your Gitlab repository in the `/dashboard/settings/git-providers`.
|
||||
2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
|
||||
|
||||
## Bitbucket
|
||||
|
||||
Deploying via Bitbucket:
|
||||
|
||||
1. Configure your Bitbucket repository in the `/dashboard/settings/git-providers`.
|
||||
2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
|
||||
|
||||
## Git
|
||||
@@ -27,11 +43,21 @@ For deployments from any Git repository, whether public or private, you can use
|
||||
|
||||
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"/>
|
||||
<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"/>
|
||||
<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.
|
||||
|
||||
|
||||
@@ -1,96 +1,88 @@
|
||||
---
|
||||
title: Cluster (Advanced)
|
||||
description: "Learn how to set up and manage a cluster in Dokploy with docker swarm."
|
||||
title: 集群(高级)
|
||||
description: "了解如何在 Dokploy 中使用 Docker Swarm 设置和管理集群。"
|
||||
sidebar:
|
||||
order: 1
|
||||
---
|
||||
|
||||
对于大多数情况,除非您需要扩展应用程序,否则您可能不需要使用集群。集群是由多个节点组成的,它们协同工作以提供一个统一的服务。在 Dokploy 中,集群管理着一组服务器,共同协作以提供这一统一服务。
|
||||
|
||||
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.
|
||||
我们在后台使用 Traefik 来为应用程序进行流量负载均衡。
|
||||
|
||||
We use traefik under the hood to load balance the traffic to the application.
|
||||
建议在使用集群之前先阅读 [Traefik 文档](https://doc.traefik.io/traefik/routing/providers/swarm/),以更好地理解它的工作原理。
|
||||
|
||||
要开始向您的集群添加节点,您需要一个注册表。节点需要注册表来拉取镜像。
|
||||
|
||||
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 .
|
||||
- 已安装 Dokploy 的服务器。
|
||||
- 用于存储镜像的注册表。
|
||||
- 用于添加为节点的额外服务器(VPS)。
|
||||
|
||||
## Requirements
|
||||
## 注册表选项
|
||||
|
||||
- A server with Dokploy installed.
|
||||
- A registry to store your images.
|
||||
- Additional servers (VPS) to add as nodes.
|
||||
我们提供两种方法将注册表添加到您的集群中:
|
||||
|
||||
## Registry Options
|
||||
- **自定义注册表(免费)**:在您的服务器上设置私有注册表。
|
||||
- **外部注册表(付费)**:使用外部注册表,如 Docker Hub、DigitalOcean、AWS ECR 等。
|
||||
|
||||
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.
|
||||
<ImageZoom src="/assets/images/cluster/registry.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
## 向集群添加节点
|
||||
|
||||
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" />
|
||||
1. 点击 `Add Node` 按钮。
|
||||
2. 您将看到两个标签:`Worker` 和 `Manager`。
|
||||
3. 选择您要添加的节点类型。
|
||||
4. 按照提供的两步进行操作:
|
||||
- 安装 Docker 引擎。
|
||||
- 安装 Dokploy 代理。这两个节点类型的步骤是相同的。
|
||||
5. 在新服务器上运行提供的命令。
|
||||
6. 运行命令后,进入 `server/settings/cluster`。您将在表格中看到 Worker 和 Manager 节点的条目。
|
||||
|
||||
<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" />
|
||||
|
||||
## 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.
|
||||
1. 在项目中创建一个应用程序。
|
||||
2. Fork 仓库 [Dokploy/swarm-test](https://github.com/Dokploy/swarm-test)。
|
||||
3. 将其保存为 GitHub 提供商。
|
||||
4. 进入应用程序的高级选项卡。
|
||||
5. 在“集群设置”部分:
|
||||
- 更改副本数量(默认是 1)。
|
||||
- 选择节点拉取镜像的注册表。
|
||||
6. 现在,您可以将应用程序部署到集群(通过点击 `Deploy` 按钮)。
|
||||
|
||||
<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" />
|
||||
事实上,这是实现多节点部署的一个简单方法。Traefik 将处理负载均衡,并将流量路由到应用程序最可用的节点。
|
||||
|
||||
要进一步增强此设置,您可以使用 AWS、DigitalOcean 或 Google Cloud 等服务的负载均衡器。这些负载均衡器在路由请求之前会进行健康检查,以确保只有健康的节点接收流量。如果节点未通过健康检查,负载均衡器将自动将请求路由到另一个节点。此设置提供了更稳健和可扩展的部署。
|
||||
|
||||
## Deploying an Application
|
||||
要向集群添加管理节点,请按照添加 Worker 节点的相同步骤进行操作。然而,如果运行 Dokploy 的管理节点发生故障,所有其他节点将变得不可访问。这是因为我们目前为集群设置了单一入口点。为确保高可用性,您应该有多个管理节点。
|
||||
|
||||
Once you have linked nodes to the cluster, you can deploy an application as follows:
|
||||
要实现这一点,您需要将所有持久性和 Traefik 信息复制到新的管理节点。这将为集群创建多个入口点。您可以使用 rsync、aws data sync 或其他工具在节点之间同步所有必要信息。
|
||||
|
||||
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).
|
||||
## 自定义应用程序
|
||||
|
||||
您可以在“Swarm 设置”部分自定义应用程序。在这里,您几乎可以修改与 Swarm 应用模式相关的所有设置。
|
||||
|
||||
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.
|
||||
界面中提供了每个设置的占位符和预期格式。所有字段必须为 JSON 值。
|
||||
|
||||
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" />
|
||||
<ImageZoom src="/assets/images/cluster/swarm-settings.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
32
apps/docs/content/docs/core/databases/connection.cn.mdx
Normal file
32
apps/docs/content/docs/core/databases/connection.cn.mdx
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: 连接
|
||||
description: "了解如何使用 Dokploy 连接到您的数据库。"
|
||||
---
|
||||
|
||||
本节解释如何为 Dokploy 中的应用程序配置数据库访问,包括内部网络中的连接和可以通过互联网访问的外部连接。
|
||||
|
||||
### 内部凭证
|
||||
|
||||
用于从同一网络连接到数据库,而无需将数据库暴露于互联网。
|
||||
|
||||
- **用户**:数据库访问的用户名。
|
||||
- **密码**:数据库访问的安全密码。
|
||||
- **数据库名称**:要连接的数据库名称。
|
||||
- **内部主机**:网络内数据库的主机名或内部标识符。
|
||||
- **内部端口(容器)**:在容器内连接到数据库所使用的端口。
|
||||
- **内部连接 URL**:用于内部连接数据库的完整连接字符串。
|
||||
|
||||
### 外部凭证
|
||||
|
||||
使数据库可以通过互联网访问,便于远程管理或外部应用程序。
|
||||
|
||||
- **外部端口(互联网)**:分配一个当前未被其他服务使用的端口,以便将数据库外部暴露。
|
||||
|
||||
#### 配置外部访问的步骤
|
||||
1. 确保外部端口可用,并且与其他服务不冲突。
|
||||
2. 输入要用于暴露数据库的外部端口。
|
||||
3. 系统将自动生成外部连接 URL,可用于通过互联网访问数据库的任何数据库管理工具,如 phpMyAdmin、MySQL Workbench、PgAdmin 等。
|
||||
|
||||
### 重要提示
|
||||
|
||||
出于安全原因,应对在同一网络或环境中运行的应用程序使用内部凭证,以防止未经授权的访问。外部凭证应仅在必要时使用,并采取适当的安全措施,如 VPN 或 IP 白名单。
|
||||
@@ -26,6 +26,8 @@ Actions like deploying, updating, and deleting your database, and stopping it.
|
||||
|
||||
If you need to assign environment variables to your application, you can do so here.
|
||||
|
||||
In case you need to use a multiline variable, you can wrap it in double quotes just like this `'"here_is_my_private_key"'`.
|
||||
|
||||
## 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.
|
||||
|
||||
192
apps/docs/content/docs/core/docker-compose/domains.cn.mdx
Normal file
192
apps/docs/content/docs/core/docker-compose/domains.cn.mdx
Normal file
@@ -0,0 +1,192 @@
|
||||
---
|
||||
title: 域名
|
||||
description: 为您的 Docker Compose 应用程序配置域名。
|
||||
---
|
||||
|
||||
在使用 Docker Compose 时,为服务添加域名是一个简单的过程。本指南将引导您完成为应用程序配置域名的必要步骤。
|
||||
|
||||
关键步骤:
|
||||
|
||||
1. 将服务添加到 `dokploy-network`。
|
||||
2. 使用 Traefik 标签配置路由。
|
||||
|
||||
## 示例场景
|
||||
|
||||
让我们考虑一个包含三个组件的应用程序:前端、后端和数据库。我们将从一个基本的 Docker Compose 文件开始,然后通过域名配置对其进行增强。
|
||||
|
||||
```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:
|
||||
```
|
||||
|
||||
## 步骤 1:添加网络
|
||||
|
||||
首先,我们将 `dokploy-network` 添加到我们的服务中:
|
||||
|
||||
```yaml
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
frontend:
|
||||
# ...(之前的配置)
|
||||
networks:
|
||||
- dokploy-network
|
||||
|
||||
backend:
|
||||
# ...(之前的配置)
|
||||
networks:
|
||||
- dokploy-network
|
||||
|
||||
database:
|
||||
# ...(之前的配置)
|
||||
networks:
|
||||
- dokploy-network
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
|
||||
networks:
|
||||
dokploy-network:
|
||||
external: true
|
||||
```
|
||||
|
||||
## 步骤 2:配置 Traefik 标签
|
||||
|
||||
现在,让我们添加 Traefik 标签以将域名路由到我们的服务。我们将专注于前端和后端服务:
|
||||
|
||||
{/* 必须添加这些标签:
|
||||
|
||||
1. `traefik.enable=true`
|
||||
此标签告诉 Traefik 此服务应由 Traefik 路由。
|
||||
2. `traefik.http.routers.<UNIQUE-RULE>.rule=Host('your-domain.dokploy.com')`
|
||||
此标签告诉 Traefik 使用的域名是 `your-domain.dokploy.com`
|
||||
3. `traefik.http.routers.<UNIQUE-RULE>.entrypoints=web`
|
||||
此标签告诉 Traefik 该服务应通过 `http` 协议访问。
|
||||
4. `traefik.http.services.<UNIQUE-RULE>.loadbalancer.server.port=3000`
|
||||
此标签告诉 Traefik 使用的端口是 `3000`
|
||||
|
||||
注意:对于 loadbalancer.server.port,确保分配您服务所使用的端口。请注意,您无需像这样暴露端口:
|
||||
|
||||
注意:在 loadbalancer.server.port 确保分配您服务使用的端口,并且需要注意的是,您无需以这种方式暴露端口:
|
||||
|
||||
`'3000:3000'` 这是不正确的,您只需分配服务正在使用的端口,在这种情况下为 `3000`。
|
||||
|
||||
确保创建指向您的域名的 `A` 记录,这可以通过您的 DNS 提供商完成。*/}
|
||||
|
||||
```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:
|
||||
# ...(与之前相同)
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
|
||||
networks:
|
||||
dokploy-network:
|
||||
external: true
|
||||
```
|
||||
|
||||
## 理解 Traefik 标签
|
||||
|
||||
1. `traefik.enable=true` 启用服务的 Traefik 路由。
|
||||
2. `traefik.http.routers.<UNIQUE-RULE>.rule=Host('your-domain.dokploy.com')` 指定服务的域名。
|
||||
3. `traefik.http.routers.<UNIQUE-RULE>.entrypoints=web` 将服务设置为可通过 HTTP 访问。
|
||||
4. `traefik.http.services.<UNIQUE-RULE>.loadbalancer.server.port=3000` 指定服务内部使用的端口。
|
||||
|
||||
**注意**:将 `<UNIQUE-RULE>` 替换为每个服务的唯一标识符(例如,frontend-app、backend-app 等)。
|
||||
|
||||
## 重要考虑事项
|
||||
|
||||
1. **端口暴露**:使用 `expose` 而不是 `ports` 来暴露主机机器的端口。这确保端口不会暴露给主机机器。
|
||||
2. **DNS 配置**:确保您在 DNS 提供商设置中创建指向您域名的 `A` 记录。
|
||||
3. **HTTPS**:对于 HTTPS,您可以使用 Let's Encrypt 或其他 SSL/TLS 证书。
|
||||
|
||||
## 部署
|
||||
|
||||
有了这些配置,您现在可以使用 Docker Compose 部署您的应用程序。此设置应足以通过 Traefik 使用自定义域路由启动和运行您的服务。
|
||||
|
||||
## SSL 证书和进一步配置
|
||||
|
||||
如果您有关于何时使用 Let's Encrypt 或其他 SSL 证书选项的问题,您可以在以下资源中找到更详细的信息:
|
||||
|
||||
1. [证书](/docs/core/domain/certificates)
|
||||
2. [Docker Compose 域名](/docs/core/domain/docker-compose-setup)
|
||||
3. [Docker Compose 示例](/docs/core/docker-compose/example)
|
||||
|
||||
如果您有任何进一步的问题或需要帮助,请加入我们的 [Discord 服务器](https://discord.com/invite/2tBnJ3jDJc),我们很乐意为您提供帮助。
|
||||
@@ -10,12 +10,20 @@ Key Steps:
|
||||
1. Add the service to the `dokploy-network`.
|
||||
2. Use Traefik labels to configure routing.
|
||||
|
||||
import { Callout } from "fumadocs-ui/components/callout";
|
||||
|
||||
<Callout title="Attention" type="info">
|
||||
Since v0.7.0 Dokploy support domains natively. This means that you can
|
||||
configure your domain directly in the Dokploy UI, without doing the rest of
|
||||
the steps.
|
||||
</Callout>
|
||||
|
||||
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'
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
frontend:
|
||||
@@ -60,7 +68,7 @@ volumes:
|
||||
First, we'll add the dokploy-network to our services:
|
||||
|
||||
```yaml
|
||||
version: '3.8'
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
frontend:
|
||||
@@ -90,28 +98,8 @@ 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'
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
frontend:
|
||||
@@ -165,21 +153,18 @@ networks:
|
||||
|
||||
Understanding Traefik Labels
|
||||
|
||||
|
||||
1. `traefik.enable=true` Enables Traefik routing for the service.
|
||||
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.
|
||||
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.).
|
||||
|
||||
**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.
|
||||
|
||||
3. **HTTPS**: For HTTPS, you can use Let's Encrypt or other SSL/TLS certificates.
|
||||
|
||||
## Deployment
|
||||
|
||||
|
||||
107
apps/docs/content/docs/core/docker-compose/example.cn.mdx
Normal file
107
apps/docs/content/docs/core/docker-compose/example.cn.mdx
Normal file
@@ -0,0 +1,107 @@
|
||||
---
|
||||
title: "示例"
|
||||
description: "学习如何在 Dokploy 中使用 Docker Compose"
|
||||
|
||||
---
|
||||
|
||||
## 教程
|
||||
|
||||
在本教程中,我们将使用 Docker Compose 创建一个简单的应用程序,并将流量路由到可访问的域名。
|
||||
|
||||
### 步骤
|
||||
|
||||
1. 创建一个新项目。
|
||||
2. 创建一个新服务 `Compose`,并选择 Compose 类型为 `Docker Compose`。
|
||||
3. Fork 这个仓库:[Repo](https://github.com/Dokploy/docker-compose-test)。
|
||||
4. 选择提供商类型:GitHub 或 Git。
|
||||
5. 选择仓库:`Dokploy/docker-compose-test`。
|
||||
6. 选择分支:`main`。
|
||||
7. 将 Compose 路径设置为 `./docker-compose.yml` 并保存。
|
||||

|
||||
|
||||
### 更新你的 `docker-compose.yml`
|
||||
|
||||
在现有的 `docker-compose.yml` 文件中添加以下内容:
|
||||
|
||||
1. 为每个服务添加网络 `dokploy-network`。
|
||||
2. 添加 Traefik 标签,使服务能够通过域名访问。
|
||||
|
||||
示例:
|
||||
|
||||
让我们修改以下的 Compose 文件,使其能够在 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
|
||||
```
|
||||
|
||||
|
||||
更新版本,添加了 dokploy-network 和 Traefik 标签:
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
<Callout type="warn">
|
||||
不要为每个服务设置 container_name 属性,否则会导致日志、指标和其他功能出现问题。
|
||||
</Callout>
|
||||
{/* :::danger
|
||||
不要为每个服务设置 container_name 属性,否则会导致日志、指标和其他功能出现问题。
|
||||
|
||||
::: */}
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
确保将 A 记录指向您希望用于服务的域名。
|
||||
|
||||
<ImageZoom src="/assets/images/compose/domain.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
通过点击 "deploy" 部署应用程序,等待部署完成。然后给 Traefik 大约 10 秒的时间来生成证书。之后,您就可以通过设置的域名访问应用程序。
|
||||
|
||||
<ImageZoom src="/assets/images/compose/application.png" width={800} height={630} alt='home og image' className="rounded-lg" />
|
||||
|
||||
**提示**:
|
||||
|
||||
1. 为每个路由器设置唯一名称:`traefik.http.routers.<unique-name>`
|
||||
2. 为每个服务设置唯一名称:`traefik.http.services.<unique-name>`
|
||||
3. 确保网络已连接到 `dokploy-network`
|
||||
4. 将入口点设置为 websecure,并将证书解析器设置为 letsencrypt,以生成证书。
|
||||
|
||||
76
apps/docs/content/docs/core/docker-compose/overview.cn.mdx
Normal file
76
apps/docs/content/docs/core/docker-compose/overview.cn.mdx
Normal file
@@ -0,0 +1,76 @@
|
||||
---
|
||||
title: "概述"
|
||||
description: "了解如何使用 Docker Compose 和 Dokploy"
|
||||
---
|
||||
|
||||
import { Callout } from "fumadocs-ui/components/callout";
|
||||
|
||||
Dokploy 集成了 Docker Compose 和 Docker Stack,以提供灵活的部署解决方案。无论您是在本地开发还是进行大规模部署,Dokploy 都能通过这些强大的 Docker 工具简化应用管理。
|
||||
|
||||
### 配置方法
|
||||
|
||||
Dokploy 提供两种创建 Docker Compose 配置的方法:
|
||||
|
||||
- **Docker Compose**:适用于标准 Docker Compose 配置。
|
||||
- **Stack**:旨在使用 Docker Swarm 进行应用编排。请注意,在此模式下,一些 Docker Compose 功能(例如 `build`)不可用。
|
||||
|
||||
### 一般
|
||||
|
||||
配置代码来源、应用构建方式,并管理部署、更新、删除应用及停止应用等操作。
|
||||
|
||||
### 环境
|
||||
|
||||
Dokploy 内置的代码编辑器允许您为 Docker Compose 文件指定环境变量。默认情况下,Dokploy 会在指定的 Docker Compose 文件路径中创建 `.env` 文件。
|
||||
|
||||
### 监控
|
||||
|
||||
在 Dokploy 中可以单独监控每个服务。如果您的应用包含多个服务,可以单独监控每个服务,以确保最佳性能。
|
||||
|
||||
### 日志
|
||||
|
||||
通过 Dokploy 日志查看器访问每个服务的详细日志,这可以帮助排除故障并确保服务的稳定性。
|
||||
|
||||
### 部署
|
||||
|
||||
您可以查看应用的最近 10 次部署。当您实时部署应用时,将创建一个新的部署记录,并逐渐显示应用的构建过程。
|
||||
|
||||
我们还提供一个按钮,可以取消排队中的部署。请注意,正在进行的部署无法取消。
|
||||
|
||||
我们提供了一个 webhook,以便您可以通过推送到 GitHub、Gitea、GitLab、Bitbucket 仓库来触发自己的部署。
|
||||
|
||||
### 高级
|
||||
|
||||
本节为经验丰富的用户提供高级配置选项。包括在容器内自定义命令和卷的工具。
|
||||
|
||||
- **命令**:Dokploy 定义了一个命令来运行 Docker Compose 文件,确保通过 UI 完全控制。不过,您可以向命令添加标志或选项。
|
||||
- **卷**:为了确保数据在部署之间持久化,配置应用的存储卷。
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/images/compose/overview.png"
|
||||
width={800}
|
||||
height={630}
|
||||
quality={100}
|
||||
priority
|
||||
alt="首页 og 图片"
|
||||
className="rounded-lg"
|
||||
/>
|
||||
|
||||
<Callout title="卷">
|
||||
Docker 卷是一种持久化 Docker 容器生成和使用的数据的方式。它们对于在容器重启之间维护数据或在不同容器之间共享数据尤其有用。
|
||||
|
||||
要将卷绑定到主机,可以在您的 docker-compose.yml 文件中使用以下语法,但这种方式在新部署时会清理卷:
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- "/folder:/path/in/container" ❌
|
||||
```
|
||||
|
||||
建议使用 ../files 文件夹,以确保您的数据在部署之间保持持久。例如:
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- "../files/my-database:/var/lib/mysql" ✅
|
||||
- "../files/my-configs:/etc/my-app/config" ✅
|
||||
```
|
||||
|
||||
</Callout>
|
||||
40
apps/docs/content/docs/core/docker-compose/providers.cn.mdx
Normal file
40
apps/docs/content/docs/core/docker-compose/providers.cn.mdx
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: "提供商"
|
||||
description: "了解如何在 Dokploy 中使用 Docker Compose。"
|
||||
---
|
||||
|
||||
Dokploy 提供几种部署方法,使得无论您是使用 GitHub、任何 Git 提供商、原始方法还是自动部署,流程都更加简化。
|
||||
|
||||
- GitHub
|
||||
- Git(任何 Git 提供商)
|
||||
- 原始方法
|
||||
|
||||
## GitHub
|
||||
|
||||
通过 GitHub 部署非常简单:
|
||||
|
||||
1. 在 `/dashboard/settings/server` 中配置您的 GitHub 存储库。
|
||||
2. 在创建应用程序时,Dokploy 会自动检索可用的存储库和分支。
|
||||
|
||||
## Git
|
||||
|
||||
对于来自任何 Git 存储库的部署,无论是公共的还是私有的,您可以使用 SSH 或 HTTPS:
|
||||
|
||||
1. 输入存储库 URL。
|
||||
2. 指定您希望部署的分支。
|
||||
|
||||
### 私有存储库
|
||||
|
||||
对于私有存储库,请使用 SSH 进行身份验证。我们提供一个锁定图标以生成 SSH 密钥。
|
||||
|
||||
<ImageZoom src="/assets/dokploy-ssh-compose.png" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
然后,您可以复制 SSH 密钥并将其粘贴到您账户的设置中。
|
||||
|
||||
<ImageZoom src="/assets/private-repository.png" width={800} height={630} className="rounded-lg"/>
|
||||
|
||||
这使您能够从私有存储库中拉取代码,这种方法几乎适用于所有提供商。
|
||||
|
||||
## 原始方法
|
||||
|
||||
您可以直接在代码编辑器中指定 Docker Compose 文件并触发部署。
|
||||
@@ -6,14 +6,30 @@ 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
|
||||
- Gitlab
|
||||
- Bitbucket
|
||||
- Git (Any Git Provider)
|
||||
- Raw
|
||||
|
||||
## GitHub
|
||||
|
||||
Deploying via GitHub is straightforward:
|
||||
Deploying via GitHub:
|
||||
|
||||
1. Configure your GitHub repository in the `/dashboard/settings/server`.
|
||||
1. Configure your GitHub repository in the `/dashboard/settings/git-providers`.
|
||||
2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
|
||||
|
||||
## Gitlab
|
||||
|
||||
Deploying via Gitlab:
|
||||
|
||||
1. Configure your Gitlab repository in the `/dashboard/settings/git-providers`.
|
||||
2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
|
||||
|
||||
## Bitbucket
|
||||
|
||||
Deploying via Bitbucket:
|
||||
|
||||
1. Configure your Bitbucket repository in the `/dashboard/settings/git-providers`.
|
||||
2. When creating an application, Dokploy automatically retrieves the available repositories and branches.
|
||||
|
||||
## Git
|
||||
@@ -27,15 +43,24 @@ For deployments from any Git repository, whether public or private, you can use
|
||||
|
||||
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"/>
|
||||
<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"/>
|
||||
<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.
|
||||
You specify a docker compose file directly in the code editor and trigger a deployment.
|
||||
|
||||
59
apps/docs/content/docs/core/domain/certificates.cn.mdx
Normal file
59
apps/docs/content/docs/core/domain/certificates.cn.mdx
Normal file
@@ -0,0 +1,59 @@
|
||||
---
|
||||
title: "证书"
|
||||
description: "了解如何为 Dokploy 面板设置证书"
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
在为 Dokploy 使用域名时,我们提供三种证书选项:
|
||||
|
||||
- 不使用 (`None`)
|
||||
- 使用免费的 SSL 证书(来自 [Let's Encrypt](https://letsencrypt.org/))
|
||||
- 使用自定义 SSL 证书
|
||||
|
||||
## 不使用(None)
|
||||
|
||||
选择 `None` 意味着我们不会分配 `tlsResolver`,因此你的 DNS 提供商可以从他们的服务器实现 SSL 证书。
|
||||
|
||||
<Callout title="Cloudflare">当你在 Cloudflare 上注册域名时,Cloudflare 会自动分配 SSL 证书,因此你需要在 Dokploy 中选择 `None` 并禁用 HTTPS。</Callout>
|
||||
|
||||
## Let's Encrypt
|
||||
|
||||
使用来自 [Let's Encrypt](https://letsencrypt.org/) 的免费 SSL 证书是最简单的选项,但它有一些限制:
|
||||
|
||||
1. **速率限制**:在特定时间范围内,每个域名和账户可发放的证书数量有限制。
|
||||
2. **有效期短**:证书仅有效 90 天,但 Traefik 会自动为你续期。
|
||||
3. **通配符证书**:虽然支持,但获取通配符证书需要 DNS-01 验证,可能会更复杂。
|
||||
4. **仅域名验证**:Let's Encrypt 仅提供域名验证(DV)证书,这意味着它们只验证域名所有权,而不验证背后的组织。
|
||||
5. **无担保**:证书没有任何担保或责任覆盖,可能不适用于所有用例。
|
||||
|
||||
### 其他提供商
|
||||
|
||||
对于由 Cloudflare 以外的提供商管理的域名,流程非常简单:
|
||||
|
||||
1. 在 Dokploy 中选择 `Let's Encrypt` 并启用 `HTTPS`。
|
||||
2. 确保 DNS 记录已正确设置为指向你的服务器。
|
||||
3. 其余工作由 Traefik 处理,证书应在大约 20 秒内生成。
|
||||
|
||||
### Cloudflare 设置
|
||||
|
||||
如果你的域名由 Cloudflare 管理:
|
||||
|
||||
1. 确保你的域名在 Cloudflare 中设置为 `Full (Strict)` 模式。
|
||||
2. 在 Dokploy 中选择 `Let's Encrypt` 并启用 `HTTPS`。
|
||||
|
||||
Cloudflare 配置步骤:
|
||||
|
||||
1. 登录 Cloudflare 并导航至 `Websites` -> `Your Domain` -> `SSL/TLS` -> `Overview`。
|
||||
2. 你会看到四种模式(Off、Flexible、Full、Full (Strict))。
|
||||
3. 要使用 Let's Encrypt,选择 `Full (Strict)`。
|
||||
|
||||
<Callout>
|
||||
**注意**:在应用程序中创建域名时,确保使用 `Let's Encrypt` 证书并启用 `HTTPS`。证书的生成通常需要大约 20 秒。如果证书未生成,请重启 Traefik 并重试。
|
||||
</Callout>
|
||||
|
||||
## 自定义 SSL
|
||||
|
||||
我们提供了创建证书并让 Traefik 引用它的方法,但这并不意味着它会自动生效。你需要调整 Traefik 配置以使用它。
|
||||
|
||||
你可以在[这里](https://docs.traefik.io/https/acme/#custom-ssl-certificates)阅读更多关于如何创建自定义证书的内容。
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
title: "Docker Compose 设置"
|
||||
description: "了解如何为 Docker Compose 应用程序设置域名"
|
||||
---
|
||||
import { Step, Steps } from 'fumadocs-ui/components/steps';
|
||||
|
||||
本指南详细说明了如何为你的 Docker Compose 应用程序设置域名。
|
||||
|
||||
## 创建 DNS 记录
|
||||
|
||||
1. 添加一个 `A` 记录到你的 DNS 设置中:
|
||||
- **名称:** 输入你希望指向的路径(例如,`app` 对应 `app.yourdomain.com`)。
|
||||
- **值:** 输入你的服务器 IP 地址,例如 `1.2.3.4`。
|
||||
|
||||
## Docker Compose 域名设置
|
||||
|
||||
要使 Docker Compose 服务或容器通过域名访问,需要在现有的 Docker Compose 文件中添加两部分内容。
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
添加 `dokploy-network` 网络到每个服务。
|
||||
|
||||
```yaml
|
||||
services:
|
||||
app:
|
||||
image: nextjs-app
|
||||
networks:
|
||||
- dokploy-network
|
||||
ports:
|
||||
- "3000"
|
||||
|
||||
networks:
|
||||
dokploy-network:
|
||||
external: true
|
||||
```
|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
添加 Traefik 标签,使服务可以通过域名访问。
|
||||
|
||||
1. 如果你使用的是默认的 Cloudflare 配置,添加以下标签:
|
||||
|
||||
- `traefik.http.routers.<unique-name>.entrypoints=web`
|
||||
|
||||
2. 如果你使用的是 Let's Encrypt 或 Cloudflare 的 Full Strict 模式,添加以下标签:
|
||||
|
||||
- `traefik.http.routers.<unique-name>.entrypoints=websecure`
|
||||
- `traefik.http.routers.<unique-name>.tls.certResolver=letsencrypt`
|
||||
|
||||
```yaml
|
||||
services:
|
||||
app:
|
||||
image: nextjs-app
|
||||
networks:
|
||||
- dokploy-network
|
||||
ports:
|
||||
- "3000"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.<unique-name>.entrypoints=websecure"
|
||||
- "traefik.http.routers.<unique-name>.tls.certResolver=letsencrypt"
|
||||
- "traefik.http.routers.<unique-name>.rule=Host(`app.yourdomain.com`)"
|
||||
- "traefik.http.services.<unique-name>.loadbalancer.server.port=3000"
|
||||
networks:
|
||||
dokploy-network:
|
||||
external: true
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
### 基本 `docker-compose.yml` 文件示例
|
||||
|
||||
有关基本 `docker-compose.yml` 文件的示例,请参阅 [Docker Compose Quickstart](/docs/core/docker-compose/example#tutorial) 文档。
|
||||
22
apps/docs/content/docs/core/domain/requirements.cn.mdx
Normal file
22
apps/docs/content/docs/core/domain/requirements.cn.mdx
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: "要求"
|
||||
description: "查看为 Dokploy 面板配置域名的要求"
|
||||
---
|
||||
|
||||
本指南将帮助你了解将域名分配给 Dokploy 面板或在其他应用程序(无论是 Docker Compose 还是其他)中使用的要求。
|
||||
|
||||
## 要求
|
||||
|
||||
在开始之前,请确保你已从以下提供商之一或你选择的其他提供商购买了域名:
|
||||
|
||||
- [Cloudflare](https://www.cloudflare.com/)
|
||||
- [Namecheap](https://www.namecheap.com/domains/)
|
||||
- [Name.com](https://www.name.com/)
|
||||
- [GoDaddy](https://www.godaddy.com/)
|
||||
- [Domain.com](https://www.domain.com/)
|
||||
|
||||
## 转移设置(可选)
|
||||
|
||||
我们建议将你的域名转移到 Cloudflare,以获得免费 SSL 证书并灵活使用工具:
|
||||
|
||||
- [将域名转移到 Cloudflare](https://developers.cloudflare.com/registrar/get-started/transfer-domain-to-cloudflare/)
|
||||
29
apps/docs/content/docs/core/examples/astro-ssr.cn.mdx
Normal file
29
apps/docs/content/docs/core/examples/astro-ssr.cn.mdx
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Astro SSR
|
||||
description: 部署一个简单的 Astro SSR 应用程序。
|
||||
---
|
||||
|
||||
|
||||
此示例将部署一个简单的 Astro SSR 应用程序。
|
||||
|
||||
|
||||
1. **在您的应用程序中使用 Git 提供商**:
|
||||
- 仓库:`https://github.com/Dokploy/examples.git`
|
||||
- 分支:`main`
|
||||
- 构建路径:`/astro-ssr`
|
||||
|
||||
2. **添加环境变量**:
|
||||
- 导航到“环境”选项卡并添加以下变量:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **点击部署**:
|
||||
- 通过点击部署按钮来部署您的应用程序。
|
||||
|
||||
4. **生成域名**:
|
||||
- 点击生成域名按钮。
|
||||
- 将为您生成一个新域名。
|
||||
- 您可以使用此域名访问您的应用程序。
|
||||
|
||||
如果您需要进一步的帮助,请加入我们的 [Discord 服务器](https://discord.com/invite/2tBnJ3jDJc)。
|
||||
27
apps/docs/content/docs/core/examples/astro.cn.mdx
Normal file
27
apps/docs/content/docs/core/examples/astro.cn.mdx
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
title: Astro
|
||||
description: 部署一个简单的 Astro 应用程序。
|
||||
---
|
||||
|
||||
此示例将部署一个简单的 Astro 应用程序。
|
||||
|
||||
1. **在您的应用程序中使用 Git 提供商**:
|
||||
- 仓库:`https://github.com/Dokploy/examples.git`
|
||||
- 分支:`main`
|
||||
- 构建路径:`/astro`
|
||||
|
||||
2. **添加环境变量**:
|
||||
- 导航到“环境”选项卡并添加以下变量:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **点击部署**:
|
||||
- 通过点击部署按钮来部署您的应用程序。
|
||||
|
||||
4. **生成域名**:
|
||||
- 点击生成域名按钮。
|
||||
- 将为您生成一个新域名。
|
||||
- 您可以使用此域名访问您的应用程序。
|
||||
|
||||
如果您需要进一步的帮助,请加入我们的 [Discord 服务器](https://discord.com/invite/2tBnJ3jDJc)。
|
||||
29
apps/docs/content/docs/core/examples/lit.cn.mdx
Normal file
29
apps/docs/content/docs/core/examples/lit.cn.mdx
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Lit
|
||||
description: 部署一个简单的 Lit 应用程序。
|
||||
---
|
||||
|
||||
|
||||
此示例将部署一个简单的 Lit 应用程序。
|
||||
|
||||
|
||||
1. **在您的应用程序中使用 Git 提供商**:
|
||||
- 仓库:`https://github.com/Dokploy/examples.git`
|
||||
- 分支:`main`
|
||||
- 构建路径:`/lit`
|
||||
|
||||
2. **添加环境变量**:
|
||||
- 导航到“环境”选项卡并添加以下变量:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **点击部署**:
|
||||
- 通过点击部署按钮来部署您的应用程序。
|
||||
|
||||
4. **生成域名**:
|
||||
- 点击生成域名按钮。
|
||||
- 将为您生成一个新域名。
|
||||
- 您可以使用此域名访问您的应用程序。
|
||||
|
||||
如果您需要进一步的帮助,请加入我们的 [Discord 服务器](https://discord.com/invite/2tBnJ3jDJc)。
|
||||
22
apps/docs/content/docs/core/examples/nestjs.cn.mdx
Normal file
22
apps/docs/content/docs/core/examples/nestjs.cn.mdx
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Nest.js
|
||||
description: 部署一个简单的 Nest.js 应用程序。
|
||||
---
|
||||
|
||||
|
||||
此示例将部署一个简单的 Nest.js 应用程序。
|
||||
|
||||
1. **在您的应用程序中使用 Git 提供商**:
|
||||
- 仓库:`https://github.com/Dokploy/examples.git`
|
||||
- 分支:`main`
|
||||
- 构建路径:`/nestjs`
|
||||
|
||||
2. **点击部署**:
|
||||
- 通过点击部署按钮来部署您的应用程序。
|
||||
|
||||
3. **生成域名**:
|
||||
- 点击生成域名按钮。
|
||||
- 将为您生成一个新域名。
|
||||
- 您可以使用此域名访问您的应用程序。
|
||||
|
||||
如果您需要进一步的帮助,请加入我们的 [Discord 服务器](https://discord.com/invite/2tBnJ3jDJc)。
|
||||
22
apps/docs/content/docs/core/examples/nextjs.cn.mdx
Normal file
22
apps/docs/content/docs/core/examples/nextjs.cn.mdx
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Next.js
|
||||
description: 部署一个简单的 Next.js 应用程序。
|
||||
---
|
||||
|
||||
|
||||
此示例将部署一个简单的 Next.js 应用程序。
|
||||
|
||||
1. **在您的应用程序中使用 Git 提供商**:
|
||||
- 仓库:`https://github.com/Dokploy/examples.git`
|
||||
- 分支:`main`
|
||||
- 构建路径:`/nextjs`
|
||||
|
||||
2. **点击部署**:
|
||||
- 通过点击部署按钮来部署您的应用程序。
|
||||
|
||||
3. **生成域名**:
|
||||
1. 点击生成域名按钮。
|
||||
2. 将为您生成一个新域名。
|
||||
3. 您可以使用此域名访问您的应用程序。
|
||||
|
||||
如果您需要进一步的帮助,请加入我们的 [Discord 服务器](https://discord.com/invite/2tBnJ3jDJc)。
|
||||
28
apps/docs/content/docs/core/examples/preact.cn.mdx
Normal file
28
apps/docs/content/docs/core/examples/preact.cn.mdx
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Preact
|
||||
description: 部署一个简单的 Preact 应用程序。
|
||||
---
|
||||
|
||||
|
||||
此示例将部署一个简单的 Preact 应用程序。
|
||||
|
||||
1. **在您的应用程序中使用 Git 提供商**:
|
||||
- 仓库:`https://github.com/Dokploy/examples.git`
|
||||
- 分支:`main`
|
||||
- 构建路径:`/preact`
|
||||
|
||||
2. **添加环境变量**:
|
||||
- 导航到“环境”选项卡,并添加以下变量:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **点击部署**:
|
||||
- 通过点击部署按钮来部署您的应用程序。
|
||||
|
||||
4. **生成域名**:
|
||||
- 点击生成域名按钮。
|
||||
- 将为您生成一个新域名。
|
||||
- 您可以使用此域名访问您的应用程序。
|
||||
|
||||
如果您需要进一步的帮助,请加入我们的 [Discord 服务器](https://discord.com/invite/2tBnJ3jDJc)。
|
||||
28
apps/docs/content/docs/core/examples/qwik.cn.mdx
Normal file
28
apps/docs/content/docs/core/examples/qwik.cn.mdx
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Qwik
|
||||
description: 部署一个简单的 Qwik 应用程序。
|
||||
---
|
||||
|
||||
|
||||
此示例将部署一个简单的 Qwik 应用程序。
|
||||
|
||||
1. **在您的应用程序中使用 Git 提供商**:
|
||||
- 仓库:`https://github.com/Dokploy/examples.git`
|
||||
- 分支:`main`
|
||||
- 构建路径:`/qwik`
|
||||
|
||||
2. **添加环境变量**:
|
||||
- 导航到“环境”选项卡,并添加以下变量:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **点击部署**:
|
||||
- 通过点击部署按钮来部署您的应用程序。
|
||||
|
||||
4. **生成域名**:
|
||||
- 点击生成域名按钮。
|
||||
- 将为您生成一个新域名。
|
||||
- 您可以使用此域名访问您的应用程序。
|
||||
|
||||
如果您需要进一步的帮助,请加入我们的 [Discord 服务器](https://discord.com/invite/2tBnJ3jDJc)。
|
||||
22
apps/docs/content/docs/core/examples/remix.cn.mdx
Normal file
22
apps/docs/content/docs/core/examples/remix.cn.mdx
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Remix
|
||||
description: 部署一个简单的 Remix 应用程序。
|
||||
---
|
||||
|
||||
|
||||
此示例将部署一个简单的 Remix 应用程序。
|
||||
|
||||
1. **在您的应用程序中使用 Git 提供商**:
|
||||
- 仓库:`https://github.com/Dokploy/examples.git`
|
||||
- 分支:`main`
|
||||
- 构建路径:`/remix`
|
||||
|
||||
2. **点击部署**:
|
||||
- 通过点击部署按钮来部署您的应用程序。
|
||||
|
||||
3. **生成域名**:
|
||||
- 点击生成域名按钮。
|
||||
- 将为您生成一个新域名。
|
||||
- 您可以使用此域名访问您的应用程序。
|
||||
|
||||
如果您需要进一步的帮助,请加入我们的 [Discord 服务器](https://discord.com/invite/2tBnJ3jDJc)。
|
||||
28
apps/docs/content/docs/core/examples/solidjs.cn.mdx
Normal file
28
apps/docs/content/docs/core/examples/solidjs.cn.mdx
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Solid.js
|
||||
description: 部署一个简单的 Solid.js 应用程序。
|
||||
---
|
||||
|
||||
|
||||
此示例将部署一个简单的 Solid.js 应用程序。
|
||||
|
||||
1. **在您的应用程序中使用 Git 提供商**:
|
||||
- 仓库:`https://github.com/Dokploy/examples.git`
|
||||
- 分支:`main`
|
||||
- 构建路径:`/solidjs`
|
||||
|
||||
2. **添加环境变量**:
|
||||
- 导航到“环境”选项卡并添加以下变量:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run serve"
|
||||
```
|
||||
|
||||
3. **点击部署**:
|
||||
- 通过点击部署按钮来部署您的应用程序。
|
||||
|
||||
4. **生成域名**:
|
||||
- 点击生成域名按钮。
|
||||
- 将为您生成一个新域名。
|
||||
- 您可以使用此域名访问您的应用程序。
|
||||
|
||||
如果您需要进一步的帮助,请加入我们的 [Discord 服务器](https://discord.com/invite/2tBnJ3jDJc)。
|
||||
28
apps/docs/content/docs/core/examples/svelte.cn.mdx
Normal file
28
apps/docs/content/docs/core/examples/svelte.cn.mdx
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Svelte
|
||||
description: 部署一个简单的 Svelte 应用程序。
|
||||
---
|
||||
|
||||
|
||||
此示例将部署一个简单的 Svelte 应用程序。
|
||||
|
||||
1. **在您的应用程序中使用 Git 提供商**:
|
||||
- 仓库:`https://github.com/Dokploy/examples.git`
|
||||
- 分支:`main`
|
||||
- 构建路径:`/svelte`
|
||||
|
||||
2. **添加环境变量**:
|
||||
- 导航到“环境”选项卡并添加以下变量:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **点击部署**:
|
||||
- 通过点击部署按钮来部署您的应用程序。
|
||||
|
||||
4. **生成域名**:
|
||||
- 点击生成域名按钮。
|
||||
- 将为您生成一个新域名。
|
||||
- 您可以使用此域名访问您的应用程序。
|
||||
|
||||
如果您需要进一步的帮助,请加入我们的 [Discord 服务器](https://discord.com/invite/2tBnJ3jDJc)。
|
||||
28
apps/docs/content/docs/core/examples/vite-react.cn.mdx
Normal file
28
apps/docs/content/docs/core/examples/vite-react.cn.mdx
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Vite React
|
||||
description: 部署一个简单的 Vite React 应用程序。
|
||||
---
|
||||
|
||||
|
||||
此示例将部署一个简单的 Vite React 应用程序。
|
||||
|
||||
1. **在您的应用程序中使用 Git 提供商**:
|
||||
- 仓库:`https://github.com/Dokploy/examples.git`
|
||||
- 分支:`main`
|
||||
- 构建路径:`/vite`
|
||||
|
||||
2. **添加环境变量**:
|
||||
- 导航到“环境”选项卡并添加以下变量:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **点击部署**:
|
||||
- 通过点击部署按钮来部署您的应用程序。
|
||||
|
||||
4. **生成域名**:
|
||||
- 点击生成域名按钮。
|
||||
- 将为您生成一个新域名。
|
||||
- 您可以使用此域名访问您的应用程序。
|
||||
|
||||
如果您需要进一步的帮助,请加入我们的 [Discord 服务器](https://discord.com/invite/2tBnJ3jDJc)。
|
||||
28
apps/docs/content/docs/core/examples/vuejs.cn.mdx
Normal file
28
apps/docs/content/docs/core/examples/vuejs.cn.mdx
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Vue.js
|
||||
description: 部署一个简单的 Vue.js 应用程序。
|
||||
---
|
||||
|
||||
|
||||
此示例将部署一个简单的 Vue.js 应用程序。
|
||||
|
||||
1. **在您的应用程序中使用 Git 提供商**:
|
||||
- 仓库:`https://github.com/Dokploy/examples.git`
|
||||
- 分支:`main`
|
||||
- 构建路径:`/vuejs`
|
||||
|
||||
2. **添加环境变量**:
|
||||
- 导航到“环境”选项卡并添加以下变量:
|
||||
```cmd
|
||||
NIXPACKS_START_CMD="pnpm run preview"
|
||||
```
|
||||
|
||||
3. **点击部署**:
|
||||
- 通过点击部署按钮来部署您的应用程序。
|
||||
|
||||
4. **生成域名**:
|
||||
- 点击生成域名按钮。
|
||||
- 将为您生成一个新域名。
|
||||
- 您可以使用此域名访问您的应用程序。
|
||||
|
||||
如果您需要进一步的帮助,请加入我们的 [Discord 服务器](https://discord.com/invite/2tBnJ3jDJc)。
|
||||
@@ -1,22 +1,23 @@
|
||||
---
|
||||
title: 'Comparison'
|
||||
description: 'A comparison of Dokploy, CapRover, Dokku, and Coolify'
|
||||
title: "Comparison"
|
||||
description: "A comparison of Dokploy, CapRover, Dokku, and Coolify"
|
||||
---
|
||||
|
||||
Comparison of the following deployment tools:
|
||||
|
||||
| Feature | Dokploy | CapRover | Dokku | Coolify |
|
||||
|-----------------------------------|---------------------------------------|--------------------------------------|--------------------------------------|--------------------------------------|
|
||||
| **User Interface** | ✅ | ✅ | ❌ | ✅ |
|
||||
| **Docker compose support** | ✅ | ❌ | ❌ | ✅ |
|
||||
| **API/CLI** | ✅ | ✅ | ✅ | ✅ |
|
||||
| **Multi node support** | ✅ | ✅ | ❌ | ✅ |
|
||||
| **Traefik Integration** | ✅ | ✅ | Available via Plugins | ✅ |
|
||||
| **User Permission Management** | ✅ | ❌ | ❌ | ✅ |
|
||||
| **Advanced User Permission Management** | ✅ | ❌ | ❌ | ❌ |
|
||||
| **Terminal Access Built In** | ✅ | ❌ | ❌ | ✅ |
|
||||
| **Database Support** | ✅ | ✅ | ❌ | ✅ |
|
||||
| **Monitoring** | ✅ | ✅ | ❌ | ❌ |
|
||||
| **Backups** | ✅ | Available via Plugins | Available via Plugins | ✅ |
|
||||
| **Open Source** | ✅ | ✅ | ✅ | ✅ |
|
||||
| **Cloud/Paid Version** | ❌ | ✅ | ❌ | ✅ |
|
||||
| Feature | Dokploy | CapRover | Dokku | Coolify |
|
||||
| --------------------------------------- | ------- | --------------------- | --------------------- | ------- |
|
||||
| **User Interface** | ✅ | ✅ | ❌ | ✅ |
|
||||
| **Docker compose support** | ✅ | ❌ | ❌ | ✅ |
|
||||
| **API/CLI** | ✅ | ✅ | ✅ | ✅ |
|
||||
| **Multi node support** | ✅ | ✅ | ❌ | ✅ |
|
||||
| **Traefik Integration** | ✅ | ✅ | Available via Plugins | ✅ |
|
||||
| **User Permission Management** | ✅ | ❌ | ❌ | ✅ |
|
||||
| **Advanced User Permission Management** | ✅ | ❌ | ❌ | ❌ |
|
||||
| **Terminal Access Built In** | ✅ | ❌ | ❌ | ✅ |
|
||||
| **Database Support** | ✅ | ✅ | ❌ | ✅ |
|
||||
| **Monitoring** | ✅ | ✅ | ❌ | ❌ |
|
||||
| **Backups** | ✅ | Available via Plugins | Available via Plugins | ✅ |
|
||||
| **Open Source** | ✅ | ✅ | ✅ | ✅ |
|
||||
| **Multi Server Support** | ✅ | ❌ | ❌ | ✅ |
|
||||
| **Cloud/Paid Version** | ❌ | ✅ | ✅ | ✅ |
|
||||
|
||||
@@ -3,7 +3,6 @@ title: Installation
|
||||
description: "Get Dokploy up and running on your server within minutes with this easy-to-follow installation guide."
|
||||
---
|
||||
|
||||
|
||||
Follow these steps in order to set up Dokploy locally and deploy it to your server, effectively managing Docker containers and applications:
|
||||
|
||||
You need to follow this steps in the same order:
|
||||
@@ -30,8 +29,9 @@ We have tested on the following Linux Distros:
|
||||
|
||||
### Providers
|
||||
|
||||
- [DigitalOcean](https://www.digitalocean.com/pricing/droplets#basic-droplets)
|
||||
- [Hetzner](https://www.hetzner.com/cloud/)
|
||||
- [Hostinger](https://www.hostinger.com/vps-hosting?ref=dokploy) Get 20% Discount using this referral link: [Referral Link](https://www.hostinger.com/vps-hosting?REFERRALCODE=1SIUMAURICI97)
|
||||
- [DigitalOcean](https://www.digitalocean.com/pricing/droplets#basic-droplets) Get 200$ credits for free with this referral link: [Referral Link](https://m.do.co/c/db24efd43f35)
|
||||
- [Hetzner](https://www.hetzner.com/cloud/) Get 20€ credits for free with this referral link: [Referral Link](https://hetzner.cloud/?ref=vou4fhxJ1W2D)
|
||||
- [Linode](https://www.linode.com/es/pricing/#compute-shared)
|
||||
- [Vultr](https://www.vultr.com/pricing/#cloud-compute)
|
||||
- [Scaleway](https://www.scaleway.com/en/pricing/?tags=baremetal,available)
|
||||
@@ -42,11 +42,12 @@ We have tested on the following Linux Distros:
|
||||
|
||||
To ensure a smooth experience with Dokploy, your server should have at least 2GB of RAM and 30GB of disk space. This specification helps to handle the resources consumed by Docker during builds and prevents system freezes.
|
||||
|
||||
import { Callout } from "fumadocs-ui/components/callout";
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout';
|
||||
|
||||
<Callout>**Suggestion:** For cost efficiency with reliable service, we recommend Hetzner as the best value-for-money VPS provider.</Callout>
|
||||
|
||||
<Callout>
|
||||
**Suggestion:** For cost efficiency with reliable service, we recommend
|
||||
Hetzner as the best value-for-money VPS provider.
|
||||
</Callout>
|
||||
|
||||
### Docker
|
||||
|
||||
@@ -64,9 +65,16 @@ After running the installation script, Dokploy and its dependencies will be set
|
||||
|
||||
Open your web browser and navigate to `http://your-ip-from-your-vps:3000`. You will be directed to the initial setup page where you can configure the administrative account for Dokploy.
|
||||
|
||||
|
||||
### Initial Configuration
|
||||
|
||||
1. **Create an Admin Account:** Fill in the necessary details to set up your administrator account. This account will be the admin account for Dokploy.
|
||||
|
||||
<ImageZoom src="/assets/images/setup.png" width={1300} height={630} alt='home og image' className="rounded-lg" />
|
||||
{" "}
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/images/setup.png"
|
||||
width={1300}
|
||||
height={650}
|
||||
alt="home og image"
|
||||
className="rounded-lg"
|
||||
/>
|
||||
|
||||
@@ -32,22 +32,22 @@ Please go to get started.
|
||||
|
||||
<Cards>
|
||||
<Card
|
||||
href="/get-started/installation"
|
||||
href="/docs/core/get-started/installation"
|
||||
title="Installation"
|
||||
description="Learn how to install Dokploy."
|
||||
/>
|
||||
<Card
|
||||
href="/application/overview"
|
||||
href="/docs/core/application/overview"
|
||||
title="Applications"
|
||||
description="Learn how to deploy applications."
|
||||
/>
|
||||
<Card
|
||||
href="/databases/overview"
|
||||
href="/docs/core/databases/overview"
|
||||
title="Databases"
|
||||
description="Learn how to deploy databases."
|
||||
/>
|
||||
<Card
|
||||
href="/traefik/overview"
|
||||
href="/docs/core/traefik/overview"
|
||||
title="Traefik"
|
||||
description="Learn how to deploy Traefik."
|
||||
/>
|
||||
|
||||
@@ -2,33 +2,63 @@
|
||||
"title": "Core",
|
||||
"root": true,
|
||||
"pages": [
|
||||
"---快速入门---",
|
||||
"---入门---",
|
||||
"get-started/introduction",
|
||||
"get-started/installation",
|
||||
"get-started/reset-password",
|
||||
"get-started/uninstall",
|
||||
"get-started/architecture",
|
||||
"get-started/features",
|
||||
"get-started/installation",
|
||||
"get-started/manual-installation",
|
||||
"get-started/reset-password",
|
||||
"get-started/uninstall",
|
||||
"---域名---",
|
||||
"domain/requirements",
|
||||
"domain/certificates",
|
||||
"domain/web-domain-setup",
|
||||
"domain/application-setup",
|
||||
"domain/docker-compose-setup",
|
||||
"---服务器---",
|
||||
"server/overview",
|
||||
"server/server-configuration",
|
||||
"---应用---",
|
||||
"server/profile",
|
||||
"server/appearance",
|
||||
"server/s3-destination",
|
||||
"server/certificates",
|
||||
"server/users",
|
||||
"server/cluster",
|
||||
"---应用程序---",
|
||||
"application/overview",
|
||||
"application/providers",
|
||||
"application/build-type",
|
||||
"application/domains",
|
||||
"application/auto-deploy",
|
||||
"application/advanced",
|
||||
"---数据库---",
|
||||
"databases/overview",
|
||||
"databases/backups",
|
||||
"---容器编排---",
|
||||
"databases/connection",
|
||||
"---Docker Compose---",
|
||||
"docker-compose/overview",
|
||||
"docker-compose/example",
|
||||
"docker-compose/providers",
|
||||
"docker-compose/auto-deploy",
|
||||
"docker-compose/domains",
|
||||
"docker-compose/example",
|
||||
"docker-compose/templates",
|
||||
"---模板---",
|
||||
"templates/overview",
|
||||
"--- traefik---",
|
||||
"---示例---",
|
||||
"examples/nextjs",
|
||||
"examples/vuejs",
|
||||
"examples/vite-react",
|
||||
"examples/nestjs",
|
||||
"examples/svelte",
|
||||
"examples/remix",
|
||||
"examples/qwik",
|
||||
"examples/preact",
|
||||
"examples/solidjs",
|
||||
"examples/astro",
|
||||
"examples/astro-ssr",
|
||||
"examples/go-fiber",
|
||||
"examples/lit",
|
||||
"---Traefik---",
|
||||
"traefik/overview",
|
||||
"---Docker---",
|
||||
"docker/overview",
|
||||
@@ -38,7 +68,9 @@
|
||||
"cluster/overview",
|
||||
"---部署---",
|
||||
"deployments/oracle-cloud",
|
||||
"---其它---",
|
||||
"extra/comparison"
|
||||
"---附加内容---",
|
||||
"extra/comparison",
|
||||
"---故障排除---",
|
||||
"troubleshooting/overview"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -64,6 +64,9 @@
|
||||
"docker/overview",
|
||||
"---Monitoring---",
|
||||
"monitoring/overview",
|
||||
"---Multi Server---",
|
||||
"multi-server/overview",
|
||||
"multi-server/example",
|
||||
"---Cluster---",
|
||||
"cluster/overview",
|
||||
"---Deployments---",
|
||||
|
||||
117
apps/docs/content/docs/core/multi-server/example.mdx
Normal file
117
apps/docs/content/docs/core/multi-server/example.mdx
Normal file
@@ -0,0 +1,117 @@
|
||||
---
|
||||
title: Example
|
||||
description: "Example to setup a remote server and deploy application in a VPS."
|
||||
---
|
||||
|
||||
import { Callout } from "fumadocs-ui/components/callout";
|
||||
|
||||
Multi server allows you to deploy your apps remotely to different servers without needing to build and run them where the Dokploy UI is installed.
|
||||
|
||||
## Requirements
|
||||
|
||||
1. To install Dokploy UI, follow the [installation guide](en/docs/core/get-started/installation).
|
||||
|
||||
2. Create an SSH key by going to `/dashboard/settings/ssh-keys` and add a new key. Be sure to copy the public key.
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/ssh-keys.png"
|
||||
alt="Architecture Diagram"
|
||||
width={1000}
|
||||
height={600}
|
||||
className="rounded-lg"
|
||||
/>
|
||||
|
||||
3. Decide which remote server to deploy your apps on. We recommend these reliable providers:
|
||||
|
||||
- [Hostinger](https://www.hostinger.com/vps-hosting?ref=dokploy) Get 20% off with this [referral link](https://www.hostinger.com/vps-hosting?REFERRALCODE=1SIUMAURICI97).
|
||||
- [DigitalOcean](https://www.digitalocean.com/pricing/droplets#basic-droplets) Get $200 credits for free with this [referral link](https://m.do.co/c/db24efd43f35).
|
||||
- [Hetzner](https://www.hetzner.com/cloud/) Get €20 credits with this [referral link](https://hetzner.cloud/?ref=vou4fhxJ1W2D).
|
||||
- [Linode](https://www.linode.com/es/pricing/#compute-shared).
|
||||
- [Vultr](https://www.vultr.com/pricing/#cloud-compute).
|
||||
- [Scaleway](https://www.scaleway.com/en/pricing/?tags=baremetal,available).
|
||||
- [Google Cloud](https://cloud.google.com/).
|
||||
- [AWS](https://aws.amazon.com/ec2/pricing/).
|
||||
|
||||
4. When creating the server, it should ask for SSH keys. Ideally, use your computer's public key and the key you generated in the previous step. Here's how to add the public key in Hostinger:
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/hostinger-add-sshkey.png"
|
||||
alt="Adding SSH key"
|
||||
width={1000}
|
||||
height={600}
|
||||
className="rounded-lg"
|
||||
/>
|
||||
|
||||
<Callout>The steps are similar across other providers.</Callout>
|
||||
|
||||
5. Copy the server’s IP address and ensure you know the username (often `root`). Fill in all fields and click `Create`.
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/multi-server-add-server.png"
|
||||
alt="Add server"
|
||||
width={1000}
|
||||
height={600}
|
||||
className="rounded-lg"
|
||||
/>
|
||||
|
||||
6. To test connectivity, open the server dropdown and click `Enter Terminal`. If everything is correct, you should be able to interact with the remote server.
|
||||
|
||||
7. Click `Setup Server` to proceed. There are two tabs: SSH Keys and Deployments. This guide explains the easy way, but you can follow the manual process via the Dokploy UI if you prefer.
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/multi-server-setup-2.png"
|
||||
alt="Setup process"
|
||||
width={1000}
|
||||
height={600}
|
||||
className="rounded-lg"
|
||||
/>
|
||||
|
||||
8. Click `Deployments`, then `Setup Server`. If everything is correct, you should see output similar to this:
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/multi-server-setup-3.png"
|
||||
alt="Server setup output"
|
||||
width={1000}
|
||||
height={600}
|
||||
className="rounded-lg"
|
||||
/>
|
||||
|
||||
<Callout>
|
||||
You only need to run this setup once. If Dokploy updates later, check the
|
||||
release notes to see if rerunning this command is required.
|
||||
</Callout>
|
||||
|
||||
9. You're ready to deploy your apps! Let's test it out:
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/multi-server-add-app.png"
|
||||
alt="Add app"
|
||||
width={1000}
|
||||
height={600}
|
||||
className="rounded-lg"
|
||||
/>
|
||||
|
||||
10. To check which server an app belongs to, you’ll see the server name at the top. If no server is selected, it defaults to `Dokploy Server`. Click `Deploy` to start building your app on the remote server. You can check the `Logs` tab to see the build process. For this example, we’ll use a test repo:
|
||||
Repo: `https://github.com/Dokploy/examples.git`
|
||||
Branch: `main`
|
||||
Build Path: `/astro`
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/multi-server-setup-app.png"
|
||||
alt="App setup"
|
||||
width={1000}
|
||||
height={600}
|
||||
className="rounded-lg"
|
||||
/>
|
||||
|
||||
11. Once the build is done, go to `Domains` and create a free domain. Just click `Create` and you’re good to go! 🎊
|
||||
|
||||
{" "}
|
||||
|
||||
<ImageZoom
|
||||
src="/assets/multi-server-finish.png"
|
||||
alt="Finished setup"
|
||||
width={1000}
|
||||
height={600}
|
||||
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