VPSでMealieを運用:自分専用のレシピ・献立・買い物リスト管理ツール

読了時間 6分
Tropic
VPSでMealieを運用:自分専用のレシピ・献立・買い物リスト管理ツール

Mealie:VPSで運用する自分専用のレシピブック、献立プランナー、買い物リスト

あるレシピはブックマークに、別のレシピはチャットに、3つ目はスクリーンショットに残り、4つ目は広告と長い前置きに埋もれたWebサイトからもう一度探さなければなりません。Mealieなら、それらを1か所にまとめられます。リンクを貼り付けるだけで、材料、手順、写真を含むレシピカードが作成されます。その料理をカレンダーに追加し、必要な食材を共有の買い物リストへ移すこともできます。

以下では、Mealieでできること、どのような人に向いているか、必要なサーバー構成、Docker Composeを使ってVPS上に自分専用のレシピ管理ツールを起動する方法を説明します。

Mealieとは

Mealieは、レシピの保存、食事の計画、買い物リストの管理に使える無料のセルフホスト型アプリケーションです。自分のサーバー上で動作するため、データベースの保存場所、アクセスできる人、バックアップの作成方法を自分で決められます。

インターフェースは、パソコンやスマートフォンのブラウザから開けます。レシピは手動で作成できるほか、Webサイトから取り込み、カテゴリや料理本に整理し、週間メニューへ追加して家族と共有できます。

Mealieと単なるメモフォルダの大きな違いは、各要素が連携していることです。レシピを食事プランに追加し、買い物リストと結び付け、タグで絞り込み、API経由の自動化に利用できます。

Mealieの主な機能

1つのリンクからレシピを取り込む

ユーザーがURLを貼り付けると、Mealieは料理名、分量、材料、手順、画像の抽出を試みます。ブックマークがまた1つ増えるのではなく、編集して保存できる見やすいレシピカードが残ります。

この機能は、レシピの周囲に広告や不要な文章が多いWebサイトで特に便利です。ページが標準的でない構造を使っている場合は、一部のデータを手動で修正する必要があります。

Mealieは、Paprika、Tandoor、Nextcloud Cookbooksをはじめとする複数のレシピ管理ツールからコレクションを移行することもできます。空のライブラリから始める必要はありません。

写真、テキスト、動画から取り込む

オプションのAI連携を使うと、テキスト、料理本のページを撮影した写真、動画リンクからレシピを作成できます。動画の場合、サービスが文字起こしを取得し、そこから材料と調理手順の順序を抽出します。

この機能には、互換性のあるAIプロバイダーが必要です。外部APIのほか、OllamaのようなOpenAI互換サービスを自分で用意して接続することもできます。有効にする前に、リクエスト料金と選択したプロバイダーのデータ処理方針を確認しておきましょう。

献立プランナーと買い物リスト

料理は日付と食事の種類ごとに配置できます。レシピだけでなく、「昨日の残り物」のようなメモや、ルールに基づいて選ばれるランダムな料理も追加できます。たとえば、金曜日は短時間で作れる夕食だけを選ぶといった設定が可能です。

レシピの材料は買い物リストへ移せます。スマートフォンから項目をチェックし、売り場ごとに分類することもできます。そのためMealieは単なる保管庫ではなく、1週間を通して使える実用的なツールになります。

家族での利用と自動化

Mealieには、ユーザー、グループ、世帯という仕組みがあります。家族で共通のレシピコレクションを利用しながら、必要に応じて食事プランや買い物リストを分けて管理できます。

REST API、通知、Webhookを使えば、Mealieを他のシステムと連携できます。たとえば公式のHome Assistant連携では、今後の食事をカレンダーに表示し、買い物リストも利用できます。

Mealieが向いている人

レシピがWebサイト、メモ、写真に散らばっている、献立を毎回ゼロから考えている、複数人で同じ買い物リストを使いたい、自分のデータベースを管理したい、あるいは自動化が必要な場合にMealieは役立ちます。

いつも作る料理が数種類だけで、Dockerの管理もしたくない場合は、機能が多すぎるかもしれません。セルフホストにすれば他社のクラウドアカウントへの依存はなくなりますが、サーバーの更新、保護、バックアップは引き続き必要です。

Mealieに必要なサーバー

公式のDocker Compose構成では、コンテナのメモリ上限が1000 MBに設定されています。小規模な環境なら1 vCPUと1 GB RAMで動かせますが、2 GBのVPSならLinux、Docker、リバースプロキシ、アップデートのための余裕を確保できます。ディスク容量は主に写真とバックアップに使われます。

利用場面CPURAMディスク
SQLiteを使う個人用データベース1 vCPU1 GB10~20 GB SSD
家族利用、HTTPS、ほかのコンテナ1~2 vCPU2 GB20 GB以上のSSD
PostgreSQLまたは多数のユーザー2 vCPU2~4 GB20 GB以上のSSD

これらは実用的な初期値であり、厳密な公式最低要件ではありません。AIを外部API経由で利用する場合、計算処理はVPS上では行われません。ローカルモデルに必要なリソースは別途見積もる必要があります。

SQLiteとPostgreSQLのどちらを選ぶか

SQLiteは構成が簡単で、同時操作が少ない1~20人の環境向けとしてMealieのドキュメントで推奨されています。個人または家族で使う場合は、通常もっとも始めやすい選択肢です。

同時アクセスの負荷が高い場合、あいまい検索が必要な場合、またはデータをネットワークストレージに置く場合はPostgreSQLが適しています。NAS上でSQLiteを使用すると、データベースのロックやデータ破損が発生する可能性があるため推奨されません。

