Merge branch 'Dokploy:canary' into feature/gpu-support-blender-template

This commit is contained in:
Vishal kadam
2024-11-12 01:01:46 +05:30
committed by GitHub
6 changed files with 45 additions and 41 deletions

View File

@@ -39,6 +39,8 @@ Dokploy includes multiple features to make your life easier.
To get started, run the following command on a VPS: To get started, run the following command on a VPS:
Want to skip the installation process? [Try the Dokploy Cloud](https://app.dokploy.com).
```bash ```bash
curl -sSL https://dokploy.com/install.sh | sh curl -sSL https://dokploy.com/install.sh | sh
``` ```

View File

@@ -53,7 +53,7 @@ export const AddGithubProvider = () => {
<Dialog open={isOpen} onOpenChange={setIsOpen}> <Dialog open={isOpen} onOpenChange={setIsOpen}>
<DialogTrigger asChild> <DialogTrigger asChild>
<Button variant="secondary" className="flex items-center space-x-1"> <Button variant="secondary" className="flex items-center space-x-1">
<GithubIcon /> <GithubIcon className="text-current fill-current" />
<span>Github</span> <span>Github</span>
</Button> </Button>
</DialogTrigger> </DialogTrigger>

View File

@@ -161,29 +161,27 @@ export const GitlabIcon = ({ className }: Props) => {
return ( return (
<svg <svg
aria-label="gitlab" aria-label="gitlab"
height="14"
viewBox="0 0 24 22"
width="14" width="14"
className={cn("fill-white text-white", className)} height="14"
viewBox="0 0 14 14"
xmlns="http://www.w3.org/2000/svg"
className={cn("text-white", className)}
> >
<path <path
d="M1.279 8.29L.044 12.294c-.117.367 0 .78.325 1.014l11.323 8.23-.009-.012-.03-.039L1.279 8.29zM22.992 13.308a.905.905 0 00.325-1.014L22.085 8.29 11.693 21.52l11.299-8.212z" d="m13.767 5.854-.02-.05L11.842.83a.5.5 0 0 0-.493-.312.5.5 0 0 0-.287.107.5.5 0 0 0-.169.257L9.607 4.819h-5.21L3.11.883A.5.5 0 0 0 2.162.83L.252 5.801l-.018.05a3.54 3.54 0 0 0 1.173 4.09l.007.005.017.012 2.903 2.174L5.77 13.22l.875.66a.59.59 0 0 0 .711 0l.875-.66 1.436-1.087 2.92-2.187.008-.006a3.54 3.54 0 0 0 1.172-4.085"
fill="currentColor" fill="#E24329"
/> />
<path <path
d="M1.279 8.29l10.374 13.197.03.039.01-.006L22.085 8.29H1.28z" d="m13.767 5.854-.02-.05a6.4 6.4 0 0 0-2.562 1.152L7 10.12l2.666 2.015 2.92-2.187.007-.006a3.54 3.54 0 0 0 1.174-4.088"
fill="currentColor" fill="#FC6D26"
opacity="0.4"
/> />
<path <path
d="M15.982 8.29l-4.299 13.236-.004.011.014-.017L22.085 8.29h-6.103zM7.376 8.29H1.279l10.374 13.197L7.376 8.29z" d="m4.334 12.135 1.436 1.087.875.66a.59.59 0 0 0 .711 0l.875-.66 1.436-1.087S8.425 11.195 7 10.12c-1.425 1.075-2.666 2.015-2.666 2.015"
fill="currentColor" fill="#FCA326"
opacity="0.6"
/> />
<path <path
d="M18.582.308l-2.6 7.982h6.103L19.48.308c-.133-.41-.764-.41-.897 0zM1.279 8.29L3.88.308c.133-.41.764-.41.897 0l2.6 7.982H1.279z" d="M2.814 6.956A6.4 6.4 0 0 0 .253 5.8l-.02.05a3.54 3.54 0 0 0 1.174 4.09l.007.005.017.012 2.903 2.174L7 10.117z"
fill="currentColor" fill="#FC6D26"
opacity="0.4"
/> />
</svg> </svg>
); );
@@ -200,7 +198,7 @@ export const GithubIcon = ({ className }: Props) => {
> >
<path <path
d="M7 .175c-3.872 0-7 3.128-7 7 0 3.084 2.013 5.71 4.79 6.65.35.066.482-.153.482-.328v-1.181c-1.947.415-2.363-.941-2.363-.941-.328-.81-.787-1.028-.787-1.028-.634-.438.044-.416.044-.416.7.044 1.071.722 1.071.722.635 1.072 1.641.766 2.035.59.066-.459.24-.765.437-.94-1.553-.175-3.193-.787-3.193-3.456 0-.766.262-1.378.721-1.881-.065-.175-.306-.897.066-1.86 0 0 .59-.197 1.925.722a6.754 6.754 0 0 1 1.75-.24c.59 0 1.203.087 1.75.24 1.335-.897 1.925-.722 1.925-.722.372.963.131 1.685.066 1.86.46.48.722 1.115.722 1.88 0 2.691-1.641 3.282-3.194 3.457.24.219.481.634.481 1.29v1.926c0 .197.131.415.481.328C11.988 12.884 14 10.259 14 7.175c0-3.872-3.128-7-7-7z" d="M7 .175c-3.872 0-7 3.128-7 7 0 3.084 2.013 5.71 4.79 6.65.35.066.482-.153.482-.328v-1.181c-1.947.415-2.363-.941-2.363-.941-.328-.81-.787-1.028-.787-1.028-.634-.438.044-.416.044-.416.7.044 1.071.722 1.071.722.635 1.072 1.641.766 2.035.59.066-.459.24-.765.437-.94-1.553-.175-3.193-.787-3.193-3.456 0-.766.262-1.378.721-1.881-.065-.175-.306-.897.066-1.86 0 0 .59-.197 1.925.722a6.754 6.754 0 0 1 1.75-.24c.59 0 1.203.087 1.75.24 1.335-.897 1.925-.722 1.925-.722.372.963.131 1.685.066 1.86.46.48.722 1.115.722 1.88 0 2.691-1.641 3.282-3.194 3.457.24.219.481.634.481 1.29v1.926c0 .197.131.415.481.328C11.988 12.884 14 10.259 14 7.175c0-3.872-3.128-7-7-7z"
fill="#fff" fill="currentColor"
fillRule="nonzero" fillRule="nonzero"
/> />
</svg> </svg>
@@ -209,30 +207,34 @@ export const GithubIcon = ({ className }: Props) => {
export const BitbucketIcon = ({ className }: Props) => { export const BitbucketIcon = ({ className }: Props) => {
return ( return (
<svg height="14" viewBox="-2 -2 65 59" width="14" className={className}> <svg
width="14"
height="13"
viewBox="0 0 14 13"
xmlns="http://www.w3.org/2000/svg"
className={className}
>
<path
d="M.454 0a.448.448 0 0 0-.448.52l1.903 11.556a.61.61 0 0 0 .597.509h9.132a.45.45 0 0 0 .448-.377L13.994.525a.448.448 0 0 0-.448-.52zM8.47 8.352H5.555l-.79-4.121h4.411z"
fill="#2684FF"
/>
<path
d="M13.384 4.23H9.176L8.47 8.353H5.555L2.113 12.44c.11.095.248.147.393.148h9.134a.45.45 0 0 0 .448-.377z"
fill="url(#a)"
/>
<defs> <defs>
<linearGradient <linearGradient
id="bitbucket-:R7aq37rqjt7rrrmpjtuj7l9qjtsr:" id="a"
x1="104.953%" x1="14.357"
x2="46.569%" y1="5.383"
y1="21.921%" x2="7.402"
y2="75.234%" y2="10.814"
gradientUnits="userSpaceOnUse"
> >
<stop offset="7%" stopColor="currentColor" stopOpacity=".4" /> <stop offset=".18" stop-color="#0052CC" />
<stop offset="100%" stopColor="currentColor" /> <stop offset="1" stop-color="#2684FF" />
</linearGradient> </linearGradient>
</defs> </defs>
<path
d="M59.696 18.86h-18.77l-3.15 18.39h-13L9.426 55.47a2.71 2.71 0 001.75.66h40.74a2 2 0 002-1.68l5.78-35.59z"
fill="url(#bitbucket-:R7aq37rqjt7rrrmpjtuj7l9qjtsr:)"
fillRule="nonzero"
transform="translate(-.026 .82)"
/>
<path
d="M2 .82a2 2 0 00-2 2.32l8.49 51.54a2.7 2.7 0 00.91 1.61 2.71 2.71 0 001.75.66l15.76-18.88H24.7l-3.47-18.39h38.44l2.7-16.53a2 2 0 00-2-2.32L2 .82z"
fill="currentColor"
fillRule="nonzero"
/>
</svg> </svg>
); );
}; };

View File

@@ -1,6 +1,6 @@
{ {
"name": "dokploy", "name": "dokploy",
"version": "v0.10.10", "version": "v0.11.0",
"private": true, "private": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"type": "module", "type": "module",
@@ -11,7 +11,7 @@
"build-next": "next build", "build-next": "next build",
"setup": "tsx -r dotenv/config setup.ts && sleep 5 && pnpm run migration:run", "setup": "tsx -r dotenv/config setup.ts && sleep 5 && pnpm run migration:run",
"reset-password": "node -r dotenv/config dist/reset-password.mjs", "reset-password": "node -r dotenv/config dist/reset-password.mjs",
"dev": "TURBOPACK=1 tsx -r dotenv/config ./server/server.ts --project tsconfig.server.json ", "dev": "tsx -r dotenv/config ./server/server.ts --project tsconfig.server.json ",
"studio": "drizzle-kit studio --config ./server/db/drizzle.config.ts", "studio": "drizzle-kit studio --config ./server/db/drizzle.config.ts",
"migration:generate": "drizzle-kit generate --config ./server/db/drizzle.config.ts", "migration:generate": "drizzle-kit generate --config ./server/db/drizzle.config.ts",
"migration:run": "tsx -r dotenv/config migration.ts", "migration:run": "tsx -r dotenv/config migration.ts",

View File

@@ -24,7 +24,7 @@ import { setupTerminalWebSocketServer } from "./wss/terminal";
config({ path: ".env" }); config({ path: ".env" });
const PORT = Number.parseInt(process.env.PORT || "3000", 10); const PORT = Number.parseInt(process.env.PORT || "3000", 10);
const dev = process.env.NODE_ENV !== "production"; const dev = process.env.NODE_ENV !== "production";
const app = next({ dev, turbopack: dev }); const app = next({ dev });
const handle = app.getRequestHandler(); const handle = app.getRequestHandler();
void app.prepare().then(async () => { void app.prepare().then(async () => {
try { try {

View File

@@ -14,7 +14,7 @@ export type Mongo = typeof mongo.$inferSelect;
export const createMongo = async (input: typeof apiCreateMongo._type) => { export const createMongo = async (input: typeof apiCreateMongo._type) => {
input.appName = input.appName =
`${input.appName}-${generatePassword(6)}` || generateAppName("postgres"); `${input.appName}-${generatePassword(6)}` || generateAppName("mongo");
if (input.appName) { if (input.appName) {
const valid = await validUniqueServerAppName(input.appName); const valid = await validUniqueServerAppName(input.appName);
@@ -72,12 +72,12 @@ export const findMongoById = async (mongoId: string) => {
export const updateMongoById = async ( export const updateMongoById = async (
mongoId: string, mongoId: string,
postgresData: Partial<Mongo>, mongoData: Partial<Mongo>,
) => { ) => {
const result = await db const result = await db
.update(mongo) .update(mongo)
.set({ .set({
...postgresData, ...mongoData,
}) })
.where(eq(mongo.mongoId, mongoId)) .where(eq(mongo.mongoId, mongoId))
.returning(); .returning();