
Что такое Mealie
Mealie — это открытое, self-hosted веб-приложение для управления рецептами, планирования питания и составления списка покупок.
Сайт проекта: mealie.io
Документация: docs.mealie.io
Главные особенности:
- Установка на собственном сервере или домашней инфраструктуре — без зависимости от облачных сервисов.
- Импорт рецептов с веб-страниц с помощью встроенного «скрепера».
- Современный интерфейс на Vue.js, backend с REST API.
- Планировщик питания (meal planner) и списки покупок (shopping list).
- Поддержка нескольких пользователей и групп.
- Организация рецептов в коллекции, теги, категории.
Основные возможности Mealie
-
Импорт рецептов
Можно вводить вручную или передавать ссылку на веб-страницу, и Mealie извлечет ингредиенты и инструкции.
Подробнее на GitHub: github.com/mealie-recipes/mealie -
Редактор рецептов
Полное редактирование ингредиентов, инструкций, фото и описаний. -
Планировщик питания
Распределение блюд по дням недели/месяца. -
Список покупок
Автоматическое формирование списка на основе выбранных рецептов, с возможностью группировки по отделам магазина. -
Организация рецептов
Теги, категории, коллекции (cookbooks) для удобного поиска. -
API и интеграции
REST API, вебхуки, поддержка Home Assistant и других систем. -
Локализация
Интерфейс доступен на многих языках.
Почему Mealie интересен домашним энтузиастам
Если у вас уже есть домашний сервер или кластер (например, Proxmox и мини ПК), Mealie идеально впишется:
- Запуск в контейнере Docker или LXC.
- Полный контроль над данными — ваши рецепты, планы питания и списки покупок остаются у вас.
- Возможность использовать как контент-базу для блога или YouTube-канала.
- Интеграция с домашней автоматизацией: уведомления о запланированных блюдах, списки ингредиентов на холодильнике и др.
Возможные ограничения
- Масштабирование порций (recipe scaling) может быть неидеальным.
Источник обсуждения на Reddit - Требуются базовые навыки self-hosting: подготовка сервера/контейнера, резервное копирование, безопасность.
- Мобильные приложения сторонние, основное использование через веб-интерфейс.
Пример мобильного клиента для iOS
Как начать использовать Mealie
- Подготовить сервер или контейнер (Docker Compose или LXC в Proxmox).
- Установить Mealie: загрузить Docker-образ, настроить базу данных и переменные окружения.
- Подключиться через браузер и создать пользователя.
- Импортировать несколько рецептов (ссылки или вручную).
- Создать план питания на неделю и проверить список покупок.
- Настроить резервное копирование.
- (Опционально) Интегрировать с Home Assistant для уведомлений о блюдах.
Mealie — отличный инструмент для домашних кулинаров и тех, кто ценит полный контроль над своими данными.
Если у вас есть сервер или кластер Proxmox, его запуск — вопрос нескольких минут.
Примерный docker compose файл, который использовался в ролике
---services: mealie: image: ghcr.io/mealie-recipes/mealie:latest # container_name: mealie #ports: # - "9925:9000" # deploy: resources: limits: memory: 1000M # volumes: - /home/user/docker/mealie/mealie-data:/app/data/ environment: # Set Backend ENV Variables Here - ALLOW_SIGNUP=false - PUID=1000 - PGID=1000 - TZ=Europe/Moscow - MAX_WORKERS=1 - WEB_CONCURRENCY=1 - BASE_URL=https://mealie.user.ru - DEFAULT_GROUP=Home - DEFAULT_HOUSEHOLD=Family #Email Configuration - SMTP_HOST=smtp.gmail.com - SMTP_PORT=465 - SMTP_FROM_NAME=mail@gmail.com - SMTP_AUTH_STRATEGY=SSL # Options: 'TLS', 'SSL', 'NONE' - SMTP_FROM_EMAIL=mail@gmail.com - SMTP_USER=mail@gmail.com - SMTP_PASSWORD=pas wor dddd password #OIDC credentials - OIDC_AUTH_ENABLED=true - OIDC_SIGNUP_ENABLED=true - OIDC_CONFIGURATION_URL=https://authentik.domain.ru/application/o/mealie/.well-known/openid-configuration - OIDC_CLIENT_ID=secret - OIDC_CLIENT_SECRET=big secret # - OIDC_AUTO_REDIRECT=false - OIDC_REMEMBER_ME=true # - OIDC_AUTO_REDIRECT=false - OIDC_SIGNUP_ENABLED=true # - OIDC_USER_CLAIM=email # - OIDC_GROUPS_CLAIM=groups # - OIDC_USER_GROUP=my_family # - OIDC_ADMIN_GROUP=mealie_Admins # - OIDC_USER_GROUP=mealie_users # - OIDC_PROVIDER_NAME=Authentik # - LOG_LEVEL=DEBUG restart: unless-stopped networks: proxy: security_opt: - no-new-privileges:true labels: - "traefik.enable=true" - "traefik.http.routers.mealie.entrypoints=web" - "traefik.http.routers.mealie.rule=Host(`mealie.domain.ru`)" - "traefik.http.middlewares.mealie-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.mealie.middlewares=mealie-https-redirect" - "traefik.http.routers.mealie-secure.entrypoints=websecure" - "traefik.http.routers.mealie-secure.rule=Host(`mealie.domain.ru`)" - "traefik.http.routers.mealie-secure.tls=true" - "traefik.http.routers.mealie-secure.service=mealie" - "traefik.http.services.mealie.loadbalancer.server.port=9000" - "traefik.docker.network=proxy"
networks: proxy: external: trueНекоторая информация может быть устаревшей



