Новые релизы
Сравнение версии рецепта с последним известным релизом upstream. Это номер версии, а не разбор изменений.
Mealie хранит рецепты, планы питания и списки покупок в одном домашнем приложении. Сохраняйте рецепт с сайта или добавляйте свой, собирайте блюда в кулинарные книги и планируйте меню на неделю вместе с домочадцами. Этот рецепт использует SQLite и один постоянный том для базы и загруженных файлов.
Mealie — менеджер рецептов для семьи и небольшой группы. Сохраняйте рецепты с сайтов или добавляйте вручную, собирайте их в кулинарные книги, планируйте меню и ведите общий список покупок. Рецепт использует официальный контейнер Mealie и SQLite; база данных, изображения и файлы приложения хранятся в одном постоянном томе. Это домашняя установка без PostgreSQL, почты и AI-провайдеров.
Рецепт привязывает веб-порт к 127.0.0.1, отключает открытую регистрацию и
запускает контейнер без privileged, host network и доступа к Docker socket.
База SQLite и загруженные файлы находятся в одном томе; включайте его в
резервные копии вне сервера и защищайте архивы.
В документации Mealie опубликованы начальные данные входа
(changeme@example.com / MyPassword). Смените пароль через loopback до того,
как сервис станет доступен другим. При импорте по URL сервер загружает внешние
страницы; пользователь с правом импорта может обращаться к ресурсам из сети
сервера, поэтому ограничьте доступ и по возможности изолируйте контейнер. При
использовании reverse proxy параметр Mealie HOST_IP=* по умолчанию доверяет
пересылаемым заголовкам от любого источника. Ограничьте его адресом или сетью
прокси и закройте прямой доступ извне.
Скан уязвимостей образа ещё не запускался; его статус остаётся неизвестным.
Это сохранённые результаты отдельных проверок, а не данные в реальном времени. Неизвестный статус означает, что проверка ещё не выполнялась.
Сравнение версии рецепта с последним известным релизом upstream. Это номер версии, а не разбор изменений.
Результат отдельного сканирования Docker-образов, а не проверки Compose.
Новый major находится сравнением номеров версий. Вердикт о совместимости заносится вручную после чтения release notes и порядка миграции.
Изменения upstream Compose относительно проверенного рецепта.
Проверка закреплённых тегов образов на наличие новых версий.
От наблюдения к действию
Рецепт уже закрепляет последний известный релиз. Ниже показаны сохранённые основания для этой версии.
v3.29.0v3.29.0Открыть релиз на GitHub ↗ Ссылка нужна для ревизии и сама по себе не доказывает совместимость.
Номера версий не пересекают major-границу совместимости. Вердикт о совместимости не записан.
Смена тегов образов сейчас не планируется.
Смена тега и перезапуск. Шаги конкретного релиза всё равно берутся из release notes и инструкции по установке.
Смена версии сейчас не планируется. Рецепт содержит процедуру backup. Restore проверен.
Точная проверка уровня «Проверен полностью» для этой версии записана 2026-10-21.
Статус показывает, насколько опубликованный рецепт покрывает требования каждого уровня.
Минимальная конфигурация для локальной сети или доступа через VPN.
Рецепт закрывает все требования этого уровня.
Публичная установка с защищённым доступом и резервными копиями.
Рецепт закрывает все требования этого уровня.
Конфигурация для предсказуемой эксплуатации и наблюдаемости.
Нужно добавить вручную: отдельная бд, внешний мониторинг, лимиты cpu и памяти.
Сначала прочитайте полную инструкцию: в ней описаны доступ извне, backup и расположение данных.
cp .env.example .envdocker compose up -ddocker compose psНужен 64-разрядный сервер Ubuntu 22.04+ или Debian 12+ с Docker Engine и Compose v2.24+. Официальный образ поддерживает amd64 и arm64; 32-разрядный ARM не поддерживается. Минимальный ориентир — 1 CPU, 1 ГБ RAM и 5 ГБ свободного места для приложения и изображений. Загружаемые фотографии потребуют дополнительного диска.
mkdir -p ~/services/mealie
cd ~/services/mealie
# Скопируйте сюда compose.yaml, .env.example, backup.sh, restore.sh и proxy/.
cp .env.example .env
chmod 600 .env
До первого запуска измените .env:
MEALIE_VERSION — закреплённая версия upstream. Перед обновлением читайте примечания к выпуску.MEALIE_PORT — порт на хосте, по умолчанию 9925; Compose привязывает его к 127.0.0.1.MEALIE_BASE_URL — адрес для ссылок и callback. При домене укажите публичный HTTPS URL.PUID и PGID задают ID владельца файлов в томе данных.TZ задаёт часовой пояс.MEALIE_DEFAULT_LOCALE задаёт начальный язык интерфейса: en или ru.MEALIE_DATA_VOLUME — имя тома с базой SQLite, изображениями рецептов и другими данными.docker compose config --quiet
docker compose pull
docker compose up -d --wait --wait-timeout 300
docker compose ps
curl --fail http://127.0.0.1:9925/api/app/about
Откройте на сервере http://127.0.0.1:9925 и войдите в начальную учётную запись (changeme@example.com / MyPassword). Сразу смените опубликованный пароль по умолчанию в настройках учётной записи, до предоставления доступа другим. Регистрация в этом рецепте отключена. Приглашайте участников домохозяйства через Mealie, не включая открытую регистрацию.
Оставьте порт хоста на loopback. Направьте домен на сервер, настройте один из HTTPS-прокси ниже, разрешите в firewall SSH/HTTP/HTTPS и не открывайте наружу порт 9925. Сначала войдите локально и замените опубликованный начальный пароль, лишь затем открывайте домен. До первого запуска задайте MEALIE_BASE_URL=https://recipes.example.com, чтобы ссылки и callback авторизации использовали правильный адрес. Импорт рецептов требует исходящего доступа в интернет.
Для временного доступа используйте SSH-туннель:
ssh -L 9925:127.0.0.1:9925 user@server
Затем откройте http://localhost:9925. Чтобы дать доступ в локальной сети, поместите Mealie за доверенным HTTPS-прокси либо измените привязку порта на конкретный приватный IP и ограничьте её firewall. Не публикуйте приложение напрямую в интернете по обычному HTTP.
Укажите MEALIE_BASE_URL=https://recipes.example.com, направьте DNS на прокси и используйте подходящий пример Caddy, Nginx или Traefik из proxy/. Оставьте соединение до приложения на loopback. Конфигурация Nginx разрешает загрузки до 20 МБ; увеличивайте предел осознанно, если нужны фотографии большего размера.
В постоянном томе находятся база и загруженные файлы. Остановите Mealie, чтобы SQLite и файлы попали в согласованный снимок:
./backup.sh
Архив появится в backups/ рядом с рецептами. В нём могут находиться личные рецепты и данные домохозяйства. Защитите его как персональные данные и скопируйте за пределы сервера. Файл .env тоже сохраните отдельно в защищённом месте: начальные данные администратора и публичный адрес нужны для работы восстановленного экземпляра.
Восстановление заменяет текущий том данных. Перед этим скрипт создаёт страховочную копию текущего состояния:
./restore.sh ./backups/mealie-YYYYMMDDTHHMMSSZ.tar.gz
Проверьте сервис и войдите:
docker compose up -d --wait --wait-timeout 300
curl --fail http://127.0.0.1:9925/api/app/about
docker compose logs --tail=100 mealie
Smoke-тест проверяет этот сценарий backup и restore на amd64. Для архива нужны совместимая версия образа и файл .env.
Прочитайте примечания Mealie к выпуску и сохраните копию за пределами сервера. Укажите в .env точную проверенную версию MEALIE_VERSION, затем выполните:
./backup.sh
docker compose pull
docker compose up -d --wait --wait-timeout 300
docker compose logs --tail=100 mealie
Не используйте latest. Миграция базы проходит при запуске; дождитесь успешного healthcheck.
Не запускайте старую версию на данных, которые уже мигрировала новая. Верните в MEALIE_VERSION предыдущий тег и восстановите архив, созданный до обновления:
docker compose down
./restore.sh ./backups/mealie-BEFORE-UPDATE.tar.gz
docker compose up -d --wait --wait-timeout 300
Остановить сервис, сохранив данные:
docker compose down
Чтобы удалить приложение вместе с данными, сначала проверьте резервную копию вне сервера, затем выполните:
docker compose down --volumes
rm -rf ~/services/mealie
Это удалит рецепты, учётные записи, планы питания, списки покупок и загруженные изображения.
Функция импорта по ссылке выполняет исходящие запросы с сервера. Давайте доступ только доверенным пользователям и по возможности изолируйте приложение от важных внутренних сервисов. У начальной учётной записи пароль опубликован в документации upstream; смените его до доступа извне loopback. Отключённая регистрация не заменяет отдельные учётные записи: приглашайте членов домохозяйства и задавайте уникальные пароли. Значение Mealie HOST_IP=* по умолчанию доверяет пересылаемым заголовкам от любого источника. При использовании прокси ограничьте его IP-адресом или сетью прокси и закройте прямой доступ к приложению.
Источники: установка с SQLite, вопросы безопасности, резервное копирование и восстановление и выпуск v3.29.0.
Сообщить о проблеме с рецептом
Рассказать, как прошло на вашем сервере
Откроется предзаполненный issue на GitHub. Нужен аккаунт GitHub; после отправки сообщение будет публичным.
Проверьте состояние контейнера и доступность порта:
docker compose ps
docker compose logs --tail=100 mealie
curl --fail http://127.0.0.1:9925/api/app/about
По умолчанию порт доступен только на loopback. Для удалённого сервера используйте HTTPS-прокси или SSH-туннель, а не открывайте его в интернет.
Начальные учётные данные changeme@example.com / MyPassword опубликованы в документации Mealie. Смените пароль до предоставления доступа извне. После инициализации базы простой перезапуск или изменение переменных окружения его не изменит. Сбросьте пароль через административный интерфейс или следуйте официальной инструкции восстановления.
Убедитесь, что volume mealie-data подключён в /app/data, а в .env указано ожидаемое имя тома. Не выполняйте docker compose down --volumes: команда удалит базу данных и загруженные файлы.
Импорт по ссылке требует исходящего DNS и HTTPS-доступа из контейнера. Некоторые сайты блокируют автоматические запросы; рецепт можно добавить вручную. Давайте доступ только доверенным пользователям, потому что сервер сам загружает страницы по указанному URL.
Перед сменой MEALIE_VERSION читайте примечания к выпуску. Для отката верните предыдущий тег и восстановите архив, созданный до обновления. Посмотрите логи:
docker compose logs --tail=200 mealie
Fossary — независимый информационный каталог, не связанный с разработчиками представленных приложений. Мы собираем сведения из открытых источников и проверяем опубликованные рецепты, но не разрабатываем, не распространяем и не контролируем эти приложения.
Публикация карточки или статус проверки не являются требованием, навязыванием либо персональной рекомендацией использовать приложение. Вы самостоятельно решаете, подходит ли оно вам, и используете его на свой риск. Мы не гарантируем безопасность, доступность или пригодность приложения и, в пределах, допускаемых законом, не отвечаем за вызванные им потери или ущерб. До установки проверьте лицензию, настройки безопасности, обработку данных и резервное копирование.