First commit

This commit is contained in:
CyberRex
2026-07-31 14:39:33 +09:00
commit 38670efd46
103 changed files with 22514 additions and 0 deletions

54
doc/installation.md Normal file
View File

@@ -0,0 +1,54 @@
# ネイティブ版のインストール
## ビルド
Rust 1.85以降と、Web UIを再ビルドする場合のみNode.js/npmを用意します。
```console
cd web
npm ci
npm run typecheck
npm run build
cd ..
cargo build --release --locked -p mirakurun-rs
```
`target/release/mirakurun-rs` はWeb UIを内包した実行ファイルです。本番実行時に
Node.jsやnpmは不要です。
## systemdで起動
以下は管理者権限で実行する例です。既存ファイルを上書きする前に退避してください。
```console
install -Dm755 target/release/mirakurun-rs /usr/local/bin/mirakurun-rs
install -Dm644 dist/mirakurun-rs.service /etc/systemd/system/mirakurun-rs.service
install -Dm644 config/server.yml /etc/mirakurun/server.yml
install -Dm644 config/tuners.yml /etc/mirakurun/tuners.yml
install -Dm644 config/channels.yml /etc/mirakurun/channels.yml
useradd --system --home-dir /var/lib/mirakurun --shell /usr/sbin/nologin \
--groups video mirakurun
systemctl daemon-reload
systemctl enable --now mirakurun-rs
```
チューナーデバイスに別のグループが必要な環境では、`mirakurun` ユーザーへその
補助グループを追加します。外部チューナー・デコーダーコマンドも、このユーザーで
実行できる必要があります。
## 手動起動
任意のディレクトリだけで試す場合は各パスを明示できます。
```console
./target/release/mirakurun-rs \
--server-config ./config/server.yml \
--tuners-config ./config/tuners.yml \
--channels-config ./config/channels.yml \
--services-db ./data/services.json \
--programs-db ./data/programs.json \
--logo-dir ./data/logo-data \
serve
```
Dockerは必須ではなく、現段階では配布対象に含めていません。

19
doc/migration.md Normal file
View File

@@ -0,0 +1,19 @@
# Node.js版からの移行
Rust版はNode.js版と同じYAML設定、JSONデータベース、ロゴデータを読み込む設計です。
移行前にNode.js版を停止し、設定とデータのバックアップを取得してください。同一の
実機チューナーへ両方を同時接続しないでください。
1. Node.js版の `server.yml``tuners.yml``channels.yml` をRust版の設定先へコピーする。
2. `services.json``programs.json``logo-data` をRust版のデータ先へコピーする。
3. 外部コマンドのパスと、実行ユーザーのデバイス権限を確認する。
4. Rust版だけを起動し、`/api/status``/api/services`、短時間のストリームを確認する。
5. 問題がある場合はRust版を停止し、退避した設定・データでNode.js版へ戻す。
設定を更新するとDBのチャンネル整合性値が変わります。移行時は設定とDBを同じ時点の
組として扱ってください。
ARIB EIT/SDTの基本解析、EPG・サービス更新、チャンネルスキャンは実装済みです。
ただしARIB DRCS・追加記号、一部の音声・シリーズ・関連番組記述子、実機での全放送波
試験は未完了です。受信地域とチューナーごとの比較試験を終えるまでは、本番環境への
切り替えを行わないでください。