services: db_recipes: restart: always image: postgres:16-alpine volumes: - ./postgresql:/var/lib/postgresql/data env_file: - ./.env networks: - default 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 networks: - default nginx_recipes: image: nginx:mainline-alpine restart: always env_file: - ./.env 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 labels: - "traefik.enable=true" - "traefik.http.routers.recipes.rule=Host(`recipes.velouria.dev`)" - "traefik.http.routers.recipes.entrypoints=websecure" - "traefik.http.routers.recipes.tls.certresolver=myresolver" depends_on: - web_recipes networks: - default - traefik networks: default: traefik: external: true volumes: nginx_config: staticfiles: