mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
* feat: add schema for registry and routes * feat: add docker registry upload * feat: add show cluster * refactor: set the registry url in image in case we have a registry asociated * feat: add update registry and fix the docker url markup * chore: remove --advertise-ip on swarm script * refactor: remove listen address of swarm initialize * feat: add table to show nodes and add dropdown to add manager & workers * refactor: improve interface for cluster * refactor: improve UI * feat: add experimental swarm settings * refactor: remove comments * refactor: prettify json of each setting * refactor: add interface tooltip * refactor: delete static form self registry * refactor: allow to se a empty registry * fix: remove text area warnings * feat: add network swarm json * refactor: update ui * revert: go back to swarm init config * refactor: remove initialization on server, only on setup script * Update LICENSE.MD * feat: appearance theme support system config * refactor: remove logs * fix(README-ru): hyperlink-ed docs url * feat: (#107) webhook listener filter docker events based on image tag. Fixes #107 * refactor: simplify comparison docker tags * refactor: remove return in res status * refactor: prevent to updates download automatically * feat: support code editor (#105) * feat: support code editor * Update codeblock * refactor: remove unused class --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> * fix: select the right image from sourcetype (#109) * chore: bump minor version --------- Co-authored-by: hehehai <riverhohai@gmail.com> Co-authored-by: Bayram Tagiev <bayram.tagiev.a@gmail.com> Co-authored-by: Paulo Santana <30875229+hikinine@users.noreply.github.com>
62 lines
1.7 KiB
TypeScript
62 lines
1.7 KiB
TypeScript
import { CardContent } from "@/components/ui/card";
|
|
import {
|
|
DialogDescription,
|
|
DialogHeader,
|
|
DialogTitle,
|
|
} from "@/components/ui/dialog";
|
|
import { api } from "@/utils/api";
|
|
import copy from "copy-to-clipboard";
|
|
import { CopyIcon } from "lucide-react";
|
|
import { toast } from "sonner";
|
|
|
|
export const AddWorker = () => {
|
|
const { data } = api.cluster.addWorker.useQuery();
|
|
|
|
return (
|
|
<div>
|
|
<CardContent className="sm:max-w-4xl max-h-screen overflow-y-auto flex flex-col gap-4 px-0">
|
|
<DialogHeader>
|
|
<DialogTitle>Add a new worker</DialogTitle>
|
|
<DialogDescription>Add a new worker</DialogDescription>
|
|
</DialogHeader>
|
|
<div className="flex flex-col gap-2.5 text-sm">
|
|
<span>1. Go to your new server and run the following command</span>
|
|
<span className="bg-muted rounded-lg p-2 flex justify-between">
|
|
curl https://get.docker.com | sh -s -- --version 24.0
|
|
<button
|
|
type="button"
|
|
className="self-center"
|
|
onClick={() => {
|
|
copy("curl https://get.docker.com | sh -s -- --version 24.0");
|
|
toast.success("Copied to clipboard");
|
|
}}
|
|
>
|
|
<CopyIcon className="h-4 w-4 cursor-pointer" />
|
|
</button>
|
|
</span>
|
|
</div>
|
|
|
|
<div className="flex flex-col gap-2.5 text-sm">
|
|
<span>
|
|
2. Run the following command to add the node(worker) to your cluster
|
|
</span>
|
|
|
|
<span className="bg-muted rounded-lg p-2 flex">
|
|
{data}
|
|
<button
|
|
type="button"
|
|
className="self-start"
|
|
onClick={() => {
|
|
copy(data || "");
|
|
toast.success("Copied to clipboard");
|
|
}}
|
|
>
|
|
<CopyIcon className="h-4 w-4 cursor-pointer" />
|
|
</button>
|
|
</span>
|
|
</div>
|
|
</CardContent>
|
|
</div>
|
|
);
|
|
};
|