【Switch】Ownfoilで構築する自分専用Nintendo Switchゲームショップ!Synology NASでの構築・設定手順を完全解説

Switch改造

はじめに

Nintendo Switchでバックアップしたゲームデータ(NSP/XCI)やアップデートファイル、DLCなどを保存していると、ファイル数が増えるにつれて整理や管理が煩雑になりがちです。

NASなどのストレージに保存したゲーム一覧をブラウザから手軽に確認したい場合や、Switch本体からネットワーク経由で直接ライブラリにアクセスしたい場合、一元管理できる仕組みがあると非常に便利です。

そこで活躍するのが、Nintendo Switch向けのセルフホスト型ライブラリ管理ツール 「Ownfoil」 です。

Ownfoilを導入すれば、単にファイルを保存するだけでなく、ライブラリの自動検証・整理・圧縮を行えるほか、TinfoilやSphairaといった対応クライアントから接続できる自分専用の自作ショップ環境を構築できます。

本記事では、Ownfoilの機能概要から、Synology NASの「Container Manager(Docker)」を使った具体的な構築・初期設定手順までわかりやすく解説します。


Ownfoilとは?特徴とできること

Ownfoilは、Nintendo Switchのゲームライブラリをサーバー上で一括管理し、ネットワーク経由で参照可能にするオープンソースのライブラリマネージャーです。

NASに保存された各種ファイルを自動で読み込み、タイトル名、バージョン、アップデート状況、DLCの有無などのメタデータを正確に整理・可視化してくれます。

Ownfoilの主な機能

機能詳細内容
ライブラリの一括表示保存されているゲーム本編、アップデート、DLCを一覧で視覚的に管理
コンテンツの自動識別コンソールキー(prod.keys等)やファイル名からタイトル・バージョンを正確に識別
自動管理・最適化ファイルの整合性検証、フォルダ整理、圧縮(NSZ/XCZ化)を自動実行
マルチクライアント対応Tinfoil、Sphaira、CyberFoilなど主要なSwitchクライアントから接続可能
ショップ環境のカスタマイズクライアント側に表示するメッセージやセクション表示の調整
マルチユーザー・権限管理管理者と一般利用者を分け、アクセス権限を個別に制御可能

単なるファイルサーバー(SMB/FTP等)とは異なり、ゲームライブラリの全体像を把握しながら効率的に管理できるのがOwnfoil最大のメリットです。

ゲーム・アップデート・DLCをまとめて管理

Ownfoilはライブラリ内のファイルを自動で解析し、「ゲーム本編」「アップデート」「DLC」に分類して管理します。

Web管理画面からは「所有しているコンテンツ」だけでなく「不足しているアップデートやDLC」の状態も一目で確認できるため、ライブラリの網羅率を把握する際にも役立ちます。

※注意

ファイルの正確な認識や検証には、ファイル名ルールの統一に加えて、自身のSwitch実機から取得したコンソールキー(prod.keys)が必要になる場合があります。

TinfoilやSphairaなどのクライアントに対応

Ownfoilは、Switch側の対応クライアントからネットワーク経由で接続することで「自分専用のショップ(DLソース)」として機能します。

クライアント名主な特徴・表示形式
Tinfoilショップ形式でライブラリを閲覧・操作。ショップ画面の独自カスタマイズに対応
Sphairaシンプルなフォルダ階層形式で直感的にファイルを閲覧可能
CyberFoilショップ形式での閲覧に対応し、カテゴリー(セクション)別の表示が可能

クライアントごとの具体的な接続設定方法は、Ownfoil管理画面内の「Setup」ページでいつでも確認できます。


Synology NAS(Container Manager)へのOwnfoil構築手順

ここからは、Synology NASの「Container Manager」を使用してOwnfoilを構築する手順を解説します。

Ownfoilは公式Dockerイメージが提供されているため、ソースコードからのビルド作業は不要です。

  • 使用するDockerイメージ: a1ex4/ownfoil:latest

手順1:NAS内に必要なフォルダを作成する

