Herramientas de usuario

Herramientas del sitio


informatica:software:aplicaciones_web:tandoor_recipes

¡Esta es una revisión vieja del documento!


Tandoor Recipes

Aplicación web para gestionar, etiquetar y buscar recetas.

Características

  • Sincronización mediante Dropbox y Nextcloud
  • Búsqueda avanzada con TrigramSimilarity (Django)
  • Creación y búsqueda por etiquetas
  • Importación de miles de webs que soporten ld+json o microdata.
  • Optimizado para dispositivos móviles como teléfono y tables.
  • Generación de listas de la compra a partir de las recetas.
  • Creación de menús semanales
  • Compartición de recetas con amigos y posibilidad de comentarios.
  • Exportación/importación de recetas de otros usuarios
  • Soporte de idiomas

Instalación

Docker

Fichero nginx/conf.d/Recipes.conf:

server {
  listen 80;
  server_name localhost;
 
  client_max_body_size 16M;
 
  # serve media files
  location /media/ {
    alias /media/;
  }
  # pass requests for dynamic content to gunicorn
  location / {
    proxy_set_header Host $host;
    proxy_pass http://web_recipes:8080;
  }
}

Fichero .env:

# only set this to true when testing/debugging
# when unset: 1 (true) - dont unset this, just for development
DEBUG=0
 
# hosts the application can run under e.g. recipes.mydomain.com,cooking.mydomain.com,...
ALLOWED_HOSTS=*
 
# random secret key, use for example base64 /dev/urandom | head -c50 to generate one
SECRET_KEY=klSaoSjJNzWmLTE4EV3THq1IMSWt3WqY9xraBoPWFgj9ucB+C8
 
# add only a database password if you want to run with the default postgres, otherwise change settings accordingly
DB_ENGINE=django.db.backends.postgresql_psycopg2
POSTGRES_HOST=db_recipes
POSTGRES_PORT=5432
POSTGRES_USER=djangodb
POSTGRES_PASSWORD=password
POSTGRES_DB=djangodb
 
# Users can set a amount of time after which the shopping list is refreshed when they are in viewing mode
# This is the minimum interval users can set. Setting this to low will allow users to refresh very frequently which
# might cause high load on the server. (Technically they can obviously refresh as often as they want with their own scripts)
SHOPPING_MIN_AUTOSYNC_INTERVAL=5
 
# If staticfiles are stored at a different location uncomment and change accordingly
# STATIC_URL=/static/
 
# If mediafiles are stored at a different location uncomment and change accordingly
# MEDIA_URL=/media/
 
# Serve mediafiles directly using gunicorn. Basically everyone recommends not doing this. Please use any of the examples
# provided that include an additional nxginx container to handle media file serving.
# If you know what you are doing turn this back on (1) to serve media files using djangos serve() method.
# when unset: 1 (true) - this is temporary until an appropriate amount of time has passed for everyone to migrate
GUNICORN_MEDIA=0
 
 
# allow authentication via reverse proxy (e.g. authelia), leave of if you dont know what you are doing
# docs: https://github.com/vabene1111/recipes/tree/develop/docs/docker/nginx-proxy%20with%20proxy%20authentication
# when unset: 0 (false)
REVERSE_PROXY_AUTH=0
 
 
# the default value for the user preference 'comments' (enable/disable commenting system)
# when unset: 1 (true)
COMMENT_PREF_DEFAULT=1

Fichero docker-compose.yml:

version: "3"
services:
  db_recipes:
    restart: always
    image: postgres:11-alpine
    volumes:
      - ./postgresql:/var/lib/postgresql/data
    env_file:
      - ./.env

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

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

El fichero docker-compose.yml anterior creará 3 directorios en la carpeta actual:

  • postgresql
  • staticfiles
  • mediafiles

En el primer arranque, se solicitará crear una cuenta y se convertirá en superusuario.

Uso

Añadir recetas

Hay varias posibilidades:

  • Manual
  • Importación

Actualización

Si hemos instalado mediante Docker Compose, la actualización será obtener una nueva imagen y relanzar:

docker-compose down 
docker-compose pull
docker-compose up -d

Recursos

informatica/software/aplicaciones_web/tandoor_recipes.1614679244.txt.gz · Última modificación: por tempwin