UNPKG

mirakurun

Version:

DVR Tuner Server for Japanese TV.

232 lines (180 loc) 6.48 kB
[**English**](Platforms.md) | [**日本語**](Platforms.ja.md) # プラットフォーム / 環境構築手順 ## 概要 **太字**が推奨環境です。 - [**Docker on Linux**](#docker-on-linux) - [Docker Engine](https://docs.docker.com/engine/install/) `>=20.10.0` - **x64** / arm32v7 / **arm64v8** - **Ubuntu Server 24.10** / 他 - ⚠️注意: デスクトップ環境 / VM (仮想マシン) はサポートせず、不安定です! - [Linux + PM2 (レガシー)](#linux--pm2-レガシー) - [Node.js](https://nodejs.org/en/download) `^18 || ^20 || ^22` - [PM2](https://pm2.keymetrics.io/) ## Docker on Linux ### ⚠️注意 - ⚠️デスクトップ環境 / VM はサポートしていません。重大なパフォーマンス問題により信頼性が低下します。 - ⚠️ホストに `pcscd` がインストールされている場合、コンテナ内の `pcscd` と競合しますので、**無効化**してください。 - ホストの `pcscd` を使う場合: - 環境変数 `DISABLE_PCSCD=1` を設定するとコンテナ内の `pcscd` が無効になります。 - `/var/run/pcscd/pcscd.comm:/var/run/pcscd/pcscd.comm` をマウントしてください。 ### 🍱準備: DVB を使用する場合 - 使用するチューナーが DVB ドライバーに対応していれば、最も手軽です。 - チューナー設定が空の状態でセットアップコマンドを走らせると、チューナーが自動的に検出・保存されます。 - 録画コマンドの用意が不要です。 - 下記のチューナーは大抵 Linux カーネルに含まれていますが、ラズパイ向け等の一部軽量ディストリビューションではビルドが必要です。それぞれ必要なモジュールを有効にしてビルドしてください。 - PT1, PT2: `earth-pt1` - PT3: `earth-pt3` - PX-S1UD: `smsusb` - 他 (動作報告があれば追記します) ```sh # DVB デバイスの認識を確認 ls -l /dev/dvb ``` ### 🍱準備: chardev を使用する場合 - DVB を使用できない場合、従来方式の chardev を使用できます。 #### startup スクリプトで、コンテナ初回起動時にビルドする例 ```sh # startup スクリプトでビルドする例 mkdir -p /opt/mirakurun/opt/bin vim /opt/mirakurun/opt/bin/startup # 例 ↓ chmod +x /opt/mirakurun/opt/bin/startup ``` #### `/opt/mirakurun/opt/bin/startup`: ```bash #!/bin/bash if !(type "recpt1" > /dev/null 2>&1); then apt-get update apt-get install -y --no-install-recommends git autoconf automake mkdir /buildwork cd /buildwork git clone https://github.com/stz2012/recpt1.git cd recpt1/recpt1 ./autogen.sh ./configure --prefix /opt make make install rm -rf /buildwork fi recpt1 -v ``` ```sh # 下記コマンドで startup スクリプトの実行・確認ができます (サーバーは起動しません) docker compose run --rm -e SETUP=true mirakurun ``` #### static build を使用する例 ```sh # 共有ライブラリに依存しない場合 cp /usr/local/bin/something-static /opt/mirakurun/opt/bin/ ``` ### ⚡Docker Engineのインストール ```sh # 新しいマシンの場合 curl -sSL https://get.docker.com/ | CHANNEL=stable sh ``` ### ⚡インストール / アンインストール / アップデート ```sh # 作成: /opt/mirakurun/ sudo mv -vf /usr/local/mirakurun /opt/mirakurun sudo mkdir -p /opt/mirakurun/run /opt/mirakurun/opt /opt/mirakurun/config /opt/mirakurun/data # インストール mkdir ~/mirakurun/ cd ~/mirakurun/ wget https://raw.githubusercontent.com/Chinachu/Mirakurun/refs/heads/release/4.0.0/docker/docker-compose.yml docker compose pull docker compose run --rm -e SETUP=true mirakurun docker compose up -d # アンインストール cd ~/mirakurun/ docker compose down --rmi all # アップデート cd ~/mirakurun/ docker compose down --rmi all docker compose pull docker compose up -d ``` ### ⚡起動 / 停止 / 再起動 ```sh cd ~/mirakurun/ # 起動 docker compose up -d # 停止 docker compose down # 再起動 docker compose up -d --force-recreate ``` ### ⚡ログ ```sh cd ~/mirakurun/ docker compose logs [-f] ``` ### ⚡設定 - 主要な設定は Web UI から変更できます - 全ての設定は [Configuration.md](Configuration.ja.md) を参照してください ``` vim /opt/mirakurun/config/server.yml vim /opt/mirakurun/config/tuners.yml vim /opt/mirakurun/config/channels.yml ``` ### 💡主なファイルパス (コンテナ) - ソケット: `/var/run/mirakurun.sock` - 設定: `/app-config/` - `server.yml` - `tuners.yml` - `channels.yml` - データ: `/app-data/` - `services.json` - `programs.json` - Opt: `/opt/` - `bin/` - `bin/startup` - カスタム起動スクリプト (オプション) ### 💡主なファイルパス (ホスト) *変更可能 - ソケット: `/opt/mirakurun/run/mirakurun.sock` - 設定: `/opt/mirakurun/config/` - `server.yml` - `tuners.yml` - `channels.yml` - データ: `/opt/mirakurun/data/` - `services.json` - `programs.json` - Opt: `/opt/mirakurun/opt/` - `bin/` - `bin/startup` - カスタム起動スクリプト (オプション) ## Linux + PM2 (レガシー) この方法は推奨されませんが、一部の古いユースケースの為に残されています。 PM2 に特別対応するコードはすでに削除されており、エクスペリエンスは低下します。 ```sh # 新規 git clone git@github.com:Chinachu/Mirakurun.git cd Mirakurun git submodule update --init --recursive npm install npm run build npm install pm2 -g pm2 startup # 起動 pm2 start processes.json pm2 save # 停止 pm2 stop processes.json pm2 save # アップデート git pull npm run clean npm run build pm2 restart processes.json # アンインストール pm2 delete processes.json pm2 save ``` ### 💡主なファイルパス - ソケット: `/var/run/mirakurun.sock` - 設定: `/usr/local/etc/mirakurun/` - `server.yml` - `tuners.yml` - `channels.yml` - データ: `/usr/local/var/db/mirakurun/` - `services.json` - `programs.json` - ログ: `/usr/local/var/log/` - `mirakurun.stdout.log` - 通常のログ - `mirakurun.stderr.log` - エラーログ