0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

非力RaspberryPiZeroシリーズでもメディアサーバはできる

Posted at

はじめに

非力なRaspberryPiZeroシリーズでなんとかメディアサーバを作ってみました。まず今回の要求事項ですが。

  • WEBブラウザから写真の閲覧と音楽再生ができること
  • DLNAを使用してVLCなどのクライアントから音楽をストリーミング再生できること

もちろんこれらの機能はフルスケールのメディアサーバ、例えばJellyfinなどでは楽勝に達成できる内容である。しかしながら非力なRaspberryPiZeroシリーズではこれらのメディアサーバは負荷が大きく動作が難しい。そこで今回は軽量動作が可能な次の2つのプロダクトを使用して機能を実現させた。

  • MiniDLNA
  • FileBrowser

なお、今回使用したハードウェアはRaspberryPiZero2Wである。

手順

  1. ベースシステムの準備

    • Raspberry Pi Imager で Raspberry Pi OS Lite をSDカードに書き込み
    • ssh と Wi-Fi 設定を有効にして起動
    • ホスト名・パスワードなど初期設定を実施
  2. zramのインストール

    bash
    sudo apt update
    sudo apt install -y zram-tools
    

    設定内容の編集

    bash
    sudo nano /etc/default/zramswap
    
    ALGO=lz4
    PERCENT=50
    PRIORITY=100
    

    zram再起動

    bash
    sudo systemctl restart zramswap.service
    

    なお、zramとはなんぞやは以前の記事なども参照してほしい。

  3. MiniDLNA のインストールと設定
    インストールと自動起動設定

    bash
    sudo apt install -y minidlna
    sudo systemctl enable minidlna
    

    メディアフォルダの作成と設定

    bash
    sudo mkdir -p /var/lib/minidlna/photo
    sudo mkdir -p /var/lib/minidlna/music
    sudo chown -R minidlna:minidlna /var/lib/minidlna
    

    コンフィグファイルの修正(任意)
    ※今回私はデフォルトのままにした

    bash
    sudo nano /etc/minidlna.conf
    

    サービス再起動

    bash
    sudo systemctl restart minidlna
    
  4. FileBrowser のインストールと設定
    ダウンロード&配置

    bash
    curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash
    sudo mv filebrowser /usr/local/bin/
    

    初回起動とユーザー作成

    bash
    filebrowser -d /var/lib/filebrowser.db config init
    # 初回 config init 時、admin ユーザーが自動作成され、ログに表示されるランダムパスワードでログインできます。ユーザー追加で任意アカウントを作成可能です。
    filebrowser -d /var/lib/filebrowser.db users add "あなたのユーザID(filebrowserのユーザ)" "あなたのパスワード(filebrowserのユーザ)" --perm.admin
    

    キャッシュディレクトリとルート設定

    bash
    sudo mkdir -p /var/lib/filebrowser/cache
    filebrowser -d /var/lib/filebrowser.db config set --cache-dir /var/lib/filebrowser/cache
    filebrowser -d /var/lib/filebrowser.db config set --scope /var/lib/minidlna
    

    MiniDLNA のメディアパスと File Browser を連携

    bash
    filebrowser -d /var/lib/filebrowser.db config set --scope /var/lib/minidlna
    

    systemd 登録

    bash
    sudo nano /etc/systemd/system/filebrowser.service
    
    [Unit]
    Description=File Browser
    After=network.target
    
    [Service]
    User=あなたのユーザ名(実行するOSのユーザ)
    ExecStart=/usr/local/bin/filebrowser -d /var/lib/filebrowser.db --cache-dir /var/lib/filebrowser/cache -a 0.0.0.0
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

    有効化と起動

    bash
    sudo systemctl daemon-reload
    sudo systemctl enable filebrowser
    
  5. File Browser アップロード権限の修正
    ユーザーを minidlna グループに追加

    bash
    sudo usermod -aG minidlna あなたのユーザ名(実行するOSのユーザ)
    
  6. 動作確認

    • WEBブラウザでhttp://<RaspberryPiのIP>:8080にアクセス。ログインしテストファイルなどアップロードできるか確認
    • MiniDLNA(DLNAクライアントで認識できるか確認)

注意点

  • File Browserで初回接続時ファイルのサムネイルを作成するのに時間がかかり負荷が高い。1度サムネイルができてしまえばキャッシュされるので問題なし

それでは、良きラズパイライフを!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?