まず、Ownfoilの設定ファイル用フォルダと、ゲームライブラリを保存するフォルダを作成します。

【フォルダ構成例】

/volume1/docker/ownfoil/
├── docker-compose.yml
├── config/
└── data/

/volume1/SwitchLibrary/   ← 実際のゲーム保存先共有フォルダ
├── ゲーム本編ファイル (.nsp / .xci)
├── アップデートファイル
└── DLCファイル
フォルダパス用途
/volume1/docker/ownfoil/configOwnfoilの設定ファイル保存先
/volume1/docker/ownfoil/dataタイトル情報やキャッシュデータの保存先
/volume1/SwitchLibrary管理対象のゲームライブラリ(既存の共有フォルダを指定)

※/volume1/SwitchLibrary は環境に応じた実際の共有フォルダパスへ読み替えてください。

手順2:docker-compose.ymlを作成する

File Stationやテキストエディタを使い、/volume1/docker/ownfoil/docker-compose.yml を作成して以下の内容を記述します。

services:
  ownfoil:
    container_name: ownfoil
    image: a1ex4/ownfoil:latest
    restart: unless-stopped
    network_mode: bridge
    environment:
      # NASの実行ユーザー権限に合わせて変更
      PUID: "1000"
      PGID: "1000"

      # 初回起動時の管理者アカウント設定
      USER_ADMIN_NAME: "admin"
      USER_ADMIN_PASSWORD: "CHANGE_ME_TO_A_LONG_RANDOM_PASSWORD"

    volumes:
      - /volume1/SwitchLibrary:/games
      - ./config:/app/config
      - ./data:/app/data

    ports:
      - "8465:8465"

手順3:docker-compose.ymlの設定ポイント解説

設定ファイルの重要項目をあらかじめ確認しておきましょう。

1. 管理者パスワード設定

USER_ADMIN_PASSWORD には、推測されにくい十分な長さのパスワードを設定してください。デフォルトの文字列のまま起動しないよう注意しましょう。

2. PUID / PGID(実行権限)の設定

コンテナがNAS上のファイルにアクセスするためのユーザーID(PUID)とグループID(PGID)です。

※設定例の 1000 / 1000 は環境によって異なります。SSHでNASに接続し、使用するDSMユーザーで id コマンドを実行して正確な数値を確認・設定してください。権限が不足していると、ファイルの読み書きエラーが発生します。

3. ボリュームマウント(パスの関連付け)

volumes:
  - /volume1/SwitchLibrary:/games

コロンの左側がNAS上の実用パス、右側がコンテナ内部での認識パスです。

Ownfoilの管理画面からライブラリパスを設定する際は、NASのパスではなくコンテナ内パスである /games を指定します。

4. ポート設定

デフォルトではポート 8465 を使用します。他のサービスと衝突している場合は、左側のポート番号(例: "8500:8465")に変更してください。

手順4:Container Managerからプロジェクトを起動する

  1. DSMの 「Container Manager」 を開きます。
  2. 左メニューの 「プロジェクト」 を選択し、「作成」 をクリックします。
  3. 以下の各項目を設定します:
    • プロジェクト名:ownfoil(任意の分かりやすい名称)
    • パス:/docker/ownfoil
  4. 既存の docker-compose.yml を使用するか訊かれるので、そのまま「OK」をクリックします。
  5. 全般設定画面が表示されたら内容を確認して「次へ」をクリックします。
  6. Webポータル設定は不要なためそのまま「次へ」をクリックします。
  7. 設定サマリーを確認し、「完了」 をクリックします。
  8. プロジェクトの作成完了と同時に、コンテナのビルドおよびコマンド実行が自動開始されます。

コンテナのステータスが「実行中」になれば起動完了です。問題が発生した場合は「ログ」タブからエラー内容を確認してください。


Ownfoilの初期設定

コンテナ起動後、ブラウザからOwnfoilにアクセスして初期設定を行います。

1. Web管理画面へアクセスする

Webブラウザを開き、以下のURLにアクセスします。


http://[NAS
のIPアドレス]:8465

(例: NASのIPが 192.168.1.100 の場合は

(http://192.168.1.100:8465))

2. 管理者アカウントの確認

docker-compose.yml で指定した USER_ADMIN_NAME と USER_ADMIN_PASSWORD を使ってログインできるか確認します。

※認証を無効化するとLAN内の誰でも管理画面を変更できてしまうため、必ず管理者認証を有効にした状態を維持してください。

3. コンソールキー(keys)を登録する

ゲームファイルの正確な識別や検証を行うため、コンソールキーを設定します。

  1. 管理画面の 「Admin」 > 「Settings」 を開きます。
  2. 「Titles」 セクションにあるキー設定項目を確認します。
  3. 「ファイルを選択」をクリックし、自身のSwitch実機からダンプした prod.keys を選択して、「Submit」をクリックします。
    ※prod.keys の抽出方法については、こちらの記事をご参照ください。
  4. 正常に登録できれば、「Keys are valid!」のメッセージが表示されます。

キーを登録することで、ファイル名のみでは判断しにくいコンテンツも正確に認識されるようになります。

4. 自動整理・圧縮機能の設定

Ownfoilにはライブラリの自動整理やデータ圧縮機能が搭載されています。

ただし、意図しないファイルの変更や削除を防ぐため、初期状態ではこれらの機能は無効になっています。

まずは標準の状態で正しくファイルが読み込まれるか確認し、運用に慣れてから必要に応じて有効化してください。特に圧縮機能を有効にする際は、事前に重要ファイルのバックアップを取得しておくことを強く推奨します。

5. ライブラリの表示

  1. 今回の構成では、コンテナ内パスである /games 内のファイルが自動的にスキャンされます。
  2. スキャンが完了すると、各タイトルがライブラリに表示されます。

Ownfoilは .nsp, .nsz, .xci, .xcz フォーマットに対応しています。ファイル数が多い場合、初回のスキャン完了まで時間がかかることがあります。


Ownfoil運用時の注意点とセキュリティ対策

アクセス権限の徹底(管理者・ユーザーの分離)

Ownfoilはマルチユーザー管理に対応しています。

設定変更やタスク実行が可能な「管理者アカウント」と、閲覧・接続のみを行う「一般ユーザーアカウント」を明確に分け、普段使いのクライアント接続用には必要最小限の権限を与えたアカウントを使用しましょう。

外部公開(WANアクセス)時の注意点

Ownfoilを自宅外(インターネット経由)からアクセスできるようにする場合は、慎重なセキュリティ設計が必要です。

  • 裸のHTTPポートをそのまま開放(ポート開放)することは避け、Reverse Proxy(リバースプロキシ)+ HTTPS化 を徹底してください。
  • 可能であれば、TailscaleやWireGuardなどのVPNを経由して自宅ネットワークに接続する構成を推奨します。

著作権法遵守・ファイル取り扱いの注意

Ownfoilは自ら所有するバックアップファイルを個人で管理・閲覧するためのツールです。

著作権で保護されたゲームデータやコンソールキーを、権利者の許可なく第三者へ公開・配信する行為は違法となります。作成したショップ環境は、必ず個人・家庭内利用の範囲にとどめて運用してください。


おわりに

今回は、Nintendo Switchの自作ライブラリ管理ツール「Ownfoil」の概要と、Synology NAS(Container Manager)での構築・運用手順を解説しました。

Ownfoilを導入すれば、NASに保存したゲーム本編・アップデート・DLCを一括で視覚的に整理できるだけでなく、SwitchのTinfoil等から接続して自分専用のネットワークショップとして活用できるようになります。

Synology NASとDocker環境があれば手軽に導入可能ですので、ゲームライブラリの管理に悩んでいる方は、ぜひ本記事を参考に構築してみてください。

関連記事:【Switch】CFW完全ガイド|導入手順から必須ツール・活用法まで徹底解説

コメント