「Jellyfin」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (一部飜訳) |
Kusanaginoturugi (トーク | 投稿記録) (→Configuration: 飜訳) |
||
19行目: | 19行目: | ||
{{Note|この時点で問題が発生した場合、Jellyfin への接続を妨げるファイアウォール設定がないか確認してください。}} |
{{Note|この時点で問題が発生した場合、Jellyfin への接続を妨げるファイアウォール設定がないか確認してください。}} |
||
− | == |
+ | == 設定 == |
− | === Nginx |
+ | === Nginx リバースプロキシ === |
+ | 以下の設定は、サンプル証明書を使用した [[Nginx]] リバースプロキシを説明しています。自身の環境に合わせてテンプレートを変更してください。その他のリバースプロキシの設定例については、[https://jellyfin.org/docs/general/networking/nginx.html 上流のドキュメント]を参照してください。 |
||
− | The below configuration describes a [[Nginx]] reverse proxy with a sample certificate. Be sure to modify the template to suit your own circumstances. See [https://jellyfin.org/docs/general/networking/nginx.html upstream documentation] for more reverse proxy configuration examples. |
||
+ | {{Note|Jellyfin にリバースプロキシ経由でアクセスする際に機能が失われないように、外部 Web リソースの URL を {{ic|Content-Security-Policy}} ヘッダーにコメント解除して追加してください。}} |
||
− | {{Note|Uncomment and append URLs of external web resources to the {{ic|Content-Security-Policy}} header to avoid missing functionality when accessing Jellyfin via the reverse proxy.}} |
||
{{hc|/etc/nginx/sites-available/domain.com.conf|<nowiki> |
{{hc|/etc/nginx/sites-available/domain.com.conf|<nowiki> |
2024年7月9日 (火) 21:37時点における版
Jellyfin はデジタル・メディア・ファイルを整理、管理し、ネットワーク・デバイスと共有するために設計された、フリーでオープンソースのマルチメディア・アプリケーション・スイートです。
インストール
インストールするにはいくつかのオプションがあります:
- jellyfinAUR — 安定版をコンパイル
- jellyfin-binAUR — 事前にビルドされたバイナリ
- jellyfin-gitAUR — 最新のコミットをコンパイル
設定
jellyfin.service
systemd ユニットを起動/有効化します。最初に起動すると、Jellyfin はデフォルトで /var/lib/jellyfin/
に設定およびデータディレクトリを作成します。
Jellyfin の設定を開始するには、http://localhost:8096/ にアクセスし、初期ウィザードを完了してください。
設定
Nginx リバースプロキシ
以下の設定は、サンプル証明書を使用した Nginx リバースプロキシを説明しています。自身の環境に合わせてテンプレートを変更してください。その他のリバースプロキシの設定例については、上流のドキュメントを参照してください。
/etc/nginx/sites-available/domain.com.conf
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name DOMAIN_NAME; # use a variable to store the upstream proxy # in this example we are using a hostname which is resolved via DNS # (if you are not using DNS remove the resolver line and change the variable to point to an IP address e.g `set $jellyfin 127.0.0.1`) set $jellyfin jellyfin; resolver 127.0.0.1 valid=30; ssl_certificate /etc/letsencrypt/live/DOMAIN_NAME/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/DOMAIN_NAME/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; add_header Strict-Transport-Security "max-age=31536000" always; ssl_trusted_certificate /etc/letsencrypt/live/DOMAIN_NAME/chain.pem; ssl_stapling on; ssl_stapling_verify on; # Security / XSS Mitigation Headers add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; # Content Security Policy # See: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP # Enforces https content and restricts JS/CSS to origin # External Javascript (such as cast_sender.js for Chromecast) must be whitelisted. #add_header Content-Security-Policy "default-src https: data: blob: http://image.tmdb.org; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' https://www.gstatic.com/cv/js/sender/v1/cast_sender.js https://www.youtube.com blob:; worker-src 'self' blob:; connect-src 'self'; object-src 'none'; frame-ancestors 'self'"; location = / { return 302 https://$host/web/; } location / { # Proxy main Jellyfin traffic proxy_pass http://$jellyfin:8096; 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-Protocol $scheme; proxy_set_header X-Forwarded-Host $http_host; # Disable buffering when the nginx proxy gets very resource heavy upon streaming proxy_buffering off; } # location block for /web - This is purely for aesthetics so /web/#!/ works instead of having to go to /web/index.html/#!/ location = /web/ { # Proxy main Jellyfin traffic proxy_pass http://$jellyfin:8096/web/index.html; 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-Protocol $scheme; proxy_set_header X-Forwarded-Host $http_host; } location /socket { # Proxy Jellyfin Websockets traffic proxy_pass http://$jellyfin:8096; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 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-Protocol $scheme; proxy_set_header X-Forwarded-Host $http_host; } }
CSS customization
Server administrators can modify Jellyfin's appearance via the custom CSS field on the web dashboard. Many sources offer portable blocks of CSS to change server typography, colors, and layout. Some examples include Ultrachromic and upstream documentation.
Plugins
Jellyfin features many community-developed plugins that can be installed from the web dashboard. By default, plugins will automatically update.
Clients
In addition to the web interface, there are alternative desktop clients available.
- Jellyfin Media Player — Power desktop client which uses jellyfin-web and an embedded MPV player for maximum codec compatibility
- Jellyfin MPV Shim — Cast client for Jellyfin
- jftui — Command-line client that interfaces with MPV