EverShelfとは
EverShelfは、パントリーに何があり、いつ期限が切れ、次に何を買うべきかを記録するセルフホスト型のWebアプリケーションです。 READMEは「self-hosted pantry manager — inventory, barcode scan, AI recipes, less waste」と紹介しています。PHPとSQLiteデータベース、シングルページのフロントエンドで作られ、コードはMITライセンスのオープンソースです。
READMEにはStimpfl Daniel氏(GitHub:dadaloop82)1名が記載され、協力者を募っています。Joshumi Technologiesの無関係なiOSアプリが同じ名前を使っていますが、READMEは関係がないと明記しています。
入手方法
EverShelfは自分でインストールするサーバーです。文書化されている方法はDocker Composeで、スマートフォンやタブレットからはブラウザまたはAndroidキオスクアプリでアクセスします。
サーバー(Docker Compose)
- 入手方法:
- READMEのクイックスタート:リポジトリをクローンし、.env.exampleを.envにコピーして、docker compose up -dを実行
ブラウザとスマートフォン
- 入手方法:
- サーバーのアドレスをブラウザで開きます(付属のcomposeファイルではポート8080)。スマートフォンではホーム画面に追加
Androidキオスクタブレット
- 入手方法:
- evershelf-kiosk.apk(バージョン1.7.24、Android 7.0以降)
Unraid
公式サイト
- 入手方法:
- evershelf.site
プライバシーに関する記載
- 入手方法:
- evershelf.site のPrivacyセクション:トップページ上の短い説明で、独立したポリシー文書は見つかりませんでした
ソースコード
デモ
- 入手方法:
- evershelf.site/demo。READMEによるとAIも含まれます
確認したバージョン:v1.16.16。GitHubのリリースによると2026年10月25日に公開され、リポジトリの最終更新は2026年11月1日です。導入にはターミナル、Docker、手作業で編集する.envファイルが必要で、ダブルクリックでインストールできるタイプではなく開発者向けの構成です。GitHubのリリース一覧にあるのはAndroidキオスクのAPKだけです。
動作要件
情報源にはRAMやCPUの最小要件がありません。記載されている条件は、DockerまたはPHP 8.0以上、スキャン用のカメラ、AI用のプロバイダーキーまたはLlamaサーバーです。
サーバー
- 情報源の記載:
- Docker Compose、またはリポジトリのルートを指すPHP 8.0以上のWebサーバー(書き込み可能なdata/フォルダー付き)
ストレージ
- 情報源の記載:
- データボリューム内のSQLiteデータベース。内蔵バックアップも同じボリュームに保存されるため、別の場所にコピーしてください
メモリとCPU
- 情報源の記載:
- 確認した情報源には記載なし
カメラ
- 情報源の記載:
- バーコードのスキャンはブラウザ経由で端末のカメラを使用(Wikiによると QuaggaJS)
キオスク
- 情報源の記載:
- Android 7.0(API 24)以降。Bluetoothキッチンスケールへの対応は任意
AI
- 情報源の記載:
- GeminiまたはOpenAIのAPIキー、またはOllama、llama.cpp、vLLMなどOpenAI互換のLlamaサーバーのアドレス
ネットワーク
- 情報源の記載:
- 信頼できる家庭内ネットワーク向け。インターネットからアクセスする場合、セキュリティポリシーは独自の認証レイヤーを前提としています
これらの項目はREADME、Wiki、SECURITY.mdによるものです。PromptQuorumはリソース使用量を測定していません。
始め方
以下の手順はプロジェクトのREADMEに沿ったもので、PromptQuorumは実行していません。
- 1コードと設定テンプレートを取得する
Why it matters: リポジトリをgit cloneし、プロジェクトのフォルダーで.env.exampleを.envにコピーします。 - 2AIの設定を選ぶ
Why it matters: .envでAI_ENABLED=falseにするとAIなしで使えます。AIを使う場合はAI_PROVIDERをgemini、openai、llamaのいずれかにし、対応するキーまたはベースURLを追加します。 - 3コンテナを起動する
Why it matters: docker compose up -dを実行し、http://localhost:8080を開きます。後で更新する際は、READMEにdocker compose pullに続けてdocker compose up -dと記載されています。 - 4端末をペアリングする
Why it matters: API_TOKENを設定している場合、Web画面で一度きりのペアリングコードが求められます。コードはペアリング済みの端末の設定、システム、セキュリティ、またはサーバーのログに表示されます。
主な機能
以下はすべてプロジェクトのREADMEまたはWikiの記載であり、PromptQuorumは一つも検証していません。
- 在庫管理。 バーコードのスキャン、保管場所、賞味期限、開封済みの商品、お気に入り、CSVのインポートとエクスポート。
- 買い物。 食品ロスを減らす数量を提案するスマート買い物リスト、手持ちを差し引いて不足分を追加するレシピ連携、任意のBring!同期。
- 料理。 音声読み上げ、タイマー、食品ロス削減のヒントを備えた手順付きレシピ。
- アラートとカレンダー。 ntfy、JSON Webhook、Home Assistantによる期限通知と、GoogleカレンダーやAppleカレンダー向けのICSフィード。
- 連携。 REST API、MCPサーバー、別リポジトリのHome Assistant連携、Fuel ModeつきのHealth Bridge、Bluetoothスケールのゲートウェイを備えたAndroidキオスク。
AI機能と実行場所
AIプロバイダーは同時に一つだけ有効で、.envで選びます。Gemini、OpenAI、または自分で運用するOpenAI互換エンドポイントの「llama」で、AIをオフにすることもできます。
- 商品の認識。 AIはカメラの写真から商品を識別し、Geminiのキーがあれば、他の検索で見つからないバーコードについても問い合わせられます。
- 賞味期限。 AIがラベルの写真を読み取り、期限欄に入力します。
- レシピとチャット。 AIはパントリーにあるものからレシピを作り、チャットも提供します。レシピは連携したMealieインスタンスから取得することもできます。
- プロバイダー。 設定例には、Gemini、ベースURLとモデルを変更できるOpenAI、Ollama・llama.cpp・vLLM向けのLlamaの選択肢が記載されています。WikiはAI機能をGeminiを前提に説明しており、どれがローカルモデルで動くかは書かれていません。
- コスト管理。 設定例にはGeminiの分類呼び出しの1日あたり上限があり、トークンコストの概算も出せます。
データの流れとプライバシー
公式サイトは、在庫と履歴は端末または自宅のサーバーに残り、AIは任意で、テレメトリーはないと説明しています。 アーキテクチャのメモにはdataフォルダー内のSQLiteデータベースが記され、セキュリティポリシーは信頼できる家庭内ネットワークを前提にしています。
情報源に挙げられている外部への通信は、選んだAIプロバイダー(Llamaを選ばない場合はGeminiまたはOpenAI)、未知のバーコード用のOpen Food Facts、価格の概算用のOpen Prices、そしてBring!、ntfy、Google Driveへのバックアップ、PayPalの寄付リンクなどの任意サービスです。エラーレポートは機密情報を伏せたローカルのログに書かれ、GitHubへの送信は二段階目の任意設定です。READMEによると、一度だけ表示されるダイアログは寄付かなしかを選ぶもので、広告は表示されません。公開デモはクラウドのAIを使います。
📌補足: これらはプロジェクトの申告であり、監査の結果ではありません。PromptQuorumはネットワーク通信もソースコードも検査していません。
向いている人
- DockerサーバーやNASを持つセルフホスト派で、プライベートなパントリーと賞味期限の管理を求める人。
- パントリーにあるもので料理する世帯で、共有の買い物リスト、期限アラート、手持ち食材のレシピがほしい人。
- Home Assistantユーザーで、期限や買い物のデータをスマートホームやMCP接続のエージェントで使いたい人。
確認できなかった点
- AIの品質。 商品認識、賞味期限の読み取り、レシピの品質は検証しておらず、どのAI機能がローカルのLlamaモデルで動くかも情報源に書かれていません。
- 成熟度。 プロジェクトは2026年3月に始まり、記載されている開発者は1名です。安定性とセキュリティはPromptQuorumでは評価していません。
- セキュリティ文書。 SECURITY.mdは今もサポート対象を1.7.xとしており、現行のv1.16.16から大きく遅れています。
- データに関する説明。 「テレメトリーなし」「データは自宅に残る」はプロジェクトの説明で、通信は検査していません。
- 必要なハードウェア。 RAMやCPUの最小要件は文書化されておらず、Raspberry Piのような小型機器での速度も確認していません。
競合と代替ツール
ディレクトリには、同じスマートホーム層でもう1件レビューがあります。EverShelfが連携を提供しているHome Assistant内の音声アシスタントです。プロジェクトの公式サイトはGrocy、Mealie、KitchenOwlと比較していますが、これらのパントリー・レシピ管理ツールはディレクトリに掲載されておらず、PromptQuorumはその比較を検証していません。
Home Assistant Assist
- 対応プラットフォーム:
- Home Assistant、Web、iOS、Android
- 価格/ライセンス:
- 無料 / Apache-2.0
- 主な違い:
- スマートホームの音声操作用で、パントリー管理ではない
Home Assistant Assistに関する記事(1件)
各アプリの最新の価格、ライセンス、対応プラットフォームは、それぞれの公式ページで確認してください。
よくある質問
EverShelfはローカルLLMですか?
いいえ。PHPで書かれたパントリー管理アプリで、AIはGemini、OpenAI、または自分で運用するLlamaサーバーに任せます。公式サイトによると、パントリー機能はAIなしでも動作します。
データのバックアップはどうしますか?
リリースノートによると、毎日データベースのスナップショットとしてバックアップが作られますが、保存先はデータボリューム内なので、ボリュームの外へ自分でコピーする必要があります。
Home AssistantやAIエージェントと連携できますか?
リポジトリにはHome Assistant連携(ha-evershelf)とエージェント向けMCPサーバーへのリンクがあります。PromptQuorumはどちらも検証していません。
スマートフォンやタブレットで使えますか?
ブラウザで開いてホーム画面に追加でき、Androidキオスクアプリは壁掛けタブレット向けです。公式サイトとREADMEには、App StoreやGoogle Playのページへのリンクはありません。
どの言語に対応していますか?
READMEにはイタリア語、英語、ドイツ語、フランス語、スペイン語、中国語が挙げられ、?lang=deのようなリンクの言語でアプリが開きます。言語を追加するには、協力者がtranslations/en.jsonを翻訳します。
総評
EverShelfは、自分で管理するサーバー上で、パントリー、賞味期限、買い物を管理できる、無料で更新も活発な選択肢です。商品の認識、賞味期限ラベルの読み取り、レシピ作成には任意のAIを使えます。一方で、導入にはDockerと手作業で編集する.envファイルが必要で、自前のLlamaサーバーを設定しない限りAIはGeminiまたはOpenAIで動き、プロジェクトは1年未満で、AIとプライバシーに関する説明は確認できませんでした。すでに自宅でサービスを運用している世帯に向いており、ダブルクリックで入れられるアプリや言語モデルのアシスタントを求める方は、ほかを探すのがよいでしょう。
情報源
- EverShelf公式サイト — 機能、FAQ、プライバシーに関する記載。2026年11月1日に確認。
- GitHubのEverShelf — README、リリース、設定例、セキュリティポリシー、コミットの更新状況。2026年11月1日に確認。
- リポジトリ内のEverShelf Wikiページ — 機能、導入方法、AIプロバイダー。2026年11月1日に確認。
- EverShelf AndroidキオスクのREADME — バージョン、必要なAndroidの最低バージョン、ダウンロード。2026年11月1日に確認。
