Nginx là một container khác với jellyfin nhé.
Mình đang dùng với docker-compose. Viết một file tên là
docker-compose.yml
như này:
YAML:
version: "2.1"
services:
jellyfin:
image: linuxserver/jellyfin
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Ho_Chi_Minh
- UMASK_SET=022 #optional
volumes:
- ./library:/config
- ./tvseries:/data/tvshows
- ./movies:/data/movies
#- /opt/vc/lib:/opt/vc/lib #optional
- ./emby-files/index.html:/usr/share/jellyfin/web/index.html
- ./emby-files/manifest.json:/usr/share/jellyfin/web/manifest.json
- /media/NAS:/media/NAS
tmpfs:
- /tmp/jellyfin/transcodes:mode=1777,uid=1000,gid=1000
ports:
- 8096:8096
- 8920:8920 #optional
- 7359:7359/udp #optional
- 1900:1900/udp #optional
devices:
- /dev/dri:/dev/dri #optional
#- /dev/vcsm:/dev/vcsm #optional
#- /dev/vchiq:/dev/vchiq #optional
#- /dev/video10:/dev/video10 #optional
#- /dev/video11:/dev/video11 #optional
#- /dev/video12:/dev/video12 #optional
restart: unless-stopped
nginx:
image: bitnami/nginx
volumes:
- ./fake-emby.conf:/opt/bitnami/nginx/conf/server_blocks/fake-emby.conf:ro
- ./emby-files:/var/www/html/emby
restart: always
ports:
- "8097:8097"
File config nginx
fake-emby.conf
như này (cùng thư mục với file
docker-compose.yml
):
Code:
upstream jellyfin {
server 127.0.0.1:8096;
}
server {
listen 8097;
listen [::]:8097;
server_name localhost;
index index.html;
root /var/www/html/emby;
try_files $uri $uri.html /index.html =404;
#access_log /var/log/nginx/fake-emby.log main;
location / {
try_files $uri $uri.html /index.html =404;
proxy_pass http://jellyfin;
proxy_pass_request_headers on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
}
location /emby/ {
proxy_pass http://jellyfin;
proxy_pass_request_headers on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
}
location /emby {
proxy_pass http://jellyfin;
proxy_pass_request_headers on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
}
location /emby/system/info {
try_files $uri $uri/ $uri.json =404;
alias /var/www/html/emby/system/info;
}
location /emby/web/strings {
alias /var/www/html/emby/str;
}
}
Tất cả trong file đính kèm. Copy vào cd rồi chạy lệnh
docker-compose up -d
là lên hết.
Chú ý là trong cái đính kèm có file
emby-files/system/info/public
với nội dung kiểu như sau:
JSON:
{"LocalAddress":"http://127.0.0.1:8097","WanAddress":"http://192.168.1.46:8097","ServerName":"omv","Version":"4.4.2.0","Id":"3e506396814f453eaad6829ee62d7811"}
Chỗ WanAddress với ServerName nhớ thay bằng giá trị đúng.
Tác dụng của cái nginx này là mở một service emby fake tại port 8097, làm cho emby client tưởng nó là server emby, nhưng bản chất vẫn forward vào jellyfin.
Còn muốn vào jellyfin thì vẫn qua port 8096 như bình thường, không liên quan đến nginx.
Bạn dùng cái của DSM thì mình không rõ nhưng cách config cũng tương tự, mấu chốt ở đây là phải có file
fake-emby.conf
mount vào
/opt/bitnami/nginx/conf/server_blocks/fake-emby.conf
vào thư mục
emby-files
mount vào
/var/www/html/emby
của cái container nginx.