From c2f4ab1836fd4d7c004e9b2b98accac41b11d013 Mon Sep 17 00:00:00 2001 From: "Vladyslav G." <4073672+mikield@users.noreply.github.com> Date: Thu, 28 Aug 2025 06:26:35 +0000 Subject: [PATCH] feat(blueprint) add kaneo task managment template (#312) * feat(blueprint) add keneo task managment template * fix bad name * fix: return back tags formating * Sort meta.json --- blueprints/kaneo/docker-compose.yml | 36 ++++++++++++++++++++++++++++ blueprints/kaneo/kaneo.png | Bin 0 -> 7102 bytes blueprints/kaneo/template.toml | 21 ++++++++++++++++ meta.json | 15 ++++++++++++ 4 files changed, 72 insertions(+) create mode 100644 blueprints/kaneo/docker-compose.yml create mode 100644 blueprints/kaneo/kaneo.png create mode 100644 blueprints/kaneo/template.toml diff --git a/blueprints/kaneo/docker-compose.yml b/blueprints/kaneo/docker-compose.yml new file mode 100644 index 00000000..15cfd78e --- /dev/null +++ b/blueprints/kaneo/docker-compose.yml @@ -0,0 +1,36 @@ +services: + postgres: + image: postgres:16-alpine + environment: + POSTGRES_DB: ${KANEO_DB} + POSTGRES_USER: ${KANEO_DB_USER} + POSTGRES_PASSWORD: ${KANEO_DB_PASSWORD} + volumes: + - postgres_data:/var/lib/postgresql/data + restart: unless-stopped + + backend: + image: ghcr.io/usekaneo/api:latest + environment: + JWT_ACCESS: ${KANEO_JWT_ACCESS} + DATABASE_URL: "postgresql://${KANEO_DB_USER}:${KANEO_DB_PASSWORD}@postgres:5432/${KANEO_DB}" + ports: + - 1337 + depends_on: + postgres: + condition: service_started + restart: unless-stopped + + frontend: + image: ghcr.io/usekaneo/web:latest + environment: + KANEO_API_URL: "http://${BACKEND_HOST}:1337" + ports: + - 5173 + depends_on: + backend: + condition: service_started + restart: unless-stopped + +volumes: + postgres_data: diff --git a/blueprints/kaneo/kaneo.png b/blueprints/kaneo/kaneo.png new file mode 100644 index 0000000000000000000000000000000000000000..4a495f178bd0fe608828d217f56f6304136e6476 GIT binary patch literal 7102 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 literal 0 HcmV?d00001 diff --git a/blueprints/kaneo/template.toml b/blueprints/kaneo/template.toml new file mode 100644 index 00000000..76d0aac2 --- /dev/null +++ b/blueprints/kaneo/template.toml @@ -0,0 +1,21 @@ +[variables] +backend_domain = "${domain}" +frontend_domain = "${domain}" + + +[[config.domains]] +serviceName = "frontend" +port = 5_173 +host = "${frontend_domain}" + +[[config.domains]] +serviceName = "backend" +port = 1_337 +host = "${backend_domain}" + +[config.env] +BACKEND_HOST = "${backend_domain}" +KANEO_DB = "kaneo" +KANEO_DB_USER = "${username}" +KANEO_DB_PASSWORD = "${password}" +KANEO_JWT_ACCESS = "${hash:64}" diff --git a/meta.json b/meta.json index b1b69a2c..d5e3d921 100644 --- a/meta.json +++ b/meta.json @@ -2488,6 +2488,21 @@ "media system" ] }, + { + "id": "kaneo", + "name": "Kaneo", + "version": "latest", + "description": "Kaneo - an open source project management platform focused on simplicity and efficiency. Self-host it, customize it, make it yours.", + "logo": "kaneo.png", + "links": { + "github": "https://github.com/usekaneo/kaneo", + "website": "https://kaneo.app/", + "docs": "https://kaneo.app/docs/" + }, + "tags": [ + "Task Tracking" + ] + }, { "id": "karakeep", "name": "KaraKeep",