mirror of
https://github.com/okxlin/appstore.git
synced 2026-09-22 16:00:58 +00:00
Add Jellyfin LinuxServer app
This commit is contained in:
@@ -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=
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
docker-compose down --volumes
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
:
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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=
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
docker-compose down --volumes
|
||||
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
:
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
Reference in New Issue
Block a user