From daa0fa8aa9f4ee5a7584d8a8a0a2a683e8a52243 Mon Sep 17 00:00:00 2001 From: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com> Date: Mon, 22 Jun 2026 19:33:10 +0400 Subject: [PATCH 1/4] feat: add Tandoor Recipes template --- blueprints/tandoor-recipes/docker-compose.yml | 34 +++++++++++++++++++ .../tandoor-recipes/tandoor-recipes.svg | 5 +++ blueprints/tandoor-recipes/template.toml | 18 ++++++++++ meta.json | 17 ++++++++++ 4 files changed, 74 insertions(+) create mode 100644 blueprints/tandoor-recipes/docker-compose.yml create mode 100644 blueprints/tandoor-recipes/tandoor-recipes.svg create mode 100644 blueprints/tandoor-recipes/template.toml diff --git a/blueprints/tandoor-recipes/docker-compose.yml b/blueprints/tandoor-recipes/docker-compose.yml new file mode 100644 index 00000000..bb6eef24 --- /dev/null +++ b/blueprints/tandoor-recipes/docker-compose.yml @@ -0,0 +1,34 @@ +services: + tandoor-db: + image: postgres:16-alpine + restart: unless-stopped + environment: + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_DB: ${POSTGRES_DB} + volumes: + - tandoor_db_data:/var/lib/postgresql/data + + tandoor-recipes: + image: vabene1111/recipes:latest + restart: unless-stopped + depends_on: + - tandoor-db + environment: + SECRET_KEY: ${SECRET_KEY} + DB_ENGINE: django.db.backends.postgresql + POSTGRES_HOST: tandoor-db + POSTGRES_PORT: 5432 + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_DB: ${POSTGRES_DB} + volumes: + - tandoor_staticfiles:/opt/recipes/staticfiles + - tandoor_mediafiles:/opt/recipes/mediafiles + ports: + - "8080" + +volumes: + tandoor_db_data: + tandoor_staticfiles: + tandoor_mediafiles: diff --git a/blueprints/tandoor-recipes/tandoor-recipes.svg b/blueprints/tandoor-recipes/tandoor-recipes.svg new file mode 100644 index 00000000..5bc351bc --- /dev/null +++ b/blueprints/tandoor-recipes/tandoor-recipes.svg @@ -0,0 +1,5 @@ + + + + T + diff --git a/blueprints/tandoor-recipes/template.toml b/blueprints/tandoor-recipes/template.toml new file mode 100644 index 00000000..c8c45aa5 --- /dev/null +++ b/blueprints/tandoor-recipes/template.toml @@ -0,0 +1,18 @@ +[variables] +main_domain = "${domain}" +secret_key = "${password:64}" +postgres_password = "${password:32}" + +[config] +mounts = [] + +[[config.domains]] +serviceName = "tandoor-recipes" +port = 8080 +host = "${main_domain}" + +[config.env] +SECRET_KEY = "${secret_key}" +POSTGRES_PASSWORD = "${postgres_password}" +POSTGRES_USER = "tandoor" +POSTGRES_DB = "tandoor" diff --git a/meta.json b/meta.json index 8be7825d..5187923c 100644 --- a/meta.json +++ b/meta.json @@ -6076,6 +6076,23 @@ "network" ] }, + { + "id": "tandoor-recipes", + "name": "Tandoor Recipes", + "version": "latest", + "description": "Tandoor Recipes is a self-hosted recipe manager, meal planner, and shopping list application.", + "logo": "tandoor-recipes.svg", + "links": { + "github": "https://github.com/TandoorRecipes/recipes", + "website": "https://tandoor.dev/", + "docs": "https://docs.tandoor.dev/" + }, + "tags": [ + "recipes", + "meal-planning", + "self-hosted" + ] + }, { "id": "teable", "name": "teable", From 7c8950a2532bff0b5618f3c839c6326faf91d5d3 Mon Sep 17 00:00:00 2001 From: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com> Date: Tue, 23 Jun 2026 00:20:23 +0400 Subject: [PATCH 2/4] chore: pin tandoor-recipes template version --- blueprints/tandoor-recipes/docker-compose.yml | 2 +- meta.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/blueprints/tandoor-recipes/docker-compose.yml b/blueprints/tandoor-recipes/docker-compose.yml index bb6eef24..85339b56 100644 --- a/blueprints/tandoor-recipes/docker-compose.yml +++ b/blueprints/tandoor-recipes/docker-compose.yml @@ -10,7 +10,7 @@ services: - tandoor_db_data:/var/lib/postgresql/data tandoor-recipes: - image: vabene1111/recipes:latest + image: vabene1111/recipes:2.6.11 restart: unless-stopped depends_on: - tandoor-db diff --git a/meta.json b/meta.json index 5187923c..ef33891c 100644 --- a/meta.json +++ b/meta.json @@ -6079,7 +6079,7 @@ { "id": "tandoor-recipes", "name": "Tandoor Recipes", - "version": "latest", + "version": "2.6.11", "description": "Tandoor Recipes is a self-hosted recipe manager, meal planner, and shopping list application.", "logo": "tandoor-recipes.svg", "links": { From 52f765898eb9dc418aac21b1636dad27e7900239 Mon Sep 17 00:00:00 2001 From: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com> Date: Tue, 7 Jul 2026 23:23:40 +0400 Subject: [PATCH 3/4] Fix Tandoor Recipes service port --- blueprints/tandoor-recipes/docker-compose.yml | 4 +++- blueprints/tandoor-recipes/template.toml | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/blueprints/tandoor-recipes/docker-compose.yml b/blueprints/tandoor-recipes/docker-compose.yml index 85339b56..4bfd1d3b 100644 --- a/blueprints/tandoor-recipes/docker-compose.yml +++ b/blueprints/tandoor-recipes/docker-compose.yml @@ -22,11 +22,13 @@ services: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} + ALLOWED_HOSTS: ${ALLOWED_HOSTS} + CSRF_TRUSTED_ORIGINS: ${CSRF_TRUSTED_ORIGINS} volumes: - tandoor_staticfiles:/opt/recipes/staticfiles - tandoor_mediafiles:/opt/recipes/mediafiles ports: - - "8080" + - "80" volumes: tandoor_db_data: diff --git a/blueprints/tandoor-recipes/template.toml b/blueprints/tandoor-recipes/template.toml index c8c45aa5..1484b958 100644 --- a/blueprints/tandoor-recipes/template.toml +++ b/blueprints/tandoor-recipes/template.toml @@ -8,11 +8,13 @@ mounts = [] [[config.domains]] serviceName = "tandoor-recipes" -port = 8080 +port = 80 host = "${main_domain}" [config.env] SECRET_KEY = "${secret_key}" +ALLOWED_HOSTS = "${main_domain}" +CSRF_TRUSTED_ORIGINS = "https://${main_domain}" POSTGRES_PASSWORD = "${postgres_password}" POSTGRES_USER = "tandoor" POSTGRES_DB = "tandoor" From 0b7511f79c6cebb85207caf6d570d07bba073777 Mon Sep 17 00:00:00 2001 From: Mauricio Siu Date: Wed, 8 Jul 2026 00:31:53 -0600 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20tandoor=20listens=20on=20unix=20sock?= =?UTF-8?q?et=20by=20default=20=E2=80=94=20bind=20gunicorn=20to=20TCP=2080?= =?UTF-8?q?80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The vabene1111/recipes 2.x image starts gunicorn on unix:/tmp/tandoor.sock unless TANDOOR_PORT is set, so Traefik got 502. Set TANDOOR_PORT=8080 and point the domain to 8080 (80 was never listening). Deploy-tested on a Dokploy instance: HTTP 200, setup page renders. Co-Authored-By: Claude Fable 5 --- blueprints/tandoor-recipes/docker-compose.yml | 3 ++- blueprints/tandoor-recipes/template.toml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/blueprints/tandoor-recipes/docker-compose.yml b/blueprints/tandoor-recipes/docker-compose.yml index 4bfd1d3b..d945fd92 100644 --- a/blueprints/tandoor-recipes/docker-compose.yml +++ b/blueprints/tandoor-recipes/docker-compose.yml @@ -16,6 +16,7 @@ services: - tandoor-db environment: SECRET_KEY: ${SECRET_KEY} + TANDOOR_PORT: "8080" DB_ENGINE: django.db.backends.postgresql POSTGRES_HOST: tandoor-db POSTGRES_PORT: 5432 @@ -28,7 +29,7 @@ services: - tandoor_staticfiles:/opt/recipes/staticfiles - tandoor_mediafiles:/opt/recipes/mediafiles ports: - - "80" + - "8080" volumes: tandoor_db_data: diff --git a/blueprints/tandoor-recipes/template.toml b/blueprints/tandoor-recipes/template.toml index 1484b958..55d3e011 100644 --- a/blueprints/tandoor-recipes/template.toml +++ b/blueprints/tandoor-recipes/template.toml @@ -8,7 +8,7 @@ mounts = [] [[config.domains]] serviceName = "tandoor-recipes" -port = 80 +port = 8080 host = "${main_domain}" [config.env]