Docker ComposeでMealieをVPSにインストールする

以下の例ではSQLiteを使用します。サーバーにはDocker EngineとDocker Composeがすでにインストールされている必要があります。amd64またはarm64上で動作する64ビット版UbuntuまたはDebianを利用できます。

1. ディレクトリを作成する

sudo mkdir -p /opt/mealie
cd /opt/mealie
sudo nano docker-compose.yml

2. 設定を追加する

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:

TZBASE_URLを自分の環境に合わせて変更してください。2026年8月29日時点の最新リリースはv3.24.0です。インストール前に最新バージョンを確認し、予期しない更新を避けるため、latestではなく具体的なタグを使用してください。

3. Mealieを起動する

sudo docker compose up -d
sudo docker compose ps

http://サーバーIP:9925を開きます。初期ログイン名は[email protected]、パスワードはMyPasswordです。管理者の認証情報はすぐに変更してください。

4. HTTPSを有効にする

継続的にアクセスする場合は、ドメインを割り当て、Mealieの前段にNginx、Caddy、またはTraefikを配置し、TLS証明書を発行します。その後、ポートをlocalhostのみに制限します。

ports:
  - "127.0.0.1:9925:9000"

自宅内だけで使用する場合は、インターネットへ公開せず、VPN経由でアクセスすることもできます。

起動後に設定すること

パスワードを変更し、自由登録が無効になっていることを確認して、家族用のアカウントを作成します。次に、「時短」「冷凍可能」「夕食」など、簡単なタグをいくつか追加します。最初から複雑すぎる構成にすると、かえって使いにくくなります。

実際のレシピをいくつか取り込み、分量と単位を確認し、料理をプランナーへ追加して、最初の買い物リストを作成します。これだけで、Mealieの基本的な使い方を一晩で把握できます。

セキュリティとバックアップ

インターネットに公開する場合は、強力なパスワード、HTTPS、登録の無効化、定期的なアップデートが必要です。ドキュメントでは、URLを取り込むAPIメソッドについても個別に注意が示されています。リクエスト頻度を制限しないと不要な負荷が発生する可能性があるため、リバースプロキシ側でレート制限を設定するのが適切です。

インポート時にはコンテナが外部アドレスへ接続するため、機密性を重視する家庭内ネットワークでは、Mealieを内部サービスから分離することをおすすめします。

管理画面では、完全なバックアップの作成、ダウンロード、復元ができます。ただし、Mealieはスケジュールに基づく自動バックアップを現在は実行しません。SQLiteを使う場合は、/app/dataボリューム全体を外部ストレージへコピーする方法も安全です。同じVPS上に置いたバックアップでは、サーバー自体を失った場合に保護できません。

Mealieの制限

取り込み結果はWebサイトのマークアップに左右されるため、一部のレシピカードは手動で修正する必要があります。元のレシピが標準的な単位ではなく自由記述を使っている場合、材料の分量を拡大・縮小する処理でも誤りが発生することがあります。

主なクライアントはWebインターフェースです。スマートフォンのブラウザでも使いやすい一方、ネイティブアプリは別に開発されています。また、Docker、HTTPS、アップデート、バックアップは所有者自身が管理しなければなりません。

Mealieは、見つけたレシピを保存し、食べる日を決め、材料を買い忘れないという一連の流れで特に力を発揮します。

tropic.hostのVPSでMealieを運用する

常時稼働し、リモートアクセスもすでに設定されているなら、自宅サーバーでも利用できます。一方、家庭用ルーターでポート転送を行わず、どこからでもレシピや買い物リストにアクセスしたい場合はVPSのほうが便利です。

家族向けの環境には、RAM 2 GBのtropic.host Linux VPSを利用できます。Mealie、Docker、リバースプロキシを動かしながら、適度な余裕を確保できます。最初はSQLiteを使い、負荷が増えたらリソースを拡張するかPostgreSQLへ移行できます。

VPSはバックアップの代わりにはなりません。データベースとレシピ写真は、定期的に別の場所へ書き出す必要があります。

まとめ

Mealieはレシピを見やすい形で保存し、献立作成を支援し、必要な食材を共有の買い物リストへまとめます。最大の強みはリンクからの取り込みであり、家族共有、プランナー、各種連携によってレシピライブラリが日常的なツールになります。

個人または家族で使うなら、小規模なVPS、Docker、SQLiteで十分です。その代わり、アップデート、HTTPS、バックアップを継続して管理する必要があります。

FAQ

Mealieは無料ですか?

はい。プロジェクトはAGPL-3.0ライセンスで配布されています。VPS、ドメイン、外部AIへのリクエストには費用がかかる場合があります。

ロシア語のWebサイトからレシピを取り込めますか?

はい。ページに判別しやすいレシピのマークアップが含まれていれば取り込めます。品質はサイトによって異なり、誤りは手動またはAI取り込み機能で修正できます。

MealieにはどのくらいのRAMが必要ですか?

SQLiteを使う小規模な環境なら1 GBから始められます。Linux、リバースプロキシ、ほかのコンテナも動かすVPSでは2 GBのほうが実用的です。

ドメインは必要ですか?

いいえ。ローカルネットワーク内またはVPN経由ならIPアドレスで利用できます。インターネットから安全にアクセスする場合は、ドメインとHTTPSがあると便利です。

SQLiteとPostgreSQLのどちらを選ぶべきですか?

SQLiteは簡単で、1~20人規模の大半の環境に適しています。同時負荷が高い場合、NASに保存する場合、またはあいまい検索が必要な場合はPostgreSQLが適しています。