====== Tandoor Recipes ====== Aplicación web para gestionar, etiquetar y buscar recetas. * [[https://github.com/vabene1111/recipes/|Repositorio oficial]] (GitHub) * [[https://docs.tandoor.dev/|Documentación oficial]] ===== Características ===== * Sincronización mediante Dropbox y [[informatica:software:aplicaciones_web:nextcloud|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 # Si tienes problemas en las búsquedas (https://github.com/vabene1111/recipes/issues/428), utiliza: # DB_ENGINE=django.db.backends.postgresql 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 ===== * [[https://www.reddit.com/r/selfhosted/comments/lmpolh/tandoor_recipes_big_new_release_of_the_most/|Anuncio en Reddit]]