From 54adab16cf843d3f22d4bd1b3403f2833f9bbf15 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 30 Jun 2024 00:32:14 -0600 Subject: [PATCH] feat(templates): add excalidraw --- public/templates/excalidraw.jpg | Bin 0 -> 30802 bytes templates/excalidraw/docker-compose.yml | 17 +++++++++++++++++ templates/excalidraw/index.ts | 20 ++++++++++++++++++++ templates/templates.ts | 15 +++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 public/templates/excalidraw.jpg create mode 100644 templates/excalidraw/docker-compose.yml create mode 100644 templates/excalidraw/index.ts diff --git a/public/templates/excalidraw.jpg b/public/templates/excalidraw.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5c92a30c7eae88ec8ad596fcf4ec53ebf7ebc38f GIT binary patch literal 30802 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 Z7yJ6fMgIHr-y`tv5%~Xn1PE`R{V(Cpr5^wQ literal 0 HcmV?d00001 diff --git a/templates/excalidraw/docker-compose.yml b/templates/excalidraw/docker-compose.yml new file mode 100644 index 00000000..58920b39 --- /dev/null +++ b/templates/excalidraw/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3.8' + +services: + excalidraw: + networks: + - dokploy-network + image: excalidraw/excalidraw:latest + ports: + - ${EXCALIDRAW_PORT} + labels: + - traefik.enable=true + - traefik.http.routers.${HASH}.rule=Host(`${EXCALIDRAW_HOST}`) + - traefik.http.services.${HASH}.loadbalancer.server.port=${EXCALIDRAW_PORT} + +networks: + dokploy-network: + external: true diff --git a/templates/excalidraw/index.ts b/templates/excalidraw/index.ts new file mode 100644 index 00000000..e22d7abb --- /dev/null +++ b/templates/excalidraw/index.ts @@ -0,0 +1,20 @@ +import { + generateHash, + generateRandomDomain, + type Template, + type Schema, +} from "../utils"; + +export function generate(schema: Schema): Template { + const mainServiceHash = generateHash(schema.projectName); + const randomDomain = generateRandomDomain(schema); + const envs = [ + `EXCALIDRAW_HOST=${randomDomain}`, + "EXCALIDRAW_PORT=80", + `HASH=${mainServiceHash}`, + ]; + + return { + envs, + }; +} diff --git a/templates/templates.ts b/templates/templates.ts index a57c3303..4bb9acd7 100644 --- a/templates/templates.ts +++ b/templates/templates.ts @@ -182,4 +182,19 @@ export const templates: TemplateData[] = [ tags: ["cms"], load: () => import("./appsmith/index").then((m) => m.generate), }, + { + id: "excalidraw", + name: "Excalidraw", + version: "latest", + description: + "Excalidraw is a free and open source online diagramming tool that lets you easily create and share beautiful diagrams.", + logo: "excalidraw.jpg", + links: { + github: "https://github.com/excalidraw/excalidraw", + website: "https://excalidraw.com/", + docs: "https://docs.excalidraw.com/", + }, + tags: ["drawing"], + load: () => import("./excalidraw/index").then((m) => m.generate), + }, ];