openmediavault 기반 미디어 서버 구축 방법

미디어 서버란?

넷플릭스, 우리나라에서는 “오징어 게임” 덕분에 많이 알려졌다. 가입하고 구독료를 내면 언제 어디서나 영상 콘텐츠를 감상할 수 있는 서비스다. 넷플릭스에서 미디어 서버를 구축해 놓은 덕분인데, 우리도 넷플릭스처럼 개인용 미디어 서버를 구축하고, 이용할 수 있다. 

개인용 미디어 서버를 구축하는 방법

openmediavault(이하 omv)를 NAS로 이용하고 있다면, 손쉽게 미디어 서버를 만들 수 있다.

  1. omv 기반 NAS 구축
  2. omv-extras 설치
  3. Docker, Portainer 설치
  4. Jellyfin(또는 Plex) 설치
  5. Jellyfin(또는 Plex) 설정
먼저 omv 기반 NAS를 구축합니다.

omv-extras는 omv에서 사용할 수 있는 프로그램을 미리 준비해 놓고, 손쉽게 설치, 관리할 수 있는 프로그램이다. 덕분에 Docker와 Portainer란 프로그램을 클릭만으로 설치할 수 있다.  

Docker와 Portainer는 미디어 서버 프로그램을 손쉽게 설치하고, 관리할 수 있도록 도와주는 프로그램이다. Docker가 없다면, 직접 설치하고, 관리해야 한다. 아, 상상만 해도 갑갑하다.  

마지막으로 미디어 서버 역할을 하는 프로그램을 설치한다. Jellyfin과 Plex가 있는데, 스마트폰이나 PC에서만 본다면 어느 것을 설치해도 상관없다. 만약 TV에서도 볼 생각이라면 먼저 TV에서 어느 프로그램을 지원하는지 확인하고 설치하자. 

개인용 미디어 서버를 구축하면 아래와 같은 구조로 프로그램이 설치된다. PC에 윈도를 설치하고 오피스 프로그램을 이용하듯, omv라는 운영체제 위에 미디어 서버 프로그램을 설치하고 이용하는 구조다. 

omv-extras 설치

omv 서버에 ssh로 접속한다. 그리고 아래 명령어를 입력하자. 

1
wget  https://github.com/OpenMediaVaultPluginDevelopers/packages/raw/master/install | bash
cs

엔터키를 누름과 동시에 github에서 설치 파일을 받아와서 설치까지 하는 로그를 볼 수 있다. 설치가 완료되면 omv 웹 관리 화면 메뉴에 omv-extras가 추가된다.

참고로 omv-extras를 설치하는 자세한 방법은 아래 사이트에서 확인할 수 있습니다.

[링크] https://wiki.omv-extras.org/doku.php?id=misc_docs:omv_extras

Docker 설치 방법

메뉴 omv-extras 아래에 Docker가 있다. 클릭하면 아래 그림과 같은 화면이 나온다. 화면 아래에 있는 “설치”를 클릭하면 자동으로 설치된다. 

Portainer 설치 방법

메뉴 omv-extras 아래에 Portainer가 있다. Docker 설치와 마찬가지로, “설치”를 클릭하면 자동으로 설치된다.

Poratiner도 웹 기반 관리 기능을 제공한다. 웹 브라우저 주소창에 “http://ip:9000″을 입력하면 되는데, 처음 접속하면 관리자 계정을 생성해야 한다. 그리고 로그인하면 아래와 같은 화면을 볼 수 있다. 참고로 아래 이미지는 Jellyfin과 Plex를 설치하여 운영 중인 화면을 캡처한 이미지다.

Jellyfin 설치 방법

Portainer에 접속한 후, 왼편 메뉴에서 “Stacks”를 클릭하면 나오는 화면에서 “Add stack”을 클릭한다.

“Web editor”를 클릭한다.

붉은 사각형으로 표시한 “Web editor” 영역에 Jellyfin을 설치하기 위한 명령어를 입력한다. 아래 코드는 예시이다.

1
2
3
4
5
6
7
8
9
10
11
version: “3.5”
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    network_mode: “host”
    volumes:
       /path/to/library:/config:/config
       /path/to/tvseries:/data/tvshows
       /path/to/movies:/data/movies
    restart: “unless-stopped”
cs

volumes에 있는 “/patch/to/…”는 omv를 설치한 장치에 있는 디렉터리 이름을 입력한다. 예를 들어 omv에서 만든 공유 폴더 중 이름이 media 인 곳에 영화를 저장하기로 했다면, “- /srv/dev-disk-by-uuid-2a9ba2d7-c3a2-4b83-b87c-d69adf0ce8e8/Movies:/data/movies”로 입력하면 된다.

참고로 3.5 버전을 설치했다. 최신 버전은 아래 사이트에서 확인할 수 있다. 설치 스크립트는 “docker-compose” 부분을 참고하면 된다. 

https://hub.docker.com/r/linuxserver/jellyfin

Plex 설치 방법

Plex 설치 방법도 위에서 본 Jellyfin과 거의 동일하다.

1
2
3
4
5
6
7
8
9
10
11
12
version: “2.1”
services:
  plex:
    image: lscr.io/linuxserver/plex:latest
    container_name: plex
    network_mode: host
    environment:
       VERSION=docker
    volumes:
       /path/to/tvseries:/tv
       /path/to/movies:/movies
    restart: unlessstopped
cs

참고로 2.1 버전을 설치했다. 최신 버전은 아래 사이트에서 확인할 수 있다. 설치 스크립트는 “docker-compose” 부분을 참고하자. 

https://hub.docker.com/r/linuxserver/plex

Jellyfin, Plex 설정 방법

Jellyfin 접속 URL은 “http://IP:8096” 이다. 브라우저에서 접속하면 계정을 생성한 후, 로그인할 수 있다. 로그인 후 대시보드에서 미디어 라이브러리를 추가하고, 사용자를 생성하면 끝이다. 집에서 이용한다면 이 정도만 해도 충분하다. 

Plex 접속 URL은 “http://IP:32400” 이다. 브라우저에서 접속하면 먼저 Plex.tv에 가입해야 이용할 수 있다. 이후 과정은 Jellyfin에서 했던 것처럼 설정을 하면 된다. 

외부에서 접속하려면 보안에 주의

ddns 기능을 제공하는 공유기가 있다. 덕분에 외부에서도 Jellyfin이나 Plex를 이용할 수 있지만, 보안 위협 때문에 조심스럽다. 만약 외부에서도 이용해야 한다면 NAS에는 중요하거나 민감한 자료는 보관하지 않는 게 낫다. 서비스 포트를 바꾸고, 해외 IP 접속도 제한하길 추천한다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