diff --git a/apps/dokploy/public/templates/trilium.png b/apps/dokploy/public/templates/trilium.png new file mode 100644 index 00000000..f6afe82f Binary files /dev/null and b/apps/dokploy/public/templates/trilium.png differ diff --git a/apps/dokploy/templates/templates.ts b/apps/dokploy/templates/templates.ts index 8143bbb2..7f43acdd 100644 --- a/apps/dokploy/templates/templates.ts +++ b/apps/dokploy/templates/templates.ts @@ -1483,4 +1483,19 @@ export const templates: TemplateData[] = [ tags: ["forms", "analytics"], load: () => import("./formbricks/index").then((m) => m.generate), }, + { + id: "trilium", + name: "Trilium", + description: + "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases.", + logo: "trilium.png", + version: "latest", + links: { + github: "https://github.com/zadam/trilium", + website: "https://github.com/zadam/trilium", + docs: "https://github.com/zadam/trilium/wiki/", + }, + tags: ["self-hosted", "productivity", "personal-use"], + load: () => import("./trilium/index").then((m) => m.generate), + }, ]; diff --git a/apps/dokploy/templates/trilium/docker-compose.yml b/apps/dokploy/templates/trilium/docker-compose.yml new file mode 100644 index 00000000..f549d820 --- /dev/null +++ b/apps/dokploy/templates/trilium/docker-compose.yml @@ -0,0 +1,14 @@ +services: + trilium: + image: zadam/trilium:latest + ports: + - 8080 + networks: + - dokploy-network + restart: always + volumes: + - /root/trilium-backups:/home/node/trilium-data/backup + +networks: + dokploy-network: + external: true diff --git a/apps/dokploy/templates/trilium/index.ts b/apps/dokploy/templates/trilium/index.ts new file mode 100644 index 00000000..acac9841 --- /dev/null +++ b/apps/dokploy/templates/trilium/index.ts @@ -0,0 +1,22 @@ +import { + type DomainSchema, + type Schema, + type Template, + generateRandomDomain, +} from "../utils"; + +export function generate(schema: Schema): Template { + const triliumDomain = generateRandomDomain(schema); + + const domains: DomainSchema[] = [ + { + host: triliumDomain, + port: 8080, + serviceName: "trilium", + }, + ]; + + return { + domains, + }; +}