mirror of
https://github.com/Dokploy/dokploy.git
synced 2026-07-05 05:55:21 +02:00
Compare commits
9 Commits
feat/intro
...
v0.25.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d9398b9558 | ||
|
|
788dbe4050 | ||
|
|
6934f44778 | ||
|
|
457a6db00f | ||
|
|
81f89a0796 | ||
|
|
d8a98f3936 | ||
|
|
ec11325165 | ||
|
|
abcbd2d599 | ||
|
|
1664ae9b92 |
@@ -80,6 +80,29 @@ export const DuplicateProject = ({
|
|||||||
api.project.duplicate.useMutation({
|
api.project.duplicate.useMutation({
|
||||||
onSuccess: async (newProject) => {
|
onSuccess: async (newProject) => {
|
||||||
await utils.project.all.invalidate();
|
await utils.project.all.invalidate();
|
||||||
|
|
||||||
|
// If duplicating to same project+environment, invalidate the environment query
|
||||||
|
// to refresh the services list
|
||||||
|
if (duplicateType === "existing-environment") {
|
||||||
|
await utils.environment.one.invalidate({
|
||||||
|
environmentId: selectedTargetEnvironment,
|
||||||
|
});
|
||||||
|
await utils.environment.byProjectId.invalidate({
|
||||||
|
projectId: selectedTargetProject,
|
||||||
|
});
|
||||||
|
|
||||||
|
// If duplicating to the same environment we're currently viewing,
|
||||||
|
// also invalidate the current environment to refresh the services list
|
||||||
|
if (selectedTargetEnvironment === environmentId) {
|
||||||
|
await utils.environment.one.invalidate({ environmentId });
|
||||||
|
// Also invalidate the project query to refresh the project data
|
||||||
|
const projectId = router.query.projectId as string;
|
||||||
|
if (projectId) {
|
||||||
|
await utils.project.one.invalidate({ projectId });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
toast.success(
|
toast.success(
|
||||||
duplicateType === "new-project"
|
duplicateType === "new-project"
|
||||||
? "Project duplicated successfully"
|
? "Project duplicated successfully"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "dokploy",
|
"name": "dokploy",
|
||||||
"version": "v0.25.1",
|
"version": "v0.25.2",
|
||||||
"private": true,
|
"private": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import {
|
|||||||
} from "./queue.js";
|
} from "./queue.js";
|
||||||
import { jobQueueSchema } from "./schema.js";
|
import { jobQueueSchema } from "./schema.js";
|
||||||
import { initializeJobs } from "./utils.js";
|
import { initializeJobs } from "./utils.js";
|
||||||
import { firstWorker, secondWorker } from "./workers.js";
|
import { firstWorker, secondWorker, thirdWorker } from "./workers.js";
|
||||||
|
|
||||||
const app = new Hono();
|
const app = new Hono();
|
||||||
|
|
||||||
@@ -91,6 +91,7 @@ export const gracefulShutdown = async (signal: string) => {
|
|||||||
logger.warn(`Received ${signal}, closing server...`);
|
logger.warn(`Received ${signal}, closing server...`);
|
||||||
await firstWorker.close();
|
await firstWorker.close();
|
||||||
await secondWorker.close();
|
await secondWorker.close();
|
||||||
|
await thirdWorker.close();
|
||||||
process.exit(0);
|
process.exit(0);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -7,22 +7,34 @@ import { runJobs } from "./utils.js";
|
|||||||
export const firstWorker = new Worker(
|
export const firstWorker = new Worker(
|
||||||
"backupQueue",
|
"backupQueue",
|
||||||
async (job: Job<QueueJob>) => {
|
async (job: Job<QueueJob>) => {
|
||||||
logger.info({ data: job.data }, "Running job");
|
logger.info({ data: job.data }, "Running job first worker");
|
||||||
await runJobs(job.data);
|
await runJobs(job.data);
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
concurrency: 50,
|
concurrency: 100,
|
||||||
connection,
|
connection,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
export const secondWorker = new Worker(
|
export const secondWorker = new Worker(
|
||||||
"backupQueue",
|
"backupQueue",
|
||||||
async (job: Job<QueueJob>) => {
|
async (job: Job<QueueJob>) => {
|
||||||
logger.info({ data: job.data }, "Running job");
|
logger.info({ data: job.data }, "Running job second worker");
|
||||||
await runJobs(job.data);
|
await runJobs(job.data);
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
concurrency: 50,
|
concurrency: 100,
|
||||||
|
connection,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
export const thirdWorker = new Worker(
|
||||||
|
"backupQueue",
|
||||||
|
async (job: Job<QueueJob>) => {
|
||||||
|
logger.info({ data: job.data }, "Running job third worker");
|
||||||
|
await runJobs(job.data);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
concurrency: 100,
|
||||||
connection,
|
connection,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -251,11 +251,15 @@ export const addDomainToCompose = async (
|
|||||||
}
|
}
|
||||||
labels.unshift(...httpLabels);
|
labels.unshift(...httpLabels);
|
||||||
if (!compose.isolatedDeployment) {
|
if (!compose.isolatedDeployment) {
|
||||||
if (!labels.includes("traefik.docker.network=dokploy-network")) {
|
if (compose.composeType === "docker-compose") {
|
||||||
labels.unshift("traefik.docker.network=dokploy-network");
|
if (!labels.includes("traefik.docker.network=dokploy-network")) {
|
||||||
}
|
labels.unshift("traefik.docker.network=dokploy-network");
|
||||||
if (!labels.includes("traefik.swarm.network=dokploy-network")) {
|
}
|
||||||
labels.unshift("traefik.swarm.network=dokploy-network");
|
} else {
|
||||||
|
// Stack Case
|
||||||
|
if (!labels.includes("traefik.swarm.network=dokploy-network")) {
|
||||||
|
labels.unshift("traefik.swarm.network=dokploy-network");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -171,7 +171,7 @@ export const cloneGithubRepository = async ({
|
|||||||
const cloneUrl = `https://oauth2:${token}@${repoclone}`;
|
const cloneUrl = `https://oauth2:${token}@${repoclone}`;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
writeStream.write(`\nClonning Repo ${repoclone} to ${outputPath}: ✅\n`);
|
writeStream.write(`\nCloning Repo ${repoclone} to ${outputPath}: ✅\n`);
|
||||||
const cloneArgs = [
|
const cloneArgs = [
|
||||||
"clone",
|
"clone",
|
||||||
"--branch",
|
"--branch",
|
||||||
|
|||||||
Reference in New Issue
Block a user