Mealie: sổ công thức, trình lập kế hoạch bữa ăn và danh sách mua sắm trên VPS
Một công thức nằm trong dấu trang, một công thức khác trong cuộc trò chuyện, công thức thứ ba là ảnh chụp màn hình, còn công thức thứ tư phải được tìm lại trên một website đầy quảng cáo và phần giới thiệu dài. Mealie tập hợp mọi thứ vào một nơi: dán liên kết để nhận thẻ công thức với nguyên liệu, hướng dẫn và ảnh. Sau đó, bạn có thể thêm món ăn vào lịch và chuyển nguyên liệu vào danh sách mua sắm chung.
Dưới đây, chúng ta sẽ xem Mealie có thể làm gì, phù hợp với ai, cần máy chủ như thế nào và cách khởi chạy trình quản lý công thức của riêng bạn trên VPS bằng Docker Compose.
Mealie là gì?
Mealie là ứng dụng self-hosted miễn phí để lưu công thức, lập kế hoạch bữa ăn và quản lý danh sách mua sắm. Dịch vụ chạy trên máy chủ của riêng bạn, vì vậy bạn quyết định nơi lưu cơ sở dữ liệu, ai được truy cập và cách tạo bản sao lưu.
Giao diện mở trong trình duyệt trên máy tính hoặc điện thoại. Công thức có thể được tạo thủ công, nhập từ website, sắp xếp vào danh mục và sách nấu ăn, thêm vào thực đơn tuần và chia sẻ với các thành viên gia đình.
Điểm khác biệt chính giữa Mealie và một thư mục ghi chú là mọi thứ được kết nối. Một công thức có thể được thêm vào kế hoạch bữa ăn, liên kết với danh sách mua sắm, lọc bằng thẻ và sử dụng trong các quy trình tự động qua API.
Các tính năng chính của Mealie
Nhập công thức từ một liên kết
Người dùng dán URL, Mealie sẽ cố gắng trích xuất tên món, số khẩu phần, nguyên liệu, các bước và hình ảnh. Thay vì thêm một dấu trang khác, bạn nhận được một thẻ công thức gọn gàng có thể chỉnh sửa và lưu.
Tính năng này đặc biệt hữu ích với các website đặt công thức giữa quảng cáo và văn bản không cần thiết. Nếu trang dùng đánh dấu không chuẩn, một số dữ liệu có thể cần sửa thủ công.
Mealie cũng có thể chuyển các bộ sưu tập từ Paprika, Tandoor, Nextcloud Cookbooks và một số trình quản lý công thức khác. Bạn không phải bắt đầu với thư viện trống.
Nhập từ ảnh, văn bản hoặc video
Tích hợp AI tùy chọn có thể tạo công thức từ văn bản, ảnh chụp một trang sách nấu ăn hoặc liên kết video. Với video, dịch vụ lấy bản chép lời rồi trích xuất nguyên liệu và trình tự các bước.
Tính năng này cần một nhà cung cấp AI tương thích. Bạn có thể kết nối API bên ngoài hoặc dịch vụ tương thích OpenAI của riêng mình, chẳng hạn Ollama. Trước khi bật, hãy cân nhắc chi phí yêu cầu và chính sách xử lý dữ liệu của nhà cung cấp đã chọn.
Trình lập kế hoạch bữa ăn và danh sách mua sắm
Các món ăn được sắp xếp theo ngày và loại bữa. Bạn có thể thêm một công thức, ghi chú như “đồ thừa từ hôm qua” hoặc một món ngẫu nhiên dựa trên quy tắc—ví dụ chỉ chọn bữa tối nhanh vào thứ Sáu.
Nguyên liệu từ công thức được chuyển vào danh sách mua sắm. Các mục có thể được đánh dấu bằng điện thoại và nhóm theo khu vực trong cửa hàng. Nhờ đó, Mealie không chỉ là kho lưu trữ mà còn là công cụ thiết thực cho cả tuần.
Truy cập gia đình và tự động hóa
Mealie hỗ trợ người dùng, nhóm và hộ gia đình. Gia đình có thể dùng chung bộ sưu tập công thức, đồng thời giữ kế hoạch bữa ăn và danh sách mua sắm riêng khi cần.
REST API, thông báo và webhook cho phép kết nối dịch vụ với các hệ thống khác. Chẳng hạn, tích hợp Home Assistant chính thức hiển thị bữa ăn sắp tới trong lịch và làm việc với danh sách mua sắm.
Mealie dành cho ai?
Mealie hữu ích khi công thức rải rác trên website, ghi chú và ảnh; thực đơn phải xây dựng lại từ đầu; nhiều người dùng chung giỏ hàng; việc kiểm soát cơ sở dữ liệu riêng quan trọng; hoặc bạn cần tự động hóa.
Dịch vụ có thể là dư thừa nếu bạn chỉ có vài món quen thuộc và không muốn duy trì Docker. Self-hosting loại bỏ sự phụ thuộc vào tài khoản đám mây của người khác, nhưng máy chủ vẫn phải được cập nhật, bảo mật và sao lưu.
Mealie cần loại máy chủ nào?
Trong cấu hình Docker Compose chính thức, container bị giới hạn ở 1.000 MB bộ nhớ. Bản cài đặt nhỏ có thể chạy trên 1 vCPU và 1 GB RAM, nhưng VPS 2 GB sẽ có thêm khoảng trống cho Linux, Docker, reverse proxy và các bản cập nhật. Dung lượng đĩa chủ yếu được dùng cho ảnh và bản sao lưu.
| Kịch bản | CPU | RAM | Đĩa |
|---|---|---|---|
| Cơ sở dữ liệu cá nhân với SQLite | 1 vCPU | 1 GB | SSD 10–20 GB |
| Gia đình, HTTPS và các container khác | 1–2 vCPU | 2 GB | SSD từ 20 GB |
| PostgreSQL hoặc nhiều người dùng | 2 vCPU | 2–4 GB | SSD từ 20 GB |
Đây là các giá trị khởi đầu thực tế, không phải mức tối thiểu chính thức bắt buộc. Nếu AI chạy qua API bên ngoài, việc tính toán không được thực hiện trên VPS. Tài nguyên cho mô hình cục bộ phải được tính riêng.
SQLite hay PostgreSQL?
SQLite đơn giản hơn và được tài liệu Mealie khuyến nghị cho 1–20 người dùng với ít thao tác đồng thời. Với bản cài đặt cá nhân hoặc gia đình, đây thường là lựa chọn tốt nhất để bắt đầu.
Nên chọn PostgreSQL khi tải đồng thời cao, cần tìm kiếm mờ hoặc dữ liệu được lưu trên bộ nhớ gắn mạng. SQLite không được khuyến nghị trên NAS vì có thể xảy ra khóa cơ sở dữ liệu và hỏng dữ liệu.
Cài đặt Mealie trên VPS bằng Docker Compose
Ví dụ dưới đây sử dụng SQLite. Docker Engine và Docker Compose phải được cài sẵn trên máy chủ. Hệ thống Ubuntu hoặc Debian 64-bit trên amd64 hoặc arm64 đều phù hợp.
1. Tạo thư mục
sudo mkdir -p /opt/mealie
cd /opt/mealie
sudo nano docker-compose.yml2. Thêm cấu hình
services:
mealie:
image: ghcr.io/mealie-recipes/mealie:v3.24.0
container_name: mealie
restart: unless-stopped
ports:
- "9925:9000"
deploy:
resources:
limits:
memory: 1000M
volumes:
- mealie-data:/app/data/
environment:
ALLOW_SIGNUP: "false"
PUID: "1000"
PGID: "1000"
TZ: "Etc/UTC"
BASE_URL: "https://recipes.example.com"
volumes:
mealie-data:Thay TZ và BASE_URL bằng giá trị của bạn. Tính đến ngày 29 tháng 8 năm 2026, bản phát hành hiện tại là v3.24.0. Trước khi cài đặt, hãy kiểm tra phiên bản mới nhất và dùng tag cụ thể thay vì latest để bản cập nhật không xảy ra ngoài dự kiến.
3. Khởi động Mealie
sudo docker compose up -d
sudo docker compose psMở http://SERVER_IP:9925. Thông tin đăng nhập mặc định là [email protected], còn mật khẩu là MyPassword. Hãy đổi thông tin quản trị ngay lập tức.
4. Bật HTTPS
Để truy cập lâu dài, hãy kết nối tên miền, đặt Nginx, Caddy hoặc Traefik phía trước Mealie và cấp chứng chỉ TLS. Sau đó, bind port vào localhost:
ports:
- "127.0.0.1:9925:9000"Nếu dịch vụ chỉ cần dùng tại nhà, bạn có thể không công khai nó trên internet và truy cập qua VPN.
Cấu hình gì sau khi khởi chạy?
Đổi mật khẩu, bảo đảm đăng ký mở đã tắt và tạo tài khoản cho các thành viên gia đình. Sau đó thêm vài thẻ đơn giản—chẳng hạn “nhanh”, “phù hợp cấp đông” và “bữa tối”. Cấu trúc quá phức tạp chỉ gây vướng víu lúc đầu.
Nhập một số công thức thực tế, kiểm tra khẩu phần và đơn vị đo, thêm món vào trình lập kế hoạch rồi tạo danh sách mua sắm đầu tiên. Nhờ đó, bạn hiểu quy trình chính của Mealie chỉ trong một buổi tối.
Bảo mật và sao lưu
Bản cài đặt công khai cần mật khẩu mạnh, HTTPS, đóng đăng ký và cập nhật thường xuyên. Tài liệu cũng cảnh báo riêng về các phương thức API nhập URL: nếu không giới hạn tốc độ yêu cầu, chúng có thể tạo tải không cần thiết. Tốt nhất nên cấu hình giới hạn tốc độ trên reverse proxy.
Vì thao tác nhập khiến container kết nối tới các địa chỉ bên ngoài, Mealie nên được tách khỏi các dịch vụ nội bộ trong mạng gia đình nhạy cảm.
Bảng quản trị có thể tạo, tải xuống và khôi phục bản sao lưu đầy đủ. Tuy nhiên, Mealie không còn thực hiện sao lưu theo lịch tự động. Với SQLite, sao chép toàn bộ volume /app/data sang bộ nhớ bên ngoài cũng an toàn hơn. Bản sao lưu trên cùng VPS sẽ không bảo vệ bạn nếu máy chủ bị mất.
Giới hạn của Mealie
Việc nhập phụ thuộc vào đánh dấu của website, vì vậy một số thẻ công thức phải được sửa thủ công. Việc nhân khẩu phần cũng có thể mắc lỗi nếu công thức gốc dùng văn bản tự do thay vì đơn vị chuẩn.
Ứng dụng chính là giao diện web. Nó hoạt động tốt trên trình duyệt di động, nhưng các ứng dụng native được phát triển riêng. Ngoài ra, chủ sở hữu tự chịu trách nhiệm về Docker, HTTPS, cập nhật và sao lưu.
Mealie đặc biệt hiệu quả như một quy trình liên tục: lưu công thức bạn tìm thấy, lên lịch cho một ngày và nhớ mua nguyên liệu.
Mealie trên VPS của tropic.host
Máy chủ gia đình phù hợp nếu chạy liên tục và đã được cấu hình truy cập từ xa. VPS thuận tiện hơn khi công thức và danh sách mua sắm cần sẵn sàng ở mọi nơi mà không phải chuyển tiếp port qua router gia đình.
Với bản cài đặt gia đình, bạn có thể dùng VPS Linux của tropic.host với 2 GB RAM. Mức này đủ cho Mealie, Docker và reverse proxy với khoảng trống hợp lý. Bạn có thể bắt đầu với SQLite rồi tăng tài nguyên hoặc chuyển sang PostgreSQL khi tải tăng.
VPS không thay thế sao lưu: cơ sở dữ liệu và ảnh công thức nên được xuất riêng theo định kỳ.
Kết luận ngắn
Mealie lưu công thức ở định dạng gọn gàng, giúp lập kế hoạch bữa ăn và gộp nguyên liệu thành danh sách mua sắm chung. Tính năng mạnh nhất là nhập từ liên kết, còn truy cập gia đình, trình lập kế hoạch và các tích hợp biến thư viện thành công cụ hằng ngày.
Với cá nhân hoặc gia đình, VPS nhỏ, Docker và SQLite là đủ. Đổi lại, bạn cần theo dõi cập nhật, HTTPS và bản sao lưu.
Câu hỏi thường gặp
Mealie có miễn phí không?
Có. Dự án được phân phối theo giấy phép AGPL-3.0. Có thể phát sinh chi phí cho VPS, tên miền và các yêu cầu AI bên ngoài.
Có thể nhập công thức từ website tiếng Nga không?
Có, nếu trang có đánh dấu công thức rõ ràng. Chất lượng phụ thuộc vào website; lỗi có thể được sửa thủ công hoặc bằng tính năng nhập có AI hỗ trợ.
Mealie cần bao nhiêu RAM?
Với bản cài đặt SQLite nhỏ, bạn có thể bắt đầu từ 1 GB. Với VPS chạy Linux, reverse proxy và các container khác, 2 GB sẽ thực tế hơn.
Có bắt buộc phải có tên miền không?
Không. IP là đủ trong mạng cục bộ hoặc qua VPN. Để truy cập an toàn từ internet, tên miền và HTTPS thuận tiện hơn.
Nên chọn SQLite hay PostgreSQL?
SQLite đơn giản hơn và phù hợp với hầu hết bản cài đặt từ 1–20 người dùng. PostgreSQL tốt hơn khi tải đồng thời cao, lưu trữ trên NAS hoặc cần tìm kiếm mờ.
