집에 노는 PC 잔재들과 서버가 조금 있다.
애들을 어떻게 활용할까 고민했었는데, 미디어 서버가 필요해졌다.
한동안 구글 뮤직을 이용했으나 유료화되어 내가 구매해서 보유하고 있는 음원을 스트리밍으로 이용할 방법이 없어졌기 때문이다.
한동안은 드랍박스에 올려서 스트리밍을 해왔는데, 무료 용량도 부족하고 이상하게 재생이 원활하지 못했다.
그래서 유료서비스를 이용할 비용으로 쓰지 말고 서버 운영 비용으로 활용하자는 생각이 들었다.
서버를 운영하면 미디어 서버 외에 이런저런 것들도 함께 이용할 생각이었다.
미디어 서버를 찾아보았다.
예전에 시험삼아 플렉스를 사용해봤는데, 부분 유료화되어 있어 탐나는 기능들은 프리미엄 딱지 붙어 있는것이 거슬렸다.
차라리 지원하지 않고 보이지 않는 것이 더 깔끔하겠다는 생각에 결국 젤리핀으로 선택했다.
로컬에 바로 설치할까 싶었는데, 몇해동안 도커 맛을 봤더니 운영에는 도커가 가장 편리해보였다.
환경설정도 용이하고 올렸다 내리기도 용이하다.
GPU 가속을 사용하지 않는 컨테이너
docker run -d --name=jellyfin -e PUID=1000 -e PGID=1000 -e TZ=Asia/Seoul -e JELLYFIN_PublishedServerUrl=192.168.100.63 `#optional` -p 8096:8096 -p 8920:8920 `#optional` -p 7359:7359/udp `#optional` -p 1900:1900/udp `#optional` -v /data/jellyfin/config:/config -v /media:/data --restart unless-stopped jellyfin/jellyfin
막상 돌려보니 영상과 음악 모두 대부분 잘 돌아간다.
이제 욕심이 생겨 하드웨어 가속을 시도했다.
난 nvidia 750ti를 꽂아놨다.
이제 애를 리눅스에 드라이버 설치해야 했다. 한동안 고생 좀했다.
머신런닝도 맛보고 싶어 하는 김에 cuda까지 설치 해놨다.
2022.12.19 - [삶의 도움이 되도록 씨부리는거/IT] - 우분트 18.04에서 nvidia 드라이버 설치
근데 정작 젤리핀에서 가속을 실행했더니 재생 안되는 영상들이 나타나기 시작했다.
젤리핀 공식 페이지에서 찾아보니 도커 실행 시 파라메터가 추가되는 모양이다.
https://jellyfin.org/docs/general/administration/hardware-acceleration/
Hardware Acceleration | Jellyfin
Jellyfin supports hardware acceleration (HWA) of video encoding/decoding using FFMpeg.
jellyfin.org
혹시나 하는 마음에 포테이너를 이용해서 환경 변수로 넣어봤는데, 역시나 효과가 없는 모양이다.
정석대로 파라메터로 넣었다. 특별히 GPU를 할당할 것이 아니라서 all로 설정했다.
GPU 가속을 사용한 컨테이너
# 만약을 위해 현재 사용 중인 컨테이는 중단 시키고,
sudo docker stop jellyfin
# 새로 만들 컨테이너와 구분하기 위해 이름을 바꾸어 놓았다.
sudo docker rename jellyfin jellyfin_backup
# 그리고 gpu를 활용하기 위해 --gpus all을 추가해서 돌렸다.
sudo docker run -d --name=jellyfin --gpus all -e PUID=1000 -e PGID=1000 -e TZ=Asia/Seoul -e JELLYFIN_PublishedServerUrl=192.168.100.63 `#optional` -p 8096:8096 -p 8920:8920 `#optional` -p 7359:7359/udp `#optional` -p 1900:1900/udp `#optional` -v /data/jellyfin/config:/config -v /media:/data --restart unless-stopped jellyfin/jellyfin
# 아니 이게 뭐람?
Error response from daemon: exec: "nvidia-container-runtime-hook": executable file not found in $PATH
그래서 nvidia-container-runtime을 파기 시작했다.
2023.01.12 - [삶의 도움이 되도록 씨부리는거/IT] - docker container에서 nvidia gpu 사용하기 위한 nvidia-container-runtime
결국 nvidia-docker2를 설치하여 해결되었다.
재생되지 않던 영상도 이제 정상 동작된다. gpu 가속이 열심히 일하기 시작한 모양이다.
그리고 실행하자마자 죽던 stable diffuison 컨테이더도 일하기 시작했다.
아마 gpu를 못 찾아 그랬던 모양이다. (일거양득), 그리고 서버에는 과부가 걸렸는지 뻗어벌렸다.
'삶의 도움이 되도록 씨부리는거 > IT' 카테고리의 다른 글
Docker로 설치해본 Mkdocs (0) | 2023.01.26 |
---|---|
docker container에서 nvidia gpu 사용하기 위한 nvidia-container-runtime (1) | 2023.01.12 |
우분트 18.04에서 nvidia 드라이버 설치 (0) | 2022.12.19 |
redmine dsmf 설치 장애 (0) | 2021.12.21 |