Установка Mealie на VPS – это эффективный способ создать собственную платформу для хранения и управления рецептами, обеспечивая полный контроль над данными, высокую производительность и масштабируемость, что идеально подходит для энтузиастов кулинарии, фуд-блогеров и небольших команд, стремящихся к независимости от сторонних сервисов.
Что такое Mealie и почему стоит установить Mealie на VPS?
Mealie – это современное, открытое и ориентированное на API приложение для управления рецептами, которое позволяет вам хранить, систематизировать, делиться и даже планировать блюда. Представьте себе цифровую поваренную книгу, которая всегда с вами, доступна с любого устройства и полностью под вашим контролем. Это mealie self-hosted решение, которое предоставляет функционал для импорта рецептов с популярных сайтов, редактирования, создания списков покупок и многое другое. Оно написано на Python с использованием FastAPI для бэкенда и Vue.js для фронтенда, что обеспечивает быстрый и отзывчивый пользовательский интерфейс.
Выбор mealie на vps вместо облачных или сторонних решений предоставляет ряд значительных преимуществ:
- Полный контроль над данными: Все ваши рецепты, заметки и личная информация хранятся на вашем собственном сервере, а не на серверах третьих лиц. Это критически важно для конфиденциальности и безопасности.
- Настройка и масштабируемость: Вы можете настроить Mealie под свои уникальные потребности, изменить конфигурацию сервера по мере роста ваших требований к хранению рецептов или увеличению числа пользователей.
- Производительность: С правильно настроенным VPS вы получаете гарантированные ресурсы (процессор, память, диск), что обеспечивает стабильную и быструю работу приложения без влияния "соседей" по общему хостингу.
- Интеграция: Mealie легко интегрируется с другими self-hosted сервисами благодаря своему API. Вы можете, например, настроить автоматическое резервное копирование на ваш NAS или интегрировать со сторонними инструментами для планирования питания.
- Обучение и развитие: Самостоятельная установка mealie и его обслуживание на VPS – отличная возможность углубить свои знания в области администрирования серверов, Docker и веб-технологий.
Valebyte.com предлагает надежные VPS-серверы, которые идеально подходят для таких задач, как хостинг Mealie, предоставляя вам мощную и гибкую инфраструктуру для ваших проектов.
Основные возможности Mealie
Mealie – это не просто хранилище рецептов. Это полноценная платформа с богатым набором функций:
- Импорт рецептов: Поддержка импорта рецептов с более чем 100 популярных кулинарных сайтов и блогов, а также возможность ручного ввода и редактирования.
- Управление ингредиентами и шагами: Детальное описание ингредиентов, их количества, единиц измерения и пошаговые инструкции по приготовлению.
- Категории и теги: Гибкая система категоризации и тегирования для удобного поиска и организации рецептов.
- Планирование питания: Встроенный календарь для планирования приемов пищи на неделю или месяц.
- Списки покупок: Автоматическое создание списков покупок на основе выбранных рецептов, с возможностью объединения ингредиентов и ручного добавления позиций.
- Пользователи и разрешения: Поддержка нескольких пользователей с различными уровнями доступа, что делает Mealie отличным решением для семьи или небольшой команды.
- Теги и поиск: Мощный полнотекстовый поиск по всем полям рецептов, а также фильтрация по тегам, категориям и другим атрибутам.
- Dark Mode: Удобный темный режим для работы в условиях низкой освещенности.
- PWA-совместимость: Возможность установки Mealie как прогрессивного веб-приложения на мобильные устройства для быстрого доступа.
Системные требования для Mealie на сервере
Выбор подходящего VPS-сервера для mealie на сервере – ключевой момент для обеспечения его стабильной и быстрой работы. Несмотря на то, что Mealie относительно легковесен, особенно для небольшого числа пользователей, важно учесть минимальные и рекомендуемые требования. Эти требования основаны на типичной конфигурации с использованием Docker и базы данных PostgreSQL.
Минимальные требования
Для одного пользователя или очень небольшой семьи (1-3 человека) с несколькими сотнями рецептов:
- Процессор (CPU): 1 vCPU с тактовой частотой от 2.0 GHz. Mealie не является CPU-интенсивным приложением при стандартном использовании, но процессор нужен для обработки запросов и фоновых задач.
- Оперативная память (RAM): 1 GB. Этого достаточно для запуска Docker-контейнеров Mealie и PostgreSQL. PostgreSQL может потреблять до 200-300 MB, а сам Mealie – 200-400 MB в режиме простоя.
- Дисковое пространство: 10-15 GB NVMe SSD. Mealie хранит рецепты, изображения и базу данных. NVMe SSD значительно ускорит операции ввода-вывода, что важно для отзывчивости приложения. 10-15 GB хватит для нескольких тысяч рецептов и их изображений, а также для операционной системы и Docker-образов.
- Операционная система: Ubuntu 22.04 LTS, Debian 11/12 или CentOS 8/9. Рекомендуются LTS-версии для стабильности и долгосрочной поддержки.
- Сетевое соединение: Минимум 100 Мбит/с. Mealie не требует высокой пропускной способности, но стабильное соединение важно для доступа.
Рекомендуемые требования
Для активного использования (3-10 пользователей) с тысячами рецептов, частым импортом и планированием:
- Процессор (CPU): 2 vCPU с тактовой частотой от 2.5 GHz. Дополнительное ядро обеспечит лучшую параллельную обработку запросов, особенно при одновременном доступе нескольких пользователей или выполнении ресурсоемких операций, таких как импорт большого количества рецептов.
- Оперативная память (RAM): 2-4 GB. Это обеспечит достаточный буфер для PostgreSQL и Mealie, предотвращая выгрузку данных в своп и улучшая общую производительность. Если вы планируете запускать другие сервисы на том же VPS, 4 GB будет более безопасным выбором.
- Дисковое пространство: 25-50 GB NVMe SSD. Больший объем диска предоставит запас для роста числа рецептов, изображений, а также для хранения бэкапов. NVMe SSD остается предпочтительным выбором.
- Операционная система: Ubuntu 22.04 LTS или Debian 12.
- Сетевое соединение: 1 Гбит/с.
Важно помнить, что эти требования являются ориентировочными. Реальное потребление ресурсов может варьироваться в зависимости от числа пользователей, частоты использования, количества рецептов и изображений, а также от других приложений, запущенных на том же VPS. Всегда лучше начинать с немного большей конфигурации, чем минимальная, чтобы иметь запас для роста и избежать проблем с производительностью.
Ищете надёжный сервер для ваших проектов?
VPS от $10/мес и выделенные серверы от $9/мес с NVMe, DDoS-защитой и поддержкой 24/7.
Смотреть предложения →Подготовка VPS к установке Mealie Docker
Прежде чем приступить к установка mealie, необходимо подготовить ваш VPS. Мы будем использовать Docker и Docker Compose для максимально простой и переносимой установки. Убедитесь, что у вас есть доступ к серверу по SSH с правами пользователя sudo.
Обновление системы и установка необходимых пакетов
Первым делом обновите все системные пакеты, чтобы обеспечить безопасность и стабильность:
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y
Затем установите некоторые утилиты, которые могут понадобиться:
sudo apt install -y curl wget git nano htop
Установка Docker Engine
Mealie будет работать в контейнерах Docker. Установка Docker Engine – это следующий важный шаг.
- Удалите старые версии Docker (если есть):
for pkg in docker.io docker-doc docker-compose docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin; do sudo apt remove $pkg; done - Установите необходимые зависимости:
sudo apt install -y ca-certificates curl gnupg - Добавьте официальный GPG ключ Docker:
sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg - Добавьте репозиторий Docker в APT-источники:
echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - Обновите APT-индекс и установите Docker Engine:
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin - Добавьте вашего пользователя в группу
docker: Это позволит запускать команды Docker безsudo.sudo usermod -aG docker $USERДля применения изменений необходимо выйти из SSH-сессии и зайти заново.
- Проверьте установку Docker:
docker run hello-worldВы должны увидеть сообщение "Hello from Docker!".
Установка Docker Compose
Docker Compose необходим для управления многоконтейнерными приложениями, такими как Mealie, которое обычно состоит из контейнеров приложения и базы данных. Docker Compose Plugin уже установлен вместе с Docker Engine, но если вы используете старую версию Docker или другую ОС, вам может потребоваться установить его вручную. Убедитесь, что команда docker compose работает (без дефиса).
docker compose version
Если вы видите версию, значит, все в порядке. Если нет, возможно, вам придется установить его как отдельный бинарник:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Затем проверьте версию: docker-compose version (с дефисом). В новых версиях Docker предпочтительнее использовать docker compose (без дефиса).
Ищете сервер, который просто работает?
Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.
Пошаговая установка Mealie на VPS с Docker Compose
Теперь, когда ваш VPS готов, мы можем приступить к развертыванию mealie docker с помощью Docker Compose. Этот метод позволяет легко управлять приложением и его зависимостями.
Создание директории для Mealie
Создайте директорию, где будут храниться все файлы конфигурации Mealie и данные:
mkdir -p ~/mealie
cd ~/mealie
Настройка файла .env
Mealie использует переменные окружения для своей конфигурации. Создайте файл .env в директории ~/mealie:
nano .env
И добавьте следующее содержимое:
# Mealie Configuration
TZ=Europe/Moscow # Ваша временная зона
PUID=1000 # ID вашего пользователя (обычно 1000)
PGID=1000 # ID вашей группы (обычно 1000)
APP_HOST=0.0.0.0 # Слушать на всех интерфейсах
APP_PORT=9000 # Порт, на котором будет доступен Mealie внутри контейнера
BASE_URL=http://localhost:9000 # Будет изменено при настройке прокси
# Database Configuration (PostgreSQL)
DB_ENGINE=postgresql
DB_HOST=db
DB_PORT=5432
DB_USER=mealie
DB_PASSWORD=your_strong_db_password # Замените на надежный пароль
DB_NAME=mealie
# Mealie Specific
DEBUG=false # Установите в true для отладки
ALLOW_SIGNUP=true # Разрешить самостоятельную регистрацию пользователей (можно отключить после создания админа)
SECRET_KEY=generate_a_very_long_random_string # Генерируйте длинную случайную строку (минимум 32 символа)
MEDIA_LOCATION=/app/data/media # Путь для медиафайлов внутри контейнера
DATA_LOCATION=/app/data # Путь для данных внутри контейнера
# SMTP Configuration (Optional, для отправки писем)
SMTP_HOST=
SMTP_PORT=
SMTP_USER=
SMTP_PASSWORD=
SMTP_FROM_EMAIL=
SMTP_TLS=true
SMTP_SSL=false
Важные заметки:
- Замените
your_strong_db_passwordна сложный, уникальный пароль. - Для
SECRET_KEYсгенерируйте очень длинную случайную строку (например, с помощьюopenssl rand -hex 32). PUIDиPGIDможно узнать командойid -uиid -gсоответственно. Обычно это 1000 для первого пользователя в Linux.TZизмените на вашу временную зону (например,Europe/Berlin,America/New_York).ALLOW_SIGNUPрекомендуется отключить после создания первого администратора, чтобы предотвратить несанкционированную регистрацию.- Если вы планируете использовать Mealie для восстановления паролей или уведомлений, настройте параметры SMTP.
Создание файла docker-compose.yml
Создайте файл docker-compose.yml в той же директории ~/mealie:
nano docker-compose.yml
И добавьте следующее содержимое:
version: '3.8'
services:
mealie:
image: hkotel/mealie:latest # Используем официальный образ Mealie
container_name: mealie
environment:
- TZ=${TZ}
- PUID=${PUID}
- PGID=${PGID}
- APP_HOST=${APP_HOST}
- APP_PORT=${APP_PORT}
- BASE_URL=${BASE_URL}
- DB_ENGINE=${DB_ENGINE}
- DB_HOST=${DB_HOST}
- DB_PORT=${DB_PORT}
- DB_USER=${DB_USER}
- DB_PASSWORD=${DB_PASSWORD}
- DB_NAME=${DB_NAME}
- DEBUG=${DEBUG}
- ALLOW_SIGNUP=${ALLOW_SIGNUP}
- SECRET_KEY=${SECRET_KEY}
- MEDIA_LOCATION=${MEDIA_LOCATION}
- DATA_LOCATION=${DATA_LOCATION}
# SMTP (раскомментируйте и заполните, если используете)
# - SMTP_HOST=${SMTP_HOST}
# - SMTP_PORT=${SMTP_PORT}
# - SMTP_USER=${SMTP_USER}
# - SMTP_PASSWORD=${SMTP_PASSWORD}
# - SMTP_FROM_EMAIL=${SMTP_FROM_EMAIL}
# - SMTP_TLS=${SMTP_TLS}
# - SMTP_SSL=${SMTP_SSL}
volumes:
- ./data:/app/data # Привязываем локальную директорию для хранения данных
ports:
- "9000:9000" # Пробрасываем порт Mealie на хост-систему
depends_on:
- db
restart: unless-stopped
db:
image: postgres:15-alpine # Используем легковесный образ PostgreSQL
container_name: mealie_db
environment:
- POSTGRES_DB=${DB_NAME}
- POSTGRES_USER=${DB_USER}
- POSTGRES_PASSWORD=${DB_PASSWORD}
- TZ=${TZ}
volumes:
- ./db-data:/var/lib/postgresql/data # Привязываем локальную директорию для хранения данных БД
restart: unless-stopped
volumes:
data:
db-data:
Пояснения к docker-compose.yml:
mealieсервис:image: hkotel/mealie:latest: Использует последнюю стабильную версию Mealie.environment: Передает переменные из файла.envв контейнер Mealie.volumes: - ./data:/app/data: Монтирует локальную директориюdata(которая будет создана рядом сdocker-compose.yml) в контейнер по пути/app/data. Здесь будут храниться все пользовательские данные Mealie (рецепты, изображения, конфигурация).ports: - "9000:9000": Пробрасывает порт 9000 контейнера Mealie на порт 9000 хост-системы. Это позволяет получить доступ к Mealie по IP-адресу вашего VPS и порту 9000.depends_on: - db: Указывает, что сервисmealieзависит от сервисаdb. Docker Compose сначала запустит базу данных.restart: unless-stopped: Гарантирует, что контейнер Mealie будет автоматически перезапускаться, если он остановится или сервер перезагрузится.
dbсервис:image: postgres:15-alpine: Использует легковесный образ PostgreSQL 15.environment: Передает параметры для инициализации базы данных PostgreSQL из файла.env.volumes: - ./db-data:/var/lib/postgresql/data: Монтирует локальную директориюdb-dataв контейнер для постоянного хранения данных PostgreSQL.restart: unless-stopped: Аналогично для базы данных.
Запуск Mealie
Сохраните оба файла (.env и docker-compose.yml). Теперь вы готовы запустить Mealie.
В директории ~/mealie выполните команду:
docker compose up -d
Эта команда скачает необходимые Docker-образы (если их нет), создаст и запустит контейнеры Mealie и PostgreSQL в фоновом режиме (-d означает detached mode).
Вы можете проверить статус запущенных контейнеров:
docker compose ps
Оба контейнера (mealie и mealie_db) должны иметь статус Up.
Mealie теперь должен быть доступен по адресу http://ВАШ_IP_VPS:9000. При первом доступе вам будет предложено создать учетную запись администратора. После создания администратора рекомендуется отредактировать файл .env и установить ALLOW_SIGNUP=false, чтобы предотвратить несанкционированную регистрацию других пользователей.
Для дальнейшего контроля над данными и обеспечения их сохранности, рассмотрите возможность использования Filebrowser на VPS, который поможет вам управлять файлами, связанными с Mealie, и организовывать их резервное копирование.
Настройка обратного прокси и HTTPS для Mealie
Доступ к Mealie через http://ВАШ_IP_VPS:9000 не является безопасным и удобным. Для обеспечения безопасного доступа по доменному имени с HTTPS (SSL-сертификатом) и возможности запускать Mealie на стандартном порту 443, необходимо настроить обратный прокси-сервер. Мы рассмотрим два популярных варианта: Nginx и Caddy.
Прежде чем начать, убедитесь, что у вас есть доменное имя (например, recipes.mydomain.com), которое указывает на IP-адрес вашего VPS.
Вариант 1: Nginx с Let's Encrypt
Nginx – это мощный и широко используемый веб-сервер и обратный прокси. Let's Encrypt предоставляет бесплатные SSL-сертификаты.
1. Установка Nginx
sudo apt install -y nginx
2. Настройка Nginx
Создайте новый файл конфигурации для вашего домена:
sudo nano /etc/nginx/sites-available/recipes.mydomain.com
Добавьте следующее содержимое, заменив recipes.mydomain.com на ваш домен:
server {
listen 80;
server_name recipes.mydomain.com;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl http2;
server_name recipes.mydomain.com;
ssl_certificate /etc/letsencrypt/live/recipes.mydomain.com/fullchain.pem; # Эти пути будут созданы Certbot
ssl_certificate_key /etc/letsencrypt/live/recipes.mydomain.com/privkey.pem; # Эти пути будут созданы Certbot
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass http://localhost:9000; # Порт, на котором Mealie доступен на хосте
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
}
Важные изменения в .env:
После настройки обратного прокси, вернитесь к файлу .env в директории ~/mealie и измените BASE_URL на ваш домен с HTTPS:
BASE_URL=https://recipes.mydomain.com
Перезапустите Mealie, чтобы изменения вступили в силу:
cd ~/mealie
docker compose restart mealie
3. Активация конфигурации Nginx
sudo ln -s /etc/nginx/sites-available/recipes.mydomain.com /etc/nginx/sites-enabled/
sudo nginx -t # Проверка синтаксиса
sudo systemctl restart nginx
4. Установка Certbot и получение SSL-сертификата
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d recipes.mydomain.com
Следуйте инструкциям Certbot. Он автоматически настроит Nginx для использования HTTPS. Certbot также создаст крон-задачу для автоматического обновления сертификатов.
Вариант 2: Caddy (более простой)
Caddy – это современный веб-сервер, который автоматически управляет SSL-сертификатами Let's Encrypt, что значительно упрощает настройку HTTPS.
1. Установка Caddy
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install -y caddy
2. Настройка Caddyfile
Создайте или отредактируйте файл /etc/caddy/Caddyfile:
sudo nano /etc/caddy/Caddyfile
Удалите все содержимое по умолчанию и добавьте следующее, заменив recipes.mydomain.com на ваш домен:
recipes.mydomain.com {
reverse_proxy localhost:9000 # Порт, на котором Mealie доступен на хосте
}
Важные изменения в .env:
Аналогично Nginx, измените BASE_URL в файле .env:
BASE_URL=https://recipes.mydomain.com
Перезапустите Mealie:
cd ~/mealie
docker compose restart mealie
3. Активация конфигурации Caddy
sudo systemctl enable caddy
sudo systemctl restart caddy
Caddy автоматически получит и настроит SSL-сертификат для вашего домена. Теперь Mealie будет доступен по адресу https://recipes.mydomain.com.
Вы успешно настроили обратный прокси и HTTPS для Mealie. Теперь ваш сервис доступен по защищенному соединению через доменное имя.
Резервное копирование и обновление Mealie
Регулярное резервное копирование и своевременные обновления – это основа для надежной работы любого self-hosted приложения, включая mealie на сервере. Не пренебрегайте этими шагами, чтобы избежать потери данных и обеспечить безопасность вашей установки.
Резервное копирование Mealie
Ваши данные Mealie состоят из двух основных частей: база данных PostgreSQL и файлы (изображения, конфигурация), хранящиеся в директории data. Для полного бэкапа необходимо сохранить обе части.
1. Остановка Mealie (рекомендуется для консистентности)
cd ~/mealie
docker compose stop mealie
Остановка только контейнера Mealie позволит базе данных продолжать работать, но прекратит операции записи в базу со стороны Mealie, обеспечивая консистентность данных при создании дампа.
2. Создание дампа базы данных PostgreSQL
Используйте команду pg_dump из контейнера PostgreSQL:
docker exec mealie_db pg_dump -U mealie -Fc mealie > ~/mealie_backup/mealie_db_$(date +%Y%m%d%H%M%S).bak
Где:
mealie_db– имя контейнера базы данных.-U mealie– пользователь базы данных.-Fc mealie– формат дампа (custom, сжатый) и имя базы данных.> ~/mealie_backup/mealie_db_$(date +%Y%m%d%H%M%S).bak– перенаправление вывода в файл с меткой времени в директории~/mealie_backup. Убедитесь, что эта директория существует:mkdir -p ~/mealie_backup.
3. Копирование файлов Mealie
Скопируйте директорию с данными Mealie. Так как мы монтировали volume ./data, все файлы находятся в ~/mealie/data на хосте.
cp -R ~/mealie/data ~/mealie_backup/mealie_data_$(date +%Y%m%d%H%M%S)
4. Запуск Mealie
cd ~/mealie
docker compose start mealie
5. Автоматизация резервного копирования с помощью Cron
Вы можете создать скрипт и настроить Cron для автоматического выполнения бэкапов. Создайте файл backup_mealie.sh:
nano ~/backup_mealie.sh
Содержимое скрипта:
#!/bin/bash
BACKUP_DIR="/home/$USER/mealie_backup"
MEALIE_DIR="/home/$USER/mealie"
TIMESTAMP=$(date +%Y%m%d%H%M%S)
mkdir -p "$BACKUP_DIR"
echo "Stopping Mealie container..."
docker compose -f "$MEALIE_DIR/docker-compose.yml" stop mealie
echo "Dumping PostgreSQL database..."
docker exec mealie_db pg_dump -U mealie -Fc mealie > "$BACKUP_DIR/mealie_db_$TIMESTAMP.bak"
echo "Copying Mealie data files..."
cp -R "$MEALIE_DIR/data" "$BACKUP_DIR/mealie_data_$TIMESTAMP"
echo "Starting Mealie container..."
docker compose -f "$MEALIE_DIR/docker-compose.yml" start mealie
echo "Cleaning old backups (keeping last 7 days)..."
find "$BACKUP_DIR" -type f -name "mealie_db_*.bak" -mtime +7 -delete
find "$BACKUP_DIR" -type d -name "mealie_data_*" -mtime +7 -exec rm -rf {} +
echo "Backup completed: $TIMESTAMP"
Сделайте скрипт исполняемым:
chmod +x ~/backup_mealie.sh
Добавьте задачу в Cron (например, ежедневно в 3:00 ночи):
crontab -e
Добавьте строку:
0 3 * * * /home/$USER/backup_mealie.sh >> /var/log/mealie_backup.log 2>&1
Для более продвинутых решений по резервному копированию, включающих шифрование и отправку на удаленное хранилище, рекомендуем ознакомиться с нашей статьей про Restic на VPS: установка, настройка и обслуживание.
Восстановление Mealie из бэкапа
Для восстановления вам потребуется остановить Mealie, восстановить базу данных и файлы, затем запустить Mealie.
- Остановите Mealie:
cd ~/mealie docker compose down - Удалите текущие данные (будьте осторожны!):
rm -rf ~/mealie/data rm -rf ~/mealie/db-data - Восстановите файлы данных:
cp -R ~/mealie_backup/mealie_data_YYYYMMDDHHMMSS ~/mealie/dataЗамените
YYYYMMDDHHMMSSна метку времени нужного бэкапа. - Создайте пустые директории для базы данных (если они были удалены):
mkdir -p ~/mealie/db-data - Запустите контейнер базы данных (без Mealie), чтобы он инициализировался:
docker compose -f ~/mealie/docker-compose.yml up -d dbДождитесь полного запуска контейнера
mealie_db. - Восстановите базу данных из дампа:
docker exec -i mealie_db pg_restore -U mealie -d mealie < ~/mealie_backup/mealie_db_YYYYMMDDHHMMSS.bakЗамените
YYYYMMDDHHMMSSна метку времени нужного бэкапа. - Запустите Mealie:
docker compose -f ~/mealie/docker-compose.yml up -d
Обновление Mealie
Обновление mealie docker сводится к обновлению Docker-образов и перезапуску контейнеров.
- Перейдите в директорию Mealie:
cd ~/mealie - Остановите контейнеры:
docker compose down - Загрузите новые образы:
docker compose pullЭто скачает последние версии образов Mealie и PostgreSQL.
- Запустите контейнеры снова:
docker compose up -dMealie автоматически выполнит миграции базы данных, если это необходимо.
- Очистите старые Docker-образы (опционально):
docker image prune -f
Рекомендуется проверять официальные релизы Mealie на GitHub, так как иногда могут требоваться дополнительные шаги при обновлении (например, изменения в файле .env или docker-compose.yml).
Ищете сервер, который просто работает?
Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.
Какой VPS выбрать для Mealie: рекомендации по конфигурации
Выбор оптимального VPS для Mealie зависит от ваших потребностей: количества пользователей, объема рецептов и частоты использования. Рассмотрим различные сценарии и соответствующие им конфигурации VPS, доступные на Valebyte.com.
Таблица сравнения конфигураций VPS для Mealie
| Сценарий использования | CPU (vCores) | RAM (GB) | Диск (NVMe SSD, GB) | Примерная стоимость/мес. (Valebyte.com) | Примечания |
|---|---|---|---|---|---|
| Личное использование / Небольшая семья (1-3 пользователя, до 1000 рецептов) | 1 | 1-2 | 25 | от $5 - $8 | Идеально для начала. Обеспечивает быструю работу. |
| Активная семья / Небольшое сообщество (3-10 пользователей, 1000-5000+ рецептов) | 2 | 2-4 | 50 | от $10 - $15 | Хороший баланс производительности и стоимости. Рекомендуется для большинства пользователей. |
| Кулинарный блог / Крупное сообщество (10+ пользователей, 5000+ рецептов) | 4 | 4-8 | 100+ | от $20 - $35+ | Для высоких нагрузок, большого количества изображений и одновременных запросов. Позволяет запускать другие сервисы. |
| Разработка / Тестирование Mealie | 1 | 1 | 25 | от $5 | Минимальная конфигурация, достаточная для экспериментов. |
Важные аспекты при выборе VPS
- Тип диска: NVMe SSD. Это критически важно для отзывчивости Mealie. Операции с базой данных и загрузка изображений будут значительно быстрее на NVMe по сравнению с обычными SSD или HDD. Valebyte.com предлагает VPS с NVMe-дисками по умолчанию.
- Расположение сервера: Выбирайте дата-центр, который географически близок к основным пользователям. Это минимизирует задержки (latency) и улучшает скорость доступа к Mealie.
- Гарантированные ресурсы: Убедитесь, что ваш VPS предоставляет гарантированные ресурсы (dedicated resources), а не "burstable" или "shared" CPU/RAM, которые могут быть перегружены другими пользователями на том же физическом сервере.
- Масштабируемость: Выбирайте провайдера, который позволяет легко увеличивать (или уменьшать) ресурсы вашего VPS по мере изменения потребностей. Valebyte.com предлагает гибкие тарифы и возможность апгрейда в любой момент.
- Операционная система: Ubuntu Server LTS или Debian Stable – наиболее рекомендуемые ОС для хостинга Docker-приложений. Они хорошо документированы и имеют широкое сообщество поддержки.
- Сетевая пропускная способность: Хотя Mealie не требует огромной пропускной способности, стабильный канал 1 Гбит/с будет преимуществом, особенно если вы планируете загружать много изображений или иметь несколько пользователей.
- Техническая поддержка: Качественная и оперативная техническая поддержка от хостинг-провайдера может быть бесценной, особенно если вы сталкиваетесь с проблемами на уровне инфраструктуры.
Для мониторинга использования ресурсов вашего VPS и оптимизации его работы, рекомендуем ознакомиться с нашей статьей про Netdata на VPS: установка, настройка и обслуживание. Это поможет вам понять, какой VPS-конфиг под реальную нагрузку Mealie подходит именно вам.
Начав с рекомендованной конфигурации (2 vCPU, 2-4 GB RAM, 50 GB NVMe SSD), вы получите отличный баланс производительности и стоимости для большинства сценариев использования Mealie. Если вы планируете использовать VPS для других self-hosted приложений, таких как Home Assistant на VPS или VPS сервер для 1С, всегда выбирайте тариф с запасом по ресурсам.
Выводы
Установка Mealie на VPS через Docker Compose – это надежное и гибкое решение для создания собственной платформы управления рецептами, обеспечивающее полный контроль над вашими данными и высокую производительность. Выбор правильной конфигурации VPS, регулярное резервное копирование и своевременные обновления гарантируют стабильную и безопасную работу вашего сервиса. Valebyte.com предоставляет оптимальные VPS-тарифы с NVMe-дисками, идеально подходящие для хостинга Mealie и других ваших self-hosted проектов.
Готовы выбрать сервер?
VPS и выделенные серверы в 72+ странах с мгновенной активацией и полным root-доступом.
Начать сейчас →