Tandoor Kochbuch für Rezepte

tonne

Benutzer
Mitglied seit
07. Dez 2023
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Seit einiger Zeit benutze ich Tandoor über Docker. Nun wollte ich es mal wieder ein Update vornehmen und es gleichzeitig mal über die Compose-Yaml probieren. Da komme ich allerdings nicht weiter. Wenn ich die Compose über Docker-Desktop lokal auf meinem Laptop baue, geht das problemlos. Nehme ich die gleich Compose-Datei und versuche es mit dem Container Management zu starten, habe ich das Problem, dass die DB (im 1. Container) nicht mit der Web-Anwendung (2. Comtainer) reden wollen. Die DB läuft aber die Web-Anwendung sucht und findet die DB nicht.
Hat hier jemand eine Idee, was ich machen kann damit ich es auch wieder über mein Synology nutzen kann? Wie gesagt, im Docker-Desktop auf meinem Laptop hat es problemlos geklappt.
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
28. Okt 2020
Beiträge
14.180
Punkte für Reaktionen
4.915
Punkte
519
Willkommen hier im Forum!
Leider gibst du keinerlei Infos.
Welches Docker-Image? Welche DSM-Version? Welche DS? Welche Docker-Version? Wie schaut die Compose-Datei aus?
 

tonne

Benutzer
Mitglied seit
07. Dez 2023
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Oh, stimmt - sorry. Also es geht in Docker darum: vabene1111/recipes. Ich habe es mit latest versucht aber die Version ist hier, glaube ich, nicht so entscheidend.
https://hub.docker.com/r/vabene1111/recipes

Dazu hat mein DS220+ die Version DSM 7.2.1-69057 Update 3. Sowohl der Container Manager als auch der Docker Desktop sind auf dem neusten Stand.

Meine Compose-Datei sieht so aus:

YAML:
version: "3"
services:
  db_recipes:
    restart: always
    image: postgres:15-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
      # Do not make this a bind mount, see https://docs.tandoor.dev/install/docker/#volumes-vs-bind-mounts
      - nginx_config:/opt/recipes/nginx/conf.d
      - ./mediafiles:/opt/recipes/mediafiles
    depends_on:
      - db_recipes

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

volumes:
  nginx_config:
  staticfiles:
]
 

ctrlaltdelete

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
10.104
Punkte für Reaktionen
3.644
Punkte
414
Mappst du keine Ordner aus dem Container raus auf dein Volume?
Meine sieht so aus:
version: "3.9"
services:
db:
image: postgres:15.4
container_name: Tandoor-DB
hostname: tandoor-db
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "recipes", "-U", "recipesuser"]
timeout: 45s
interval: 10s
retries: 10
user: 1040:100
volumes:
- /volume2/docker/tandoor/db:/var/lib/postgresql/data
env_file:
- stack.env
restart: always

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
user: 1040:100
volumes:
- /volume2/docker/tandoor/staticfiles:/opt/recipes/staticfiles
- /volume2/docker/tandoor/mediafiles:/opt/recipes/mediafiles
- /volume2/docker/tandoor/nginx:/opt/recipes/nginx/conf.d
env_file:
- stack.env
restart: always
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:
- /volume2/docker/tandoor/staticfiles:/static:ro
- /volume2/docker/tandoor/mediafiles:/media:ro
- /volume2/docker/tandoor/nginx:/etc/nginx/conf.d:ro
ports:
- 9815:80
env_file:
- stack.env
restart: always
depends_on:
tandoor:
condition: service_healthy
 

tonne

Benutzer
Mitglied seit
07. Dez 2023
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Hmm, meinst du besipielsweise bei meiner
YAML:
volumes:
- postgresql:/var/lib/postgresql/data

und bei dir
YAML:
volumes:
- /volume2/docker/tandoor/db:/var/lib/postgresql/data

Das klappt mit dem Synology Container Manager. Mit der Portainer aber nicht, da hatte ich auch immer Errors bekommen, weil Ordner und so gefehlt haben. Dank dir konnte ich es über den Portainer dann deployen und starten. Und das ist ja noch ein bisschen angenehmer zu nutzen! Vielen Dank :D Allerdings bekommt die Web-Anwendung auch hier keine DB-Verbindung. Seltsam. Hast du noch einen Tipp für mich?
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.604
Punkte für Reaktionen
758
Punkte
154
Wenn du deine Mounts änderst, dann sind deine Daten auch weg. Das eine sind Docker Volumes, da verwaltet Docker selber wo die Daten abgelegt werden und beim anderen gibst du es an....
Guck doch mal in die Docker Container Logs ob da was steht
 

tonne

Benutzer
Mitglied seit
07. Dez 2023
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Im DB-Container steht im Log
1702068802585.png

und im Web-Container steht
1702068916500.png

Weil da ja im Log POSTGRES_HOST erwähnt wird, im .env habe ich nur SECRET_KEY und POSTGRES_PASSWORD gesetzt
1702069325091.png
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.604
Punkte für Reaktionen
758
Punkte
154
Vielleicht ist das das Problem? Woher soll er wissen wo die DB ist? In der .env.template steht das ja auch drin. Und wenn dein DB Service Name von dem Default abweicht, dann findet er ihn auch nicht. Bei dir heißt es ja nur DB und in deinem Screenshot steht db_receips
 


 

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