Skip to content

A cron rule generator for scheduled TV recording with mirakc/Mirakurun

License

Notifications You must be signed in to change notification settings

maeda577/miracron

Repository files navigation

miracron

これは何

mirakc/Mirakurunの放送を定期録画するツールです。番組情報からcronルールを生成し、それに従ってwgetすることで定期録画を行います。

必要なもの

  • mirakc/Mirakurunが動いているホスト
  • DockerとDocker-composeが入っているホスト

インストール方法

インストール作業により以下2つのコンテナが作成されます。詳細はdocker-compose.ymlを参照してください。

  1. cronルールをもとにmirakc/Mirakurunへwgetするコンテナ
  2. 録画データを見るためのsambaコンテナ
    • smbdのみ動いています。nmbdが止まっているためホスト名でのアクセスはできません。IPアドレスでアクセスしてください。
# 適当な作業フォルダを作成 (インストール完了後も使い続けるため消さないこと)
mkdir ~/miracron
cd ~/miracron
# 設定サンプルのダウンロード
curl --output config.yml https://raw.githubusercontent.com/maeda577/miracron/main/config-sample.yml
curl --output docker-compose.yml https://raw.githubusercontent.com/maeda577/miracron/main/docker-compose.yml

# 録画ルールの編集
vi config.yml
# Docker関連の設定 (気になる所が無ければ飛ばしてもOK)
vi docker-compose.yml

# イメージのビルドとコンテナ起動
sudo docker-compose up --detach

# 録画スケジュール確認
sudo docker exec miracron crontab -l

録画スケジュールの手動更新

録画スケジュールは1日1回自動更新されるため、手動での更新は不要です。ただし、config.ymlのルール編集は挙動が予測しにくいため編集とスケジュール即時更新を細かく繰り返すのがお勧めです。

# インストール時に作成した作業フォルダへ移動
cd ~/miracron
# 録画ルールの編集
vi config.yml
# 録画スケジュールの即時更新
sudo docker exec miracron miracron-update.sh
# 録画スケジュールの出力結果を確認
sudo docker exec miracron crontab -l

録画済データの閲覧方法

録画データはSambaの共有ディレクトリで提供されます。WebGUIなどはありません。

適当なWindowsクライアントPCで ¥¥<miracronが動いているDockerホストのホスト側IP>¥recorded を開いてください。macの場合はsmb://<miracronが動いているDockerホストのホスト側IP>/recordedです。IDはroot、パスワードは(変えていない場合は)P@ssw0rd!です。

アップデート方法

イメージを消してから再度起動してください。

# インストール時に作成した作業フォルダへ移動
cd ~/miracron
# コンテナ停止と削除
sudo docker-compose down
# イメージ削除
sudo docker image rm localhost/miracron:latest
sudo docker image rm localhost/miracron-samba:latest
# イメージのビルドとコンテナ起動
sudo docker-compose up --detach

アンインストール方法

ボリュームを削除すると録画データが全て削除されます。ご注意ください。

# インストール時に作成した作業フォルダへ移動
cd ~/miracron
# コンテナ停止と削除
sudo docker-compose down
# イメージ削除
sudo docker image rm localhost/miracron:latest
sudo docker image rm localhost/miracron-samba:latest
# ボリューム削除
sudo docker volume rm miracron_recorded
# 設定削除
cd ~/
rm -r ~/miracron