
Что такое 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




