Table of Contents
PodmanでEmby(メディアサーバー)を構築
PC・スマホ以外に再生できるHDが無かったので、自宅内ネットワークでセキュリティを気にせず使用
コンテナ関連のモジュールをインストール
podmanを参照
Embyのイメージを取得
# podman pull docker.io/emby/embyserver:latest
結果を確認
# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/podman-pause 4.0.2-1652194338 405dcdb9670c About an hour ago 739 kB
docker.io/emby/embyserver latest 0bcb5e7cb24d 30 hours ago 574 MB
イメージの基本情報を確認
# podman inspect docker.io/emby/embyserver:latest
作業フォルダを作成
# mkdir /usr/local/emby
# cd /usr/local/emby
永続化用のフォルダ作成
# mkdir -p /usr/local/emby/data/config
# mkdir -p /usr/local/emby/data/media
# chown 1000:1000 /usr/local/emby -R
opensslでp12(PKCS12)ファイルを作成する
# cd /etc/letsencrypt/live/chinaz.org
# openssl pkcs12 -export -in cert.pem -inkey privkey.pem -certfile chain.pem -out output.p12
Enter Export Password:(Enter)
Verifying - Enter Export Password:(Enter)
# chmod 666 output.p12
Pod を作成
# podman pod create -p 8096:8096/tcp,8920:8920/tcp,1900:1900/udp,7359:7359/udp --name emby-pod
結果を確認
# podman pod ls
POD ID NAME STATUS CREATED INFRA ID # OF CONTAINERS
3c5a861be361 emby-pod Running 33 minutes ago 14b5aaf25897 2
コンテナ作成
podman run --name=emby -d \
--restart=always --pod=emby-pod \
-e PGID="1000" \
-e PUID="1000" \
-e LANG="ja_JP.UTF-8" \
-e LANGUAGE="ja_JP.UTF-8" \
-e TZ="Asia/Tokyo" \
-v /usr/local/emby/data/config:/config \
-v /etc/letsencrypt/live/chinaz.org/:/ssl \
-v /usr/local/emby/data/media:/data/media:Z \
docker.io/linuxserver/emby:latest
- PGID/PUIDは共有するフォルダのGID/UIDを指定するのが良いと思われる。
結果を確認
# podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
14b5aaf25897 localhost/podman-pause:4.0.2-1652194338 33 minutes ago Up 33 minutes ago 0.0.0.0:8096->8096/tcp 3c5a861be361-infra
bb00369c9069 docker.io/emby/embyserver:latest 33 minutes ago Up 33 minutes ago 0.0.0.0:8096->8096/tcp emby
# podman port emby
8096/tcp -> 0.0.0.0:8096
8920/tcp -> 0.0.0.0:8920
1900/udp -> 0.0.0.0:1900
7359/udp -> 0.0.0.0:7359
LOGを確認
# podman logs emby
systemd のUNITファイルを生成する
# cd /etc/systemd/system
# podman generate systemd --restart-policy no -n -f emby-pod
systemd 設定を再読込する
# systemctl daemon-reload
サービスの自動化・起動・停止・ステータス
# systemctl enable pod-emby-pod.service
# systemctl start pod-redmine-pod.service
# systemctl stop pod-redmine-pod.service
# systemctl status pod-redmine-pod.service
起動
http://(サーバのアドレス):8096
https://(サーバのFQDN):8920
Kubernetesのyamlファイル作成
# cd /usr/local/emby
# podman generate kube emby-pod > emby-pod.yaml
ポットレベルからの再作成
-
稼働しているポッドの確認
podman pod ls podman ps
-
ポッドを全て終了する場合
podman pod stop --all
-
ポッドを全て削除する場合
podman pod rm --all
-
イメージ
podman images
-
イメージ全て削除
podman rmi --all 個別に削除する場合、コンテナIDを並べて記述
-
ボリューム
podman volume ls
-
ボリューム を削除
podman volume rm --all
-
yamlファイルからのポッドの起動+systemd のUNITファイルを再生成
# cd /usr/local/emby # podman play kube ./emby-pod.yaml # cd /etc/systemd/system # podman generate systemd --restart-policy no -n -f emby-pod