feat(templates): add excalidraw

This commit is contained in:
Mauricio Siu
2024-06-30 00:32:14 -06:00
parent 2e3b0ddcde
commit 54adab16cf
4 changed files with 52 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -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

View File

@@ -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,
};
}

View File

@@ -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),
},
];