Tandoor installiert - Access denied

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

DonHS

Benutzer
Registriert
25. Dez. 2022
Beiträge
11
Reaktionspunkte
0
Punkte
1
Hallo zusammen,

ich habe leider ein Problem mit Tandoor. Ich habe es nach diesem Video installiert: https://www.youtube.com/watch?v=OdxWKMaU70c
Allerdings sieht die yaml im Video anders aus als die, die aktuell auf der tandoor Webseite gelistet ist. Insbesondere fehlt in der aktuellen Version der Teil zu nginx_recpies - dort, wo auch der Port gesetzt werden kann.

nginx_recipes:
image: nginx:mainline-alpine
restart: always
ports:
- 80:80
env_file:
- ./.env
depends_on:
- web_recipes
volumes:
- nginx_config:/etc/nginx/conf.d:ro
- staticfiles:/static
- ./mediafiles:/media

Ich habe das also weggelassen, weil es nicht mehr auf der tandoor.dev Seite in der yaml steht. Das Projekt wird erfolgreich erstellt im Container Manager.

Aber ich kann auf Tandoor nicht zugreifen. Rufe ich die IP der Diskstation auf erhalte ich die Meldung "Access denied."
Ich kann mir schon denken, dass es daran liegt, dass kein Port angegeben ist. Ich weiß aber nicht, wo ich das machen kann. Habt ihr da einen Tipp für mich, wie ich das zum Laufen kriege.

Vielen Dank!
 
Zuletzt bearbeitet:
Zeig mal genau was du da in die YAML gepostet hast.
Da fehlt ja die hälfte, du hast ja nur nginx proxy als image stehen auf Port 80.
Das kann so auch nicht klappen.
Wenn, dann mach es lieber nach dieser Anleitung hier:
https://mariushosting.com/how-to-install-tandoor-recipes-on-your-synology-nas/
Hatte das damit auch mal am laufen, aber mir gefiel es persönlich nicht.
Hab mealie als docker laufen und selbst meine Frau kommt damit super klar.
 
  • Like
Reaktionen: plang.pl
Vielen Dank für deine Antwort.
In der YAML steht im Grunde das drin, was in der Anleitung auch steht:

services:
db_recipes:
restart: always
image: postgres:16-alpine
volumes:
- ./postgresql:/var/lib/postgresql/data
env_file:
- ./.env

web_recipes:
restart: always
image: vabene1111/recipes
env_file:
- ./.env
volumes:
- staticfiles:/opt/recipes/staticfiles
- ./mediafiles:/opt/recipes/mediafiles
depends_on:
- db_recipes

volumes:
staticfiles:

Die Anleitung von Marius hatte ich auch gefunden. Da ich aber auf meiner alten Diskstation echt Probleme mit Portainer hatte und damit gar nicht zurecht kam, habe ich das lieber gemieden und es nur mit dem Container-Manager probiert.

Mealie würde ich auch nehmen. Habe aber keine Anleitung für Synology gefunden, die nur über den Container-Manager funktioniert.
 
Du solltest dich mit Portainer auseinandersetzen!
Edit: Docker ist nicht nur klickibunti
 
  • Like
Reaktionen: JohneDoe
Oder mit Docker im allgemeinen. Dann ist es egal ob du Portainer oder sonst welche UI dafür nutzt. Hat nur Vorteile.
 
  • Like
Reaktionen: ctrlaltdelete
Nur mal so als Vergleich, hier der Compose für Tandoor von Marius Hosting

Code:
services:
  db:
    image: postgres:17
    container_name: Tandoor-DB
    hostname: tandoor-db
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD", "pg_isready", "-q", "-d", "tandoor", "-U", "tandooruser"]
      timeout: 45s
      interval: 10s
      retries: 10
    volumes:
      - /volume1/docker/tandoor/db:/var/lib/postgresql/data
    env_file:
      - stack.env
    restart: on-failure:5

  tandoor:
    image: vabene1111/recipes:latest
    container_name: Tandoor
    hostname: tandoor
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://localhost:8080 || exit 1
    volumes:
      - /volume1/docker/tandoor/staticfiles:/opt/recipes/staticfiles:rw
      - /volume1/docker/tandoor/mediafiles:/opt/recipes/mediafiles:rw
      - /volume1/docker/tandoor/nginx:/opt/recipes/nginx/conf.d:rw
    env_file:
      - stack.env
    restart: on-failure:5
    depends_on:
      db:
        condition: service_started

  nginx:
    image: nginx:mainline-alpine
    container_name: Tandoor-NGINX
    hostname: nginx-tandoor
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://localhost:80 || exit 1
    volumes:
      - /volume1/docker/tandoor/staticfiles:/static:ro
      - /volume1/docker/tandoor/mediafiles:/media:ro
      - /volume1/docker/tandoor/nginx:/etc/nginx/conf.d:ro
    ports:
      - 9815:80
    env_file:
      - stack.env
    restart: on-failure:5
    depends_on:
      tandoor:
        condition: service_healthy

Nur damit du mal siehst wie es eigentlich aussehen würde. Es ist strukturiert und man erkennt halbwegs auf Anhieb was wofür ist:
Datenbank (Postgres17)
nginx (Reverse Proxy)
Tandoor (das Programm selbst).

Trotzdem ist ein reines copy&paste nicht wirklich gut, man sollte verstehen was man da genau gemacht hat.
Auch mit dem Reverse Proxy und der domain, damit man es auch von unterwegs nutzen kann.
 
Oha, ok, ich seh schon, ohne, dass man sich da mal richtig reinkniet, wird das nichts. Aber dazu habe ich momentan familiär nicht die Zeit. Ich habe mir eigentlich eine Diskstation gekauft, um nicht frickeln zu müssen. Zumindest wurde die von mehreren Seiten gegenüber Bastellösungen so beworben.

Ich hatte auf der alten Diskstation schon mal Portainer installiert. Aber da hat nichts, wirklich nichts, so funktioniert, wie es in den diversen Anleitungen stand. Irgendwann war es so frustrierend, dass ich es gelassen habe.

Ich danke euch trotzdem für eure Antworten. Vielleicht finde ich ja eine andere Lösung für die Speicherung von Rezepten.
 
Genauso und dann brauchst du noch die stack.env mit den teilweise "geheimen Daten" Passwörter, etc.
@DonHS aber die Einrichtung von tandoor oder meali selbst ist auch etwas Aufwand.
 
Tandoor funktioniert wirklich gut, habe ich bei mir auf dem Pi5 neben der paperless-ngx Installation per Docker installiert.
 
  • Like
Reaktionen: ctrlaltdelete
Bei mir läuft es mit dieser yml:
YAML:
###########################
# recipe database tandoor
###########################

services:
  db_recipes:
    restart: always
    image: postgres:17-alpine
    volumes:
      - /home/username/tandoor/postgresql:/var/lib/postgresql/data
    env_file:
      - /home/username/tandoor/tandoor.env

  web_recipes:
    restart: always
    image: vabene1111/recipes
    env_file:
      - /home/username/tandoor/tandoor.env
    volumes:
      - staticfiles:/opt/recipes/staticfiles
      # Do not make this a bind mount, see https://docs.tandoor.dev/install/doc>
      - nginx_config:/opt/recipes/nginx/conf.d
      - /home/username/tandoor/mediafiles:/opt/recipes/mediafiles
    depends_on:
      - db_recipes

  nginx_recipes:
    image: nginx:mainline-alpine
    restart: always
    ports:
      - 8100:80
    env_file:
      - /home/username/tandoor/tandoor.env
    depends_on:
      - web_recipes
    volumes:
      # Do not make this a bind mount, see https://docs.tandoor.dev/install/doc>
      - nginx_config:/etc/nginx/conf.d:ro
      - staticfiles:/static:ro
      - /home/username/tandoor/mediafiles:/media:ro

volumes:
  nginx_config:
  staticfiles:

Als Environmental file tandoor.env:

Code:
DEBUG=0
SQL_DEBUG=0
ALLOWED_HOSTS=*
SECRET_KEY=alphanumeric_key_here
TIMEZONE=Europe/Berlin

DB_ENGINE=django.db.backends.postgresql
POSTGRES_HOST=db_recipes
POSTGRES_PORT=5432
POSTGRES_USER=username
POSTGRES_PASSWORD=userpassword
POSTGRES_DB=djangodb

FRACTION_PREF_DEFAULT=0
COMMENT_PREF_DEFAULT=1
SHOPPING_MIN_AUTOSYNC_INTERVAL=5
GUNICORN_MEDIA=0
REVERSE_PROXY_AUTH=0

Die Speicherorte müssen für die Verwendung in der DS auf /volume1/docker/ angepasst werden, statt /home/username/
 
Hallo Stationary,

vielen Dank für die Yml. Ich habe es eben ausprobiert und es hat tatsächlich geklappt. Ich habe die Pfade angepasst, die Ordner erstellt und dann lief alles sofort durch und ich konnte einen Admin anlegen.

Jetzt versuche ich gerade mal durchzublicken, wie das genau funktioniert. Habe einen Nutzer erstellt und dem alle Berechtigungen zugewiesen. Wenn ich damit aber ein Rezept anlegen will und die Schritte hinzufüge, kriege ich einen Fehler beim Aktualisieren. ResponseError: Response returned an error code.
Komisch... ist natürlich wenig aussagekräftig, aber da die Gruppe user alle Rechte hat und der Nutzer zu dieser Gruppe gehört, verstehe ich noch nicht genau, woran das nun liegt... ich probiere weiter.

Edit: Ok, da scheinen alle Funktionen nicht richtig zu gehen. Wenn ich was in die Suche oben eintippe, dann kriege ich einen Fehler beim Laden und wieder einen ResponseError... sehr merkwürdig.

Edit2: Scheint kein Rechteproblem zu sein. Habe den Benutzer mal in die Gruppe admin geschoben, aber selbes Problem. Der zuerst erstellte Adminnutzer kann auch keine Rezepte erstellen...
 
Zuletzt bearbeitet:
Ist ein Rezepte „Space“ angelegt und sind die Nutzer dem Space zugeordnet?
 
Ja, habe den Space "Rezepte" genannt und der Nutzer ist dem Space auch zugeordnet.
Muss man vielleicht irgendwelche Berechtigungen auf Datei- oder Ordnerebene setzen?
 
Zuletzt bearbeitet:
Die tandoor.env hast Du angepaßt (username und password eingetragen)?
 
Die tandoor.env hast Du angepaßt (username und password eingetragen)?
Ja, das habe ich gemacht. Wenn ich ein neues Rezept anlege und in die Adminoberfläche gehe, dann finde ich das unter Rezepte schon. Sobald ich aber die Schritte hinzufügen will, gibt es den Fehler. Also in der Datenbank kommt schon was an, aber nicht zB unter Steps.

Hast Du eigentlich bei Deinem eigenen ersten Versuch mal die offizielle Anleitung befolgt? https://docs.tandoor.dev/install/synology/
Ja, ich habe es probiert. Allerdings bin ich daran gescheitert, dass die dort hinterlegte Yml Datei überhaupt nicht alle Elemente aufweist, auf die später verwiesen wird.
ZB steht in Punkt 4 man soll nach den Ports im Bereich nginx_recipes schauen und diese anpassen. Aber es gibt diesen Bereich in der verlinkten Yml gar nicht. Die ist im Vergleich zu deiner auch nur 1/3. Damit konnte ich nicht viel anfangen.
 
Du kannst neue Rezepte anlegen, aber keine Arbeitsschritte hinzufügen? Das ist aber seltsam. Versuche doch mal, ein vollständiges Rezept von einer Seite wie Chefkoch oder giallozafferano zu importieren, um zu sehen, ob das komplett angelegt werden kann.
Hast Du die DS mal neu gestartet, damit mal das ganze Docker/Containermanager-Paket und der Tandoor-Container neu gestartet wird?
 
Halli hallo,
leider kann ich mich aus beruflichen Gründen immer erst an Wochenende damit beschäftigen.
Genau, ich will ein Rezept hinzufügen, gebe einen Titel ein und klicke dann auf Schritte. Dann gebe ich die Schritte ein, klicke auf Erstellen und bekomme dann die Fehlermeldung: Fehler beim Erstellen
Wenn ich dann aber in die Übersicht der Rezepte gehe, sehe ich das erstellte Rezept halt ohne die Schritte. Will ich es bearbeiten und gebe die Schritte erneut ein, selbe Fehlermeldung.

1759647791020.png

Neugestartet habe ich die Diskstation schon mehrmals, aber es hat nichts gebracht.

Ich weiß nicht, was ich noch machen soll, damit Tandoor läuft.
Als Alternative habe ich über den Container-Manager mal RecipeSage installiert. Das funktioniert soweit. Ich kann auch die Rezepte eingeben und sie werden gespeichert... zur Not nehme ich halt das.
 
Ich kann dir Mealie empfehlen, das läuft seit fast einem Jahr problemlos.
 
Wollte ich ausprobieren, die Installation ging aber nur mit Portainer, zumindest nach der Anleitung von Marius, aber mit Portainer hatte ich auf meiner alten Diskstation nur Ärger, weil ständig Probleme aufgetreten sind. Deshalb möchte ich Portainer meiden und es mit den normalen Paketen der Diskstation, also Container Manager, probieren.
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat