Closed10
QNAP NASとPX-Q1UDで録画サーバー構築
最近はTVer等で地上波を見ますが、ジブリのシーズンになり、録画をしたいので、久しぶりに録画サーバを構築したいと思います。
構成は以下の通り
- サーバー: QNAP NAS TS-673A
- 録画チューナー: PX-Q1UD
- ICカードリーダー: SCR3310/v2.0
備考
- 録画チューナーは、高温になると動作が不安定になり、落ちます。そのため、ケースを外して、ICチップにヒートシンクをつけています。ヒートシンクをつけると、動作が安定しているように感じます。
- 上記の構成だと、3つのチャンネルしか録画/視聴できません。理由は2点あります。
- 録画チューナーは、4チューナーですが、B-CASカードの都合上、3チャンネルしか録画/視聴することができない?ため
- QNAP NASのVMでは、物理デバイス(USB)は4つまでしか登録できないため
構築にあたっては、以下のURLを参考にしています。
サーバーの構築
Virtualization StationでNAS上に、Ubuntu Server(22.04)を構築します。
この時に、NASのUSBポートに録画チューナー: PX-Q1UD、ICカードリーダー: SCR3310/v2.0を差して、”物理デバイス”の項目で登録します。
OSのバージョン
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
アップデートとインストール
sudo apt update && sudo apt upgrade -y
sudo apt install unzip
ドライバ関係のインストール
cd ~ && echo 'PX-Q1UDドライバのインストール' && \
wget http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip && \
unzip PX-S1UD_driver_Ver.1.0.1.zip && \
sudo cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware/ &&
sleep 0.5 && \
sudo reboot
Dockerのインストール
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
mirakurun epgstationのインストール
以下のコマンドを入力すると、20分後くらいには立ち上がります。
curl -sf https://raw.githubusercontent.com/l3tnun/docker-mirakurun-epgstation/v2/setup.sh | sh -s
cd docker-mirakurun-epgstation
sudo docker compose up -d
動作確認
ブラウザから、http://<サーバーのIP>:8888
でアクセスできればOKです。
Cloudflare TunnelとNginx Proxy Manager
外からアクセス+セキュリティを考えて、Cloudflare Tunnelを使ってアクセスします。
ただし、Cloudflare Tunnelを使って直接Epgstationをにアクセスすると、/api/config
が取得できないため、間にリバースプロキシを挟みます。
リバースプロキシには、Nginx Proxy Managerを使います。
Nginx Proxy Managerの設定
cd ~ && mkdir ./nginx-proxy-manager
cd nginx-proxy-manager
touch compose.yaml
compose.yaml
に以下を記載
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
# These ports are in format <host-port>:<container-port>
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '81:81' # Admin Web Port
# Add any other Stream port you want to expose
# - '21:21' # FTP
# Uncomment the next line if you uncomment anything in the section
# environment:
# Uncomment this if you want to change the location of
# the SQLite DB file within the container
# DB_SQLITE_FILE: "/data/database.sqlite"
# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
dockerで立ち上げる
sudo docker compose up -d
動作確認
ブラウザから、http://<サーバーのIP>:81
でアクセスできればOKです。
初期パスワード等は以下のとおりで、ログイン後変更します。
Email: admin@example.com
Password: changeme
Proxy Hostsから以下の通り追加します。
なお、黒塗りされているForward Hostname/IPは、<サーバーのIP>です。
Cloudflare Tunnelの設定<省略多>
Tunnelsの設定から、Chose your environmentでDockerを選択して、インストールすればOKです。
Public hostnameでは以下のように設定すればOKです。
以上、終了。
このスクラップは3ヶ月前にクローズされました