Add Jellyfin LinuxServer app

This commit is contained in:
okxlin
2026-06-26 01:09:25 +08:00
parent e393982d67
commit a5d37ef94d
15 changed files with 404 additions and 0 deletions
@@ -0,0 +1,8 @@
CONTAINER_NAME=
PANEL_APP_PORT_HTTP=8096
CONFIG_PATH=./data/config
TVSHOWS_PATH=./data/tvshows
MOVIES_PATH=./data/movies
TIME_ZONE=Asia/Shanghai
PUBLISHED_SERVER_URL=
+100
View File
@@ -0,0 +1,100 @@
additionalProperties:
formFields:
- default: 8096
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: HTTP Port
labelZh: HTTP 端口
label:
en: HTTP Port
zh: HTTP 端口
zh-Hant: HTTP 連接埠
ja: HTTP ポート
ko: HTTP 포트
ru: HTTP-порт
ms: Port HTTP
pt-br: Porta HTTP
required: true
type: number
rule: paramPort
- default: ./data/config
edit: true
envKey: CONFIG_PATH
labelEn: Config folder path
labelZh: 配置文件路径
label:
en: Config folder path
zh: 配置文件路径
zh-Hant: 設定檔資料夾路徑
ja: 設定フォルダーのパス
ko: 설정 폴더 경로
ru: Путь к папке конфигурации
ms: Laluan folder konfigurasi
pt-br: Caminho da pasta de configuração
required: true
type: text
- default: ./data/tvshows
edit: true
envKey: TVSHOWS_PATH
labelEn: TV shows folder path
labelZh: 电视剧媒体目录路径
label:
en: TV shows folder path
zh: 电视剧媒体目录路径
zh-Hant: 電視劇媒體資料夾路徑
ja: テレビ番組フォルダーのパス
ko: TV 프로그램 폴더 경로
ru: Путь к папке сериалов
ms: Laluan folder rancangan TV
pt-br: Caminho da pasta de series
required: true
type: text
- default: ./data/movies
edit: true
envKey: MOVIES_PATH
labelEn: Movies folder path
labelZh: 电影媒体目录路径
label:
en: Movies folder path
zh: 电影媒体目录路径
zh-Hant: 電影媒體資料夾路徑
ja: 映画フォルダーのパス
ko: 영화 폴더 경로
ru: Путь к папке фильмов
ms: Laluan folder filem
pt-br: Caminho da pasta de filmes
required: true
type: text
- default: Asia/Shanghai
edit: true
envKey: TIME_ZONE
labelEn: Time zone
labelZh: 时区
label:
en: Time zone
zh: 时区
zh-Hant: 時區
ja: タイムゾーン
ko: 시간대
ru: Часовой пояс
ms: Zon waktu
pt-br: Fuso horário
required: true
type: text
- default: ""
edit: true
envKey: PUBLISHED_SERVER_URL
labelEn: Published server URL
labelZh: 对外服务地址
label:
en: Published server URL
zh: 对外服务地址
zh-Hant: 對外服務位址
ja: 公開サーバー URL
ko: 공개 서버 URL
ru: Публичный URL сервера
ms: URL pelayan diterbitkan
pt-br: URL publica do servidor
required: false
type: text
@@ -0,0 +1,24 @@
networks:
1panel-network:
external: true
services:
jellyfin:
image: "linuxserver/jellyfin:10.11.11"
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:8096"
volumes:
- "${CONFIG_PATH}:/config"
- "${TVSHOWS_PATH}:/data/tvshows"
- "${MOVIES_PATH}:/data/movies"
environment:
- PUID=1000
- PGID=1000
- TZ=${TIME_ZONE}
- JELLYFIN_PublishedServerUrl=${PUBLISHED_SERVER_URL:-}
labels:
createdBy: "Apps"
+16
View File
@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -euo pipefail
paths=(
"${CONFIG_PATH:-./data/config}"
"${TVSHOWS_PATH:-./data/tvshows}"
"${MOVIES_PATH:-./data/movies}"
)
mkdir -p "${paths[@]}"
for path in "${paths[@]}"; do
case "$path" in
./*|../*) chown -R 1000:1000 "$path" 2>/dev/null || true ;;
esac
done
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
docker-compose down --volumes
+5
View File
@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -euo pipefail
:
+61
View File
@@ -0,0 +1,61 @@
# Jellyfin
## 产品介绍
Jellyfin 是一个自托管媒体服务器,本应用使用 LinuxServer.io 镜像部署。
## 主要功能
- 通过浏览器和 Jellyfin 客户端管理、播放媒体库。
- 使用 `/config` 持久化服务器配置和元数据。
- 默认映射电视剧和电影两个媒体目录。
## 访问说明
安装完成后,通过应用表单中的 HTTP 端口访问 Web UI,并按 Jellyfin 初始化向导完成配置。
## Introduction
Jellyfin is a self-hosted media server. This app deploys the LinuxServer.io image.
## Features
- Manage and stream media libraries from browsers and Jellyfin clients.
- Persist server settings and metadata under `/config`.
- Map separate TV shows and movies media folders by default.
## 应用简介
Jellyfin 媒体服务器。
英文说明:Media server maintained by LinuxServer.io.
## 部署说明
- 本应用使用 Docker Compose 在 1Panel 中部署。
- 应用分类:多媒体。
- 支持架构:amd64、arm64。
- 可选版本:`latest``10.11.11`
## 端口
| 变量 | 说明 | 默认值 | 必填 |
| --- | --- | --- | --- |
| PANEL_APP_PORT_HTTP | HTTP 端口 | 8096 | 是 |
## 数据持久化
| 变量 | 说明 | 默认值 | 必填 |
| --- | --- | --- | --- |
| CONFIG_PATH | 配置文件路径 | ./data/config | 是 |
| TVSHOWS_PATH | 电视剧媒体目录 | ./data/tvshows | 是 |
| MOVIES_PATH | 电影媒体目录 | ./data/movies | 是 |
升级或迁移前,请在 1Panel 中备份上述数据目录。
## 配置项
| 变量 | 说明 | 默认值 | 必填 |
| --- | --- | --- | --- |
| TIME_ZONE | 时区 | Asia/Shanghai | 是 |
| PUBLISHED_SERVER_URL | 自动发现返回地址 | 空 | 否 |
## 使用说明
- 默认仅开放 HTTP Web 端口;HTTPS、DLNA/发现 UDP 端口和硬件加速设备未默认映射。
- 如需对外开放访问,请同步检查防火墙、安全组和反向代理配置。
## 参考资料
- 官网: <https://jellyfin.org/>
- 文档: <https://docs.linuxserver.io/images/docker-jellyfin/>
- 源码: <https://github.com/linuxserver/docker-jellyfin>
+31
View File
@@ -0,0 +1,31 @@
name: Jellyfin
tags:
- Media
title: Jellyfin 媒体服务器
description: Jellyfin 媒体服务器
additionalProperties:
key: jellyfin-linuxserver
name: Jellyfin
tags:
- Media
shortDescZh: Jellyfin 媒体服务器
shortDescEn: Media server maintained by LinuxServer.io
description:
en: Media server maintained by LinuxServer.io
zh: Jellyfin 媒体服务器
zh-Hant: Jellyfin 媒體伺服器
ja: LinuxServer.io が保守するメディアサーバー
ko: LinuxServer.io에서 유지 관리하는 미디어 서버
ru: Медиасервер, поддерживаемый LinuxServer.io
ms: Pelayan media yang diselenggara oleh LinuxServer.io
pt-br: Servidor de midia mantido pela LinuxServer.io
type: tool
crossVersionUpdate: true
limit: 0
website: https://jellyfin.org/
github: https://github.com/linuxserver/docker-jellyfin
document: https://docs.linuxserver.io/images/docker-jellyfin/
architectures:
- amd64
- arm64
@@ -0,0 +1,8 @@
CONTAINER_NAME=
PANEL_APP_PORT_HTTP=8096
CONFIG_PATH=./data/config
TVSHOWS_PATH=./data/tvshows
MOVIES_PATH=./data/movies
TIME_ZONE=Asia/Shanghai
PUBLISHED_SERVER_URL=
+100
View File
@@ -0,0 +1,100 @@
additionalProperties:
formFields:
- default: 8096
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: HTTP Port
labelZh: HTTP 端口
label:
en: HTTP Port
zh: HTTP 端口
zh-Hant: HTTP 連接埠
ja: HTTP ポート
ko: HTTP 포트
ru: HTTP-порт
ms: Port HTTP
pt-br: Porta HTTP
required: true
type: number
rule: paramPort
- default: ./data/config
edit: true
envKey: CONFIG_PATH
labelEn: Config folder path
labelZh: 配置文件路径
label:
en: Config folder path
zh: 配置文件路径
zh-Hant: 設定檔資料夾路徑
ja: 設定フォルダーのパス
ko: 설정 폴더 경로
ru: Путь к папке конфигурации
ms: Laluan folder konfigurasi
pt-br: Caminho da pasta de configuração
required: true
type: text
- default: ./data/tvshows
edit: true
envKey: TVSHOWS_PATH
labelEn: TV shows folder path
labelZh: 电视剧媒体目录路径
label:
en: TV shows folder path
zh: 电视剧媒体目录路径
zh-Hant: 電視劇媒體資料夾路徑
ja: テレビ番組フォルダーのパス
ko: TV 프로그램 폴더 경로
ru: Путь к папке сериалов
ms: Laluan folder rancangan TV
pt-br: Caminho da pasta de series
required: true
type: text
- default: ./data/movies
edit: true
envKey: MOVIES_PATH
labelEn: Movies folder path
labelZh: 电影媒体目录路径
label:
en: Movies folder path
zh: 电影媒体目录路径
zh-Hant: 電影媒體資料夾路徑
ja: 映画フォルダーのパス
ko: 영화 폴더 경로
ru: Путь к папке фильмов
ms: Laluan folder filem
pt-br: Caminho da pasta de filmes
required: true
type: text
- default: Asia/Shanghai
edit: true
envKey: TIME_ZONE
labelEn: Time zone
labelZh: 时区
label:
en: Time zone
zh: 时区
zh-Hant: 時區
ja: タイムゾーン
ko: 시간대
ru: Часовой пояс
ms: Zon waktu
pt-br: Fuso horário
required: true
type: text
- default: ""
edit: true
envKey: PUBLISHED_SERVER_URL
labelEn: Published server URL
labelZh: 对外服务地址
label:
en: Published server URL
zh: 对外服务地址
zh-Hant: 對外服務位址
ja: 公開サーバー URL
ko: 공개 서버 URL
ru: Публичный URL сервера
ms: URL pelayan diterbitkan
pt-br: URL publica do servidor
required: false
type: text
@@ -0,0 +1,24 @@
networks:
1panel-network:
external: true
services:
jellyfin:
image: "linuxserver/jellyfin:latest"
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:8096"
volumes:
- "${CONFIG_PATH}:/config"
- "${TVSHOWS_PATH}:/data/tvshows"
- "${MOVIES_PATH}:/data/movies"
environment:
- PUID=1000
- PGID=1000
- TZ=${TIME_ZONE}
- JELLYFIN_PublishedServerUrl=${PUBLISHED_SERVER_URL:-}
labels:
createdBy: "Apps"
+16
View File
@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -euo pipefail
paths=(
"${CONFIG_PATH:-./data/config}"
"${TVSHOWS_PATH:-./data/tvshows}"
"${MOVIES_PATH:-./data/movies}"
)
mkdir -p "${paths[@]}"
for path in "${paths[@]}"; do
case "$path" in
./*|../*) chown -R 1000:1000 "$path" 2>/dev/null || true ;;
esac
done
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
docker-compose down --volumes
+5
View File
@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -euo pipefail
:
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB