From 236e511adc9a7fb15c8176ab0ffffba00a868e74 Mon Sep 17 00:00:00 2001 From: djknaeckebrot Date: Fri, 13 Dec 2024 12:02:01 +0100 Subject: [PATCH 1/3] feat: add langflow template --- apps/dokploy/public/templates/langflow.svg | 6 ++++ .../templates/langflow/docker-compose.yml | 33 +++++++++++++++++++ apps/dokploy/templates/langflow/index.ts | 28 ++++++++++++++++ apps/dokploy/templates/templates.ts | 15 +++++++++ 4 files changed, 82 insertions(+) create mode 100644 apps/dokploy/public/templates/langflow.svg create mode 100644 apps/dokploy/templates/langflow/docker-compose.yml create mode 100644 apps/dokploy/templates/langflow/index.ts diff --git a/apps/dokploy/public/templates/langflow.svg b/apps/dokploy/public/templates/langflow.svg new file mode 100644 index 00000000..3665f824 --- /dev/null +++ b/apps/dokploy/public/templates/langflow.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/dokploy/templates/langflow/docker-compose.yml b/apps/dokploy/templates/langflow/docker-compose.yml new file mode 100644 index 00000000..45cd76bc --- /dev/null +++ b/apps/dokploy/templates/langflow/docker-compose.yml @@ -0,0 +1,33 @@ +version: "3.8" + +services: + langflow: + image: langflowai/langflow:v1.1.1 + ports: + - 7860 + depends_on: + - postgres + environment: + - LANGFLOW_DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@postgres:5432/langflow + # This variable defines where the logs, file storage, monitor data and secret keys are stored. + volumes: + - langflow-data:/app/langflow + networks: + - dokploy-network + + postgres: + image: postgres:16 + environment: + POSTGRES_USER: langflow + POSTGRES_PASSWORD: langflow + POSTGRES_DB: langflow + ports: + - 5432 + volumes: + - langflow-postgres:/var/lib/postgresql/data + networks: + - dokploy-network + +volumes: + langflow-postgres: + langflow-data: \ No newline at end of file diff --git a/apps/dokploy/templates/langflow/index.ts b/apps/dokploy/templates/langflow/index.ts new file mode 100644 index 00000000..75f6db58 --- /dev/null +++ b/apps/dokploy/templates/langflow/index.ts @@ -0,0 +1,28 @@ +import { + type DomainSchema, + type Schema, + type Template, + generatePassword, + generateRandomDomain, +} from "../utils"; + +export function generate(schema: Schema): Template { + const mainDomain = generateRandomDomain(schema); + const dbPassword = generatePassword(); + const dbUsername = "langflow"; + + const domains: DomainSchema[] = [ + { + host: mainDomain, + port: 7860, + serviceName: "langflow", + }, + ]; + + const envs = [`DB_PASSWORD=${dbPassword}`, `DB_USERNAME=${dbUsername}`]; + + return { + domains, + envs, + }; +} diff --git a/apps/dokploy/templates/templates.ts b/apps/dokploy/templates/templates.ts index 86aa9ae8..43021c17 100644 --- a/apps/dokploy/templates/templates.ts +++ b/apps/dokploy/templates/templates.ts @@ -1062,4 +1062,19 @@ export const templates: TemplateData[] = [ tags: ["identity", "auth"], load: () => import("./logto/index").then((m) => m.generate), }, + { + id: "langflow", + name: "Langflow", + version: "1.1.1", + description: + "Langflow is a low-code app builder for RAG and multi-agent AI applications. It’s Python-based and agnostic to any model, API, or database. ", + logo: "langflow.svg", + links: { + github: "https://github.com/langflow-ai/langflow/tree/main", + website: "https://www.langflow.org/", + docs: "https://docs.langflow.org/", + }, + tags: ["ai"], + load: () => import("./langflow/index").then((m) => m.generate), + }, ]; From 274c65cbcd9f169ba10f05cf31545004e717aed4 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 14 Dec 2024 01:29:39 -0600 Subject: [PATCH 2/3] refactor: add unsend --- apps/dokploy/templates/templates.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/apps/dokploy/templates/templates.ts b/apps/dokploy/templates/templates.ts index 43021c17..d840db63 100644 --- a/apps/dokploy/templates/templates.ts +++ b/apps/dokploy/templates/templates.ts @@ -1062,6 +1062,20 @@ export const templates: TemplateData[] = [ tags: ["identity", "auth"], load: () => import("./logto/index").then((m) => m.generate), }, + { + id: "unsend", + name: "Unsend", + version: "v1.2.4", + description: "Open source alternative to Resend,Sendgrid, Postmark etc. ", + logo: "unsend.png", // we defined the name and the extension of the logo + links: { + github: "https://github.com/unsend-dev/unsend", + website: "https://unsend.dev/", + docs: "https://docs.unsend.dev/get-started/", + }, + tags: ["e-mail", "marketing", "business"], + load: () => import("./unsend/index").then((m) => m.generate), + }, { id: "langflow", name: "Langflow", From 166b65c50ed324684536f019886c4629d9600987 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 14 Dec 2024 01:34:05 -0600 Subject: [PATCH 3/3] refactor: add env variables --- apps/dokploy/templates/langflow/docker-compose.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/dokploy/templates/langflow/docker-compose.yml b/apps/dokploy/templates/langflow/docker-compose.yml index 45cd76bc..75bb73dd 100644 --- a/apps/dokploy/templates/langflow/docker-compose.yml +++ b/apps/dokploy/templates/langflow/docker-compose.yml @@ -6,20 +6,20 @@ services: ports: - 7860 depends_on: - - postgres + - postgres-langflow environment: - - LANGFLOW_DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@postgres:5432/langflow + - LANGFLOW_DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@postgres-langflow:5432/langflow # This variable defines where the logs, file storage, monitor data and secret keys are stored. volumes: - langflow-data:/app/langflow networks: - dokploy-network - postgres: + postgres-langflow: image: postgres:16 environment: - POSTGRES_USER: langflow - POSTGRES_PASSWORD: langflow + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: langflow ports: - 5432