From 92be1fc2e9e5897efe19a84aaf098f0822bfb40c Mon Sep 17 00:00:00 2001 From: okxlin <61420215+okxlin@users.noreply.github.com> Date: Wed, 24 Jun 2026 09:03:55 +0800 Subject: [PATCH] Add additional LinuxServer web app adapters --- apps/deluge-linuxserver/2.2.0/.env.sample | 8 ++ apps/deluge-linuxserver/2.2.0/data.yml | 118 +++++++++++++++ apps/deluge-linuxserver/2.2.0/data/.gitkeep | 0 .../2.2.0/docker-compose.yml | 24 ++++ apps/deluge-linuxserver/2.2.0/scripts/init.sh | 4 + .../2.2.0/scripts/uninstall.sh | 2 + .../2.2.0/scripts/upgrade.sh | 2 + apps/deluge-linuxserver/README.md | 32 +++++ apps/deluge-linuxserver/data.yml | 30 ++++ apps/deluge-linuxserver/latest/.env.sample | 8 ++ apps/deluge-linuxserver/latest/data.yml | 118 +++++++++++++++ apps/deluge-linuxserver/latest/data/.gitkeep | 0 .../latest/docker-compose.yml | 24 ++++ .../deluge-linuxserver/latest/scripts/init.sh | 4 + .../latest/scripts/uninstall.sh | 2 + .../latest/scripts/upgrade.sh | 2 + apps/deluge-linuxserver/logo.png | Bin 0 -> 4346 bytes .../2025-05-14b-ls309/.env.sample | 5 + .../2025-05-14b-ls309/data.yml | 68 +++++++++ .../2025-05-14b-ls309/data/.gitkeep | 0 .../2025-05-14b-ls309/docker-compose.yml | 21 +++ .../2025-05-14b-ls309/scripts/init.sh | 4 + .../2025-05-14b-ls309/scripts/uninstall.sh | 2 + .../2025-05-14b-ls309/scripts/upgrade.sh | 2 + apps/dokuwiki-linuxserver/README.md | 32 +++++ apps/dokuwiki-linuxserver/data.yml | 30 ++++ apps/dokuwiki-linuxserver/latest/.env.sample | 5 + apps/dokuwiki-linuxserver/latest/data.yml | 68 +++++++++ .../dokuwiki-linuxserver/latest/data/.gitkeep | 0 .../latest/docker-compose.yml | 21 +++ .../latest/scripts/init.sh | 4 + .../latest/scripts/uninstall.sh | 2 + .../latest/scripts/upgrade.sh | 2 + apps/dokuwiki-linuxserver/logo.png | Bin 0 -> 9340 bytes apps/emby-linuxserver/4.9.5/.env.sample | 7 + apps/emby-linuxserver/4.9.5/data.yml | 100 +++++++++++++ apps/emby-linuxserver/4.9.5/data/.gitkeep | 0 .../emby-linuxserver/4.9.5/docker-compose.yml | 23 +++ apps/emby-linuxserver/4.9.5/scripts/init.sh | 4 + .../4.9.5/scripts/uninstall.sh | 2 + .../emby-linuxserver/4.9.5/scripts/upgrade.sh | 2 + apps/emby-linuxserver/README.md | 32 +++++ apps/emby-linuxserver/data.yml | 30 ++++ apps/emby-linuxserver/latest/.env.sample | 7 + apps/emby-linuxserver/latest/data.yml | 100 +++++++++++++ apps/emby-linuxserver/latest/data/.gitkeep | 0 .../latest/docker-compose.yml | 23 +++ apps/emby-linuxserver/latest/scripts/init.sh | 4 + .../latest/scripts/uninstall.sh | 2 + .../latest/scripts/upgrade.sh | 2 + apps/emby-linuxserver/logo.png | Bin 0 -> 1755 bytes apps/heimdall-linuxserver/2.7.6/.env.sample | 5 + apps/heimdall-linuxserver/2.7.6/data.yml | 68 +++++++++ apps/heimdall-linuxserver/2.7.6/data/.gitkeep | 0 .../2.7.6/docker-compose.yml | 21 +++ .../2.7.6/scripts/init.sh | 4 + .../2.7.6/scripts/uninstall.sh | 2 + .../2.7.6/scripts/upgrade.sh | 2 + apps/heimdall-linuxserver/README.md | 32 +++++ apps/heimdall-linuxserver/data.yml | 30 ++++ apps/heimdall-linuxserver/latest/.env.sample | 5 + apps/heimdall-linuxserver/latest/data.yml | 68 +++++++++ .../heimdall-linuxserver/latest/data/.gitkeep | 0 .../latest/docker-compose.yml | 21 +++ .../latest/scripts/init.sh | 4 + .../latest/scripts/uninstall.sh | 2 + .../latest/scripts/upgrade.sh | 2 + apps/heimdall-linuxserver/logo.png | Bin 0 -> 5312 bytes .../jellyfin-linuxserver/10.11.11/.env.sample | 9 ++ apps/jellyfin-linuxserver/10.11.11/data.yml | 134 ++++++++++++++++++ .../10.11.11/data/.gitkeep | 0 .../10.11.11/docker-compose.yml | 25 ++++ .../10.11.11/scripts/init.sh | 4 + .../10.11.11/scripts/uninstall.sh | 2 + .../10.11.11/scripts/upgrade.sh | 2 + apps/jellyfin-linuxserver/README.md | 32 +++++ apps/jellyfin-linuxserver/data.yml | 30 ++++ apps/jellyfin-linuxserver/latest/.env.sample | 9 ++ apps/jellyfin-linuxserver/latest/data.yml | 134 ++++++++++++++++++ .../jellyfin-linuxserver/latest/data/.gitkeep | 0 .../latest/docker-compose.yml | 25 ++++ .../latest/scripts/init.sh | 4 + .../latest/scripts/uninstall.sh | 2 + .../latest/scripts/upgrade.sh | 2 + apps/jellyfin-linuxserver/logo.png | Bin 0 -> 5204 bytes apps/sonarr-linuxserver/4.0.17/.env.sample | 6 + apps/sonarr-linuxserver/4.0.17/data.yml | 83 +++++++++++ apps/sonarr-linuxserver/4.0.17/data/.gitkeep | 0 .../4.0.17/docker-compose.yml | 22 +++ .../sonarr-linuxserver/4.0.17/scripts/init.sh | 4 + .../4.0.17/scripts/uninstall.sh | 2 + .../4.0.17/scripts/upgrade.sh | 2 + apps/sonarr-linuxserver/README.md | 32 +++++ apps/sonarr-linuxserver/data.yml | 30 ++++ apps/sonarr-linuxserver/latest/.env.sample | 6 + apps/sonarr-linuxserver/latest/data.yml | 83 +++++++++++ apps/sonarr-linuxserver/latest/data/.gitkeep | 0 .../latest/docker-compose.yml | 22 +++ .../sonarr-linuxserver/latest/scripts/init.sh | 4 + .../latest/scripts/uninstall.sh | 2 + .../latest/scripts/upgrade.sh | 2 + apps/sonarr-linuxserver/logo.png | Bin 0 -> 4356 bytes 102 files changed, 1962 insertions(+) create mode 100644 apps/deluge-linuxserver/2.2.0/.env.sample create mode 100644 apps/deluge-linuxserver/2.2.0/data.yml create mode 100644 apps/deluge-linuxserver/2.2.0/data/.gitkeep create mode 100644 apps/deluge-linuxserver/2.2.0/docker-compose.yml create mode 100755 apps/deluge-linuxserver/2.2.0/scripts/init.sh create mode 100755 apps/deluge-linuxserver/2.2.0/scripts/uninstall.sh create mode 100755 apps/deluge-linuxserver/2.2.0/scripts/upgrade.sh create mode 100644 apps/deluge-linuxserver/README.md create mode 100644 apps/deluge-linuxserver/data.yml create mode 100644 apps/deluge-linuxserver/latest/.env.sample create mode 100644 apps/deluge-linuxserver/latest/data.yml create mode 100644 apps/deluge-linuxserver/latest/data/.gitkeep create mode 100644 apps/deluge-linuxserver/latest/docker-compose.yml create mode 100755 apps/deluge-linuxserver/latest/scripts/init.sh create mode 100755 apps/deluge-linuxserver/latest/scripts/uninstall.sh create mode 100755 apps/deluge-linuxserver/latest/scripts/upgrade.sh create mode 100644 apps/deluge-linuxserver/logo.png create mode 100644 apps/dokuwiki-linuxserver/2025-05-14b-ls309/.env.sample create mode 100644 apps/dokuwiki-linuxserver/2025-05-14b-ls309/data.yml create mode 100644 apps/dokuwiki-linuxserver/2025-05-14b-ls309/data/.gitkeep create mode 100644 apps/dokuwiki-linuxserver/2025-05-14b-ls309/docker-compose.yml create mode 100755 apps/dokuwiki-linuxserver/2025-05-14b-ls309/scripts/init.sh create mode 100755 apps/dokuwiki-linuxserver/2025-05-14b-ls309/scripts/uninstall.sh create mode 100755 apps/dokuwiki-linuxserver/2025-05-14b-ls309/scripts/upgrade.sh create mode 100644 apps/dokuwiki-linuxserver/README.md create mode 100644 apps/dokuwiki-linuxserver/data.yml create mode 100644 apps/dokuwiki-linuxserver/latest/.env.sample create mode 100644 apps/dokuwiki-linuxserver/latest/data.yml create mode 100644 apps/dokuwiki-linuxserver/latest/data/.gitkeep create mode 100644 apps/dokuwiki-linuxserver/latest/docker-compose.yml create mode 100755 apps/dokuwiki-linuxserver/latest/scripts/init.sh create mode 100755 apps/dokuwiki-linuxserver/latest/scripts/uninstall.sh create mode 100755 apps/dokuwiki-linuxserver/latest/scripts/upgrade.sh create mode 100644 apps/dokuwiki-linuxserver/logo.png create mode 100644 apps/emby-linuxserver/4.9.5/.env.sample create mode 100644 apps/emby-linuxserver/4.9.5/data.yml create mode 100644 apps/emby-linuxserver/4.9.5/data/.gitkeep create mode 100644 apps/emby-linuxserver/4.9.5/docker-compose.yml create mode 100755 apps/emby-linuxserver/4.9.5/scripts/init.sh create mode 100755 apps/emby-linuxserver/4.9.5/scripts/uninstall.sh create mode 100755 apps/emby-linuxserver/4.9.5/scripts/upgrade.sh create mode 100644 apps/emby-linuxserver/README.md create mode 100644 apps/emby-linuxserver/data.yml create mode 100644 apps/emby-linuxserver/latest/.env.sample create mode 100644 apps/emby-linuxserver/latest/data.yml create mode 100644 apps/emby-linuxserver/latest/data/.gitkeep create mode 100644 apps/emby-linuxserver/latest/docker-compose.yml create mode 100755 apps/emby-linuxserver/latest/scripts/init.sh create mode 100755 apps/emby-linuxserver/latest/scripts/uninstall.sh create mode 100755 apps/emby-linuxserver/latest/scripts/upgrade.sh create mode 100644 apps/emby-linuxserver/logo.png create mode 100644 apps/heimdall-linuxserver/2.7.6/.env.sample create mode 100644 apps/heimdall-linuxserver/2.7.6/data.yml create mode 100644 apps/heimdall-linuxserver/2.7.6/data/.gitkeep create mode 100644 apps/heimdall-linuxserver/2.7.6/docker-compose.yml create mode 100755 apps/heimdall-linuxserver/2.7.6/scripts/init.sh create mode 100755 apps/heimdall-linuxserver/2.7.6/scripts/uninstall.sh create mode 100755 apps/heimdall-linuxserver/2.7.6/scripts/upgrade.sh create mode 100644 apps/heimdall-linuxserver/README.md create mode 100644 apps/heimdall-linuxserver/data.yml create mode 100644 apps/heimdall-linuxserver/latest/.env.sample create mode 100644 apps/heimdall-linuxserver/latest/data.yml create mode 100644 apps/heimdall-linuxserver/latest/data/.gitkeep create mode 100644 apps/heimdall-linuxserver/latest/docker-compose.yml create mode 100755 apps/heimdall-linuxserver/latest/scripts/init.sh create mode 100755 apps/heimdall-linuxserver/latest/scripts/uninstall.sh create mode 100755 apps/heimdall-linuxserver/latest/scripts/upgrade.sh create mode 100644 apps/heimdall-linuxserver/logo.png create mode 100644 apps/jellyfin-linuxserver/10.11.11/.env.sample create mode 100644 apps/jellyfin-linuxserver/10.11.11/data.yml create mode 100644 apps/jellyfin-linuxserver/10.11.11/data/.gitkeep create mode 100644 apps/jellyfin-linuxserver/10.11.11/docker-compose.yml create mode 100755 apps/jellyfin-linuxserver/10.11.11/scripts/init.sh create mode 100755 apps/jellyfin-linuxserver/10.11.11/scripts/uninstall.sh create mode 100755 apps/jellyfin-linuxserver/10.11.11/scripts/upgrade.sh create mode 100644 apps/jellyfin-linuxserver/README.md create mode 100644 apps/jellyfin-linuxserver/data.yml create mode 100644 apps/jellyfin-linuxserver/latest/.env.sample create mode 100644 apps/jellyfin-linuxserver/latest/data.yml create mode 100644 apps/jellyfin-linuxserver/latest/data/.gitkeep create mode 100644 apps/jellyfin-linuxserver/latest/docker-compose.yml create mode 100755 apps/jellyfin-linuxserver/latest/scripts/init.sh create mode 100755 apps/jellyfin-linuxserver/latest/scripts/uninstall.sh create mode 100755 apps/jellyfin-linuxserver/latest/scripts/upgrade.sh create mode 100644 apps/jellyfin-linuxserver/logo.png create mode 100644 apps/sonarr-linuxserver/4.0.17/.env.sample create mode 100644 apps/sonarr-linuxserver/4.0.17/data.yml create mode 100644 apps/sonarr-linuxserver/4.0.17/data/.gitkeep create mode 100644 apps/sonarr-linuxserver/4.0.17/docker-compose.yml create mode 100755 apps/sonarr-linuxserver/4.0.17/scripts/init.sh create mode 100755 apps/sonarr-linuxserver/4.0.17/scripts/uninstall.sh create mode 100755 apps/sonarr-linuxserver/4.0.17/scripts/upgrade.sh create mode 100644 apps/sonarr-linuxserver/README.md create mode 100644 apps/sonarr-linuxserver/data.yml create mode 100644 apps/sonarr-linuxserver/latest/.env.sample create mode 100644 apps/sonarr-linuxserver/latest/data.yml create mode 100644 apps/sonarr-linuxserver/latest/data/.gitkeep create mode 100644 apps/sonarr-linuxserver/latest/docker-compose.yml create mode 100755 apps/sonarr-linuxserver/latest/scripts/init.sh create mode 100755 apps/sonarr-linuxserver/latest/scripts/uninstall.sh create mode 100755 apps/sonarr-linuxserver/latest/scripts/upgrade.sh create mode 100644 apps/sonarr-linuxserver/logo.png diff --git a/apps/deluge-linuxserver/2.2.0/.env.sample b/apps/deluge-linuxserver/2.2.0/.env.sample new file mode 100644 index 000000000..afa01b235 --- /dev/null +++ b/apps/deluge-linuxserver/2.2.0/.env.sample @@ -0,0 +1,8 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=8112 +PANEL_APP_PORT_PEER_TCP=6881 +PANEL_APP_PORT_PEER_UDP=6881 +PANEL_APP_PORT_DAEMON=58846 +CONFIG_PATH=./data/config +DOWNLOADS_PATH=./data/downloads +TIME_ZONE=Asia/Shanghai diff --git a/apps/deluge-linuxserver/2.2.0/data.yml b/apps/deluge-linuxserver/2.2.0/data.yml new file mode 100644 index 000000000..5bfdd1460 --- /dev/null +++ b/apps/deluge-linuxserver/2.2.0/data.yml @@ -0,0 +1,118 @@ +additionalProperties: + formFields: + - default: 8112 + 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: 6881 + edit: true + envKey: PANEL_APP_PORT_PEER_TCP + labelEn: Peer Tcp Port + labelZh: Peer Tcp 端口 + label: + en: Peer Tcp Port + zh: Peer Tcp 端口 + zh-Hant: Peer Tcp 連接埠 + ja: Peer Tcp ポート + ko: Peer Tcp 포트 + ru: Порт Peer Tcp + ms: Port Peer Tcp + pt-br: Porta Peer Tcp + required: true + type: number + rule: paramPort + - default: 6881 + edit: true + envKey: PANEL_APP_PORT_PEER_UDP + labelEn: Peer Udp Port + labelZh: Peer Udp 端口 + label: + en: Peer Udp Port + zh: Peer Udp 端口 + zh-Hant: Peer Udp 連接埠 + ja: Peer Udp ポート + ko: Peer Udp 포트 + ru: Порт Peer Udp + ms: Port Peer Udp + pt-br: Porta Peer Udp + required: true + type: number + rule: paramPort + - default: 58846 + edit: true + envKey: PANEL_APP_PORT_DAEMON + labelEn: Daemon Port + labelZh: Daemon 端口 + label: + en: Daemon Port + zh: Daemon 端口 + zh-Hant: Daemon 連接埠 + ja: Daemon ポート + ko: Daemon 포트 + ru: Порт Daemon + ms: Port Daemon + pt-br: Porta Daemon + 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/downloads + edit: true + envKey: DOWNLOADS_PATH + labelEn: Downloads path + labelZh: 下载目录 + label: + en: Downloads path + zh: 下载目录 + zh-Hant: 下載目錄 + ja: ダウンロードディレクトリ + ko: 다운로드 디렉터리 + ru: Каталог загрузок + ms: Laluan muat turun + pt-br: Caminho de downloads + 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 diff --git a/apps/deluge-linuxserver/2.2.0/data/.gitkeep b/apps/deluge-linuxserver/2.2.0/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/deluge-linuxserver/2.2.0/docker-compose.yml b/apps/deluge-linuxserver/2.2.0/docker-compose.yml new file mode 100644 index 000000000..eb2cbd141 --- /dev/null +++ b/apps/deluge-linuxserver/2.2.0/docker-compose.yml @@ -0,0 +1,24 @@ +networks: + 1panel-network: + external: true +services: + deluge: + image: "linuxserver/deluge:2.2.0" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8112" + - "${PANEL_APP_PORT_PEER_TCP}:6881" + - "${PANEL_APP_PORT_PEER_UDP}:6881/udp" + - "${PANEL_APP_PORT_DAEMON}:58846" + volumes: + - "${CONFIG_PATH}:/config" + - "${DOWNLOADS_PATH}:/downloads" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/deluge-linuxserver/2.2.0/scripts/init.sh b/apps/deluge-linuxserver/2.2.0/scripts/init.sh new file mode 100755 index 000000000..c5326996d --- /dev/null +++ b/apps/deluge-linuxserver/2.2.0/scripts/init.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data/config ./data/downloads +chown -R 1000:1000 ./data 2>/dev/null || true diff --git a/apps/deluge-linuxserver/2.2.0/scripts/uninstall.sh b/apps/deluge-linuxserver/2.2.0/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/deluge-linuxserver/2.2.0/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/deluge-linuxserver/2.2.0/scripts/upgrade.sh b/apps/deluge-linuxserver/2.2.0/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/deluge-linuxserver/2.2.0/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/deluge-linuxserver/README.md b/apps/deluge-linuxserver/README.md new file mode 100644 index 000000000..4b4c16b55 --- /dev/null +++ b/apps/deluge-linuxserver/README.md @@ -0,0 +1,32 @@ +# Deluge LinuxServer + +## 产品介绍 + +Deluge LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/deluge` 镜像,提供 Deluge 下载管理 能力。 + +## 主要功能 + +- 通过 Web UI 进行 download management 配置 +- 持久化保存配置和业务数据 +- 使用 8112 端口提供 Web 管理界面 +- 支持自定义时区 + +## 访问说明 + +安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。 + +## Introduction + +Deluge LinuxServer uses the LinuxServer.io maintained `linuxserver/deluge` image for download management. + +## Features + +- Manage the application from the Web UI +- Persist configuration and application data +- Expose the Web interface on port 8112 +- Configure the container time zone + +## Links + +- LinuxServer image documentation: +- Project website: diff --git a/apps/deluge-linuxserver/data.yml b/apps/deluge-linuxserver/data.yml new file mode 100644 index 000000000..2985795c1 --- /dev/null +++ b/apps/deluge-linuxserver/data.yml @@ -0,0 +1,30 @@ +name: Deluge LinuxServer +tags: +- Tool +title: Deluge 下载管理 +description: Deluge 下载管理 +additionalProperties: + key: deluge-linuxserver + name: Deluge LinuxServer + tags: + - Tool + shortDescZh: Deluge 下载管理 + shortDescEn: Torrent download manager maintained by LinuxServer.io + description: + en: Torrent download manager maintained by LinuxServer.io + zh: Deluge 下载管理 + zh-Hant: Deluge 下載管理 + ja: LinuxServer.io が保守する Torrent ダウンロード管理ツール + ko: LinuxServer.io에서 유지 관리하는 토렌트 다운로드 관리자 + ru: Менеджер торрент-загрузок, поддерживаемый LinuxServer.io + ms: Pengurus muat turun torrent yang diselenggara oleh LinuxServer.io + pt-br: Gerenciador de downloads torrent mantido pela LinuxServer.io + type: tool + crossVersionUpdate: true + limit: 0 + website: https://deluge-torrent.org/ + github: https://github.com/linuxserver/docker-deluge + document: https://docs.linuxserver.io/images/docker-deluge/ + architectures: + - amd64 + - arm64 diff --git a/apps/deluge-linuxserver/latest/.env.sample b/apps/deluge-linuxserver/latest/.env.sample new file mode 100644 index 000000000..afa01b235 --- /dev/null +++ b/apps/deluge-linuxserver/latest/.env.sample @@ -0,0 +1,8 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=8112 +PANEL_APP_PORT_PEER_TCP=6881 +PANEL_APP_PORT_PEER_UDP=6881 +PANEL_APP_PORT_DAEMON=58846 +CONFIG_PATH=./data/config +DOWNLOADS_PATH=./data/downloads +TIME_ZONE=Asia/Shanghai diff --git a/apps/deluge-linuxserver/latest/data.yml b/apps/deluge-linuxserver/latest/data.yml new file mode 100644 index 000000000..5bfdd1460 --- /dev/null +++ b/apps/deluge-linuxserver/latest/data.yml @@ -0,0 +1,118 @@ +additionalProperties: + formFields: + - default: 8112 + 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: 6881 + edit: true + envKey: PANEL_APP_PORT_PEER_TCP + labelEn: Peer Tcp Port + labelZh: Peer Tcp 端口 + label: + en: Peer Tcp Port + zh: Peer Tcp 端口 + zh-Hant: Peer Tcp 連接埠 + ja: Peer Tcp ポート + ko: Peer Tcp 포트 + ru: Порт Peer Tcp + ms: Port Peer Tcp + pt-br: Porta Peer Tcp + required: true + type: number + rule: paramPort + - default: 6881 + edit: true + envKey: PANEL_APP_PORT_PEER_UDP + labelEn: Peer Udp Port + labelZh: Peer Udp 端口 + label: + en: Peer Udp Port + zh: Peer Udp 端口 + zh-Hant: Peer Udp 連接埠 + ja: Peer Udp ポート + ko: Peer Udp 포트 + ru: Порт Peer Udp + ms: Port Peer Udp + pt-br: Porta Peer Udp + required: true + type: number + rule: paramPort + - default: 58846 + edit: true + envKey: PANEL_APP_PORT_DAEMON + labelEn: Daemon Port + labelZh: Daemon 端口 + label: + en: Daemon Port + zh: Daemon 端口 + zh-Hant: Daemon 連接埠 + ja: Daemon ポート + ko: Daemon 포트 + ru: Порт Daemon + ms: Port Daemon + pt-br: Porta Daemon + 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/downloads + edit: true + envKey: DOWNLOADS_PATH + labelEn: Downloads path + labelZh: 下载目录 + label: + en: Downloads path + zh: 下载目录 + zh-Hant: 下載目錄 + ja: ダウンロードディレクトリ + ko: 다운로드 디렉터리 + ru: Каталог загрузок + ms: Laluan muat turun + pt-br: Caminho de downloads + 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 diff --git a/apps/deluge-linuxserver/latest/data/.gitkeep b/apps/deluge-linuxserver/latest/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/deluge-linuxserver/latest/docker-compose.yml b/apps/deluge-linuxserver/latest/docker-compose.yml new file mode 100644 index 000000000..190c2df4c --- /dev/null +++ b/apps/deluge-linuxserver/latest/docker-compose.yml @@ -0,0 +1,24 @@ +networks: + 1panel-network: + external: true +services: + deluge: + image: "linuxserver/deluge:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8112" + - "${PANEL_APP_PORT_PEER_TCP}:6881" + - "${PANEL_APP_PORT_PEER_UDP}:6881/udp" + - "${PANEL_APP_PORT_DAEMON}:58846" + volumes: + - "${CONFIG_PATH}:/config" + - "${DOWNLOADS_PATH}:/downloads" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/deluge-linuxserver/latest/scripts/init.sh b/apps/deluge-linuxserver/latest/scripts/init.sh new file mode 100755 index 000000000..c5326996d --- /dev/null +++ b/apps/deluge-linuxserver/latest/scripts/init.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data/config ./data/downloads +chown -R 1000:1000 ./data 2>/dev/null || true diff --git a/apps/deluge-linuxserver/latest/scripts/uninstall.sh b/apps/deluge-linuxserver/latest/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/deluge-linuxserver/latest/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/deluge-linuxserver/latest/scripts/upgrade.sh b/apps/deluge-linuxserver/latest/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/deluge-linuxserver/latest/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/deluge-linuxserver/logo.png b/apps/deluge-linuxserver/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6724c44e764b693ace824ff883bf462bfd1c6ed2 GIT binary patch literal 4346 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/dev/null || true diff --git a/apps/dokuwiki-linuxserver/2025-05-14b-ls309/scripts/uninstall.sh b/apps/dokuwiki-linuxserver/2025-05-14b-ls309/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/dokuwiki-linuxserver/2025-05-14b-ls309/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/dokuwiki-linuxserver/2025-05-14b-ls309/scripts/upgrade.sh b/apps/dokuwiki-linuxserver/2025-05-14b-ls309/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/dokuwiki-linuxserver/2025-05-14b-ls309/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/dokuwiki-linuxserver/README.md b/apps/dokuwiki-linuxserver/README.md new file mode 100644 index 000000000..96d2731d6 --- /dev/null +++ b/apps/dokuwiki-linuxserver/README.md @@ -0,0 +1,32 @@ +# DokuWiki LinuxServer + +## 产品介绍 + +DokuWiki LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/dokuwiki` 镜像,提供 DokuWiki 知识库 Wiki 能力。 + +## 主要功能 + +- 通过 Web UI 进行 wiki knowledge base management 配置 +- 持久化保存配置和业务数据 +- 使用 80 端口提供 Web 管理界面 +- 支持自定义时区 + +## 访问说明 + +安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。 + +## Introduction + +DokuWiki LinuxServer uses the LinuxServer.io maintained `linuxserver/dokuwiki` image for wiki knowledge base management. + +## Features + +- Manage the application from the Web UI +- Persist configuration and application data +- Expose the Web interface on port 80 +- Configure the container time zone + +## Links + +- LinuxServer image documentation: +- Project website: diff --git a/apps/dokuwiki-linuxserver/data.yml b/apps/dokuwiki-linuxserver/data.yml new file mode 100644 index 000000000..924db308d --- /dev/null +++ b/apps/dokuwiki-linuxserver/data.yml @@ -0,0 +1,30 @@ +name: DokuWiki LinuxServer +tags: +- Website +title: DokuWiki 知识库 Wiki +description: DokuWiki 知识库 Wiki +additionalProperties: + key: dokuwiki-linuxserver + name: DokuWiki LinuxServer + tags: + - Website + shortDescZh: DokuWiki 知识库 Wiki + shortDescEn: Wiki knowledge base maintained by LinuxServer.io + description: + en: Wiki knowledge base maintained by LinuxServer.io + zh: DokuWiki 知识库 Wiki + zh-Hant: DokuWiki 知識庫 Wiki + ja: LinuxServer.io が保守する Wiki ナレッジベース + ko: LinuxServer.io에서 유지 관리하는 위키 지식 베이스 + ru: Wiki-база знаний, поддерживаемая LinuxServer.io + ms: Pangkalan pengetahuan Wiki yang diselenggara oleh LinuxServer.io + pt-br: Base de conhecimento Wiki mantida pela LinuxServer.io + type: tool + crossVersionUpdate: true + limit: 0 + website: https://www.dokuwiki.org/ + github: https://github.com/linuxserver/docker-dokuwiki + document: https://docs.linuxserver.io/images/docker-dokuwiki/ + architectures: + - amd64 + - arm64 diff --git a/apps/dokuwiki-linuxserver/latest/.env.sample b/apps/dokuwiki-linuxserver/latest/.env.sample new file mode 100644 index 000000000..8a615c763 --- /dev/null +++ b/apps/dokuwiki-linuxserver/latest/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=80 +PANEL_APP_PORT_HTTPS=443 +CONFIG_PATH=./data/config +TIME_ZONE=Asia/Shanghai diff --git a/apps/dokuwiki-linuxserver/latest/data.yml b/apps/dokuwiki-linuxserver/latest/data.yml new file mode 100644 index 000000000..9cb25e7d1 --- /dev/null +++ b/apps/dokuwiki-linuxserver/latest/data.yml @@ -0,0 +1,68 @@ +additionalProperties: + formFields: + - default: 80 + 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: 443 + edit: true + envKey: PANEL_APP_PORT_HTTPS + labelEn: Https Port + labelZh: Https 端口 + label: + en: Https Port + zh: Https 端口 + zh-Hant: Https 連接埠 + ja: Https ポート + ko: Https 포트 + ru: Порт Https + ms: Port Https + pt-br: Porta Https + 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: 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 diff --git a/apps/dokuwiki-linuxserver/latest/data/.gitkeep b/apps/dokuwiki-linuxserver/latest/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/dokuwiki-linuxserver/latest/docker-compose.yml b/apps/dokuwiki-linuxserver/latest/docker-compose.yml new file mode 100644 index 000000000..8ce999176 --- /dev/null +++ b/apps/dokuwiki-linuxserver/latest/docker-compose.yml @@ -0,0 +1,21 @@ +networks: + 1panel-network: + external: true +services: + dokuwiki: + image: "linuxserver/dokuwiki:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:80" + - "${PANEL_APP_PORT_HTTPS}:443" + volumes: + - "${CONFIG_PATH}:/config" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/dokuwiki-linuxserver/latest/scripts/init.sh b/apps/dokuwiki-linuxserver/latest/scripts/init.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/dokuwiki-linuxserver/latest/scripts/init.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data/config +chown -R 1000:1000 ./data 2>/dev/null || true diff --git a/apps/dokuwiki-linuxserver/latest/scripts/uninstall.sh b/apps/dokuwiki-linuxserver/latest/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/dokuwiki-linuxserver/latest/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/dokuwiki-linuxserver/latest/scripts/upgrade.sh b/apps/dokuwiki-linuxserver/latest/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/dokuwiki-linuxserver/latest/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/dokuwiki-linuxserver/logo.png b/apps/dokuwiki-linuxserver/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..53621931fb2d827da2d79814aca1df3540dbb273 GIT binary patch literal 9340 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 literal 0 HcmV?d00001 diff --git a/apps/emby-linuxserver/4.9.5/.env.sample b/apps/emby-linuxserver/4.9.5/.env.sample new file mode 100644 index 000000000..c35d9adc3 --- /dev/null +++ b/apps/emby-linuxserver/4.9.5/.env.sample @@ -0,0 +1,7 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=8096 +PANEL_APP_PORT_HTTPS=8920 +CONFIG_PATH=./data/config +TV_PATH=./data/tvshows +MOVIES_PATH=./data/movies +TIME_ZONE=Asia/Shanghai diff --git a/apps/emby-linuxserver/4.9.5/data.yml b/apps/emby-linuxserver/4.9.5/data.yml new file mode 100644 index 000000000..705396648 --- /dev/null +++ b/apps/emby-linuxserver/4.9.5/data.yml @@ -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: 8920 + edit: true + envKey: PANEL_APP_PORT_HTTPS + labelEn: Https Port + labelZh: Https 端口 + label: + en: Https Port + zh: Https 端口 + zh-Hant: Https 連接埠 + ja: Https ポート + ko: Https 포트 + ru: Порт Https + ms: Port Https + pt-br: Porta Https + 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: TV_PATH + labelEn: TV shows path + labelZh: 剧集目录 + label: + en: TV shows path + zh: 剧集目录 + zh-Hant: 劇集目錄 + ja: テレビ番組ディレクトリ + ko: TV 프로그램 디렉터리 + ru: Каталог телепередач + ms: Laluan rancangan TV + pt-br: Caminho de series + required: true + type: text + - default: ./data/movies + edit: true + envKey: MOVIES_PATH + labelEn: Movies path + labelZh: 电影目录 + label: + en: Movies path + zh: 电影目录 + zh-Hant: 電影目錄 + ja: 映画ディレクトリ + ko: 영화 디렉터리 + ru: Каталог фильмов + ms: Laluan filem + pt-br: Caminho 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 diff --git a/apps/emby-linuxserver/4.9.5/data/.gitkeep b/apps/emby-linuxserver/4.9.5/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/emby-linuxserver/4.9.5/docker-compose.yml b/apps/emby-linuxserver/4.9.5/docker-compose.yml new file mode 100644 index 000000000..7ff8b2c4f --- /dev/null +++ b/apps/emby-linuxserver/4.9.5/docker-compose.yml @@ -0,0 +1,23 @@ +networks: + 1panel-network: + external: true +services: + emby: + image: "linuxserver/emby:4.9.5" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8096" + - "${PANEL_APP_PORT_HTTPS}:8920" + volumes: + - "${CONFIG_PATH}:/config" + - "${TV_PATH}:/data/tvshows" + - "${MOVIES_PATH}:/data/movies" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/emby-linuxserver/4.9.5/scripts/init.sh b/apps/emby-linuxserver/4.9.5/scripts/init.sh new file mode 100755 index 000000000..ee575da4e --- /dev/null +++ b/apps/emby-linuxserver/4.9.5/scripts/init.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data/config ./data/tvshows ./data/movies +chown -R 1000:1000 ./data 2>/dev/null || true diff --git a/apps/emby-linuxserver/4.9.5/scripts/uninstall.sh b/apps/emby-linuxserver/4.9.5/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/emby-linuxserver/4.9.5/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/emby-linuxserver/4.9.5/scripts/upgrade.sh b/apps/emby-linuxserver/4.9.5/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/emby-linuxserver/4.9.5/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/emby-linuxserver/README.md b/apps/emby-linuxserver/README.md new file mode 100644 index 000000000..c37bd15ec --- /dev/null +++ b/apps/emby-linuxserver/README.md @@ -0,0 +1,32 @@ +# Emby LinuxServer + +## 产品介绍 + +Emby LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/emby` 镜像,提供 Emby 媒体服务器 能力。 + +## 主要功能 + +- 通过 Web UI 进行 media streaming 配置 +- 持久化保存配置和业务数据 +- 使用 8096 端口提供 Web 管理界面 +- 支持自定义时区 + +## 访问说明 + +安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。 + +## Introduction + +Emby LinuxServer uses the LinuxServer.io maintained `linuxserver/emby` image for media streaming. + +## Features + +- Manage the application from the Web UI +- Persist configuration and application data +- Expose the Web interface on port 8096 +- Configure the container time zone + +## Links + +- LinuxServer image documentation: +- Project website: diff --git a/apps/emby-linuxserver/data.yml b/apps/emby-linuxserver/data.yml new file mode 100644 index 000000000..0942ec429 --- /dev/null +++ b/apps/emby-linuxserver/data.yml @@ -0,0 +1,30 @@ +name: Emby LinuxServer +tags: +- Media +title: Emby 媒体服务器 +description: Emby 媒体服务器 +additionalProperties: + key: emby-linuxserver + name: Emby LinuxServer + tags: + - Media + shortDescZh: Emby 媒体服务器 + shortDescEn: Media server maintained by LinuxServer.io + description: + en: Media server maintained by LinuxServer.io + zh: Emby 媒体服务器 + zh-Hant: Emby 媒體伺服器 + 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://emby.media/ + github: https://github.com/linuxserver/docker-emby + document: https://docs.linuxserver.io/images/docker-emby/ + architectures: + - amd64 + - arm64 diff --git a/apps/emby-linuxserver/latest/.env.sample b/apps/emby-linuxserver/latest/.env.sample new file mode 100644 index 000000000..c35d9adc3 --- /dev/null +++ b/apps/emby-linuxserver/latest/.env.sample @@ -0,0 +1,7 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=8096 +PANEL_APP_PORT_HTTPS=8920 +CONFIG_PATH=./data/config +TV_PATH=./data/tvshows +MOVIES_PATH=./data/movies +TIME_ZONE=Asia/Shanghai diff --git a/apps/emby-linuxserver/latest/data.yml b/apps/emby-linuxserver/latest/data.yml new file mode 100644 index 000000000..705396648 --- /dev/null +++ b/apps/emby-linuxserver/latest/data.yml @@ -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: 8920 + edit: true + envKey: PANEL_APP_PORT_HTTPS + labelEn: Https Port + labelZh: Https 端口 + label: + en: Https Port + zh: Https 端口 + zh-Hant: Https 連接埠 + ja: Https ポート + ko: Https 포트 + ru: Порт Https + ms: Port Https + pt-br: Porta Https + 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: TV_PATH + labelEn: TV shows path + labelZh: 剧集目录 + label: + en: TV shows path + zh: 剧集目录 + zh-Hant: 劇集目錄 + ja: テレビ番組ディレクトリ + ko: TV 프로그램 디렉터리 + ru: Каталог телепередач + ms: Laluan rancangan TV + pt-br: Caminho de series + required: true + type: text + - default: ./data/movies + edit: true + envKey: MOVIES_PATH + labelEn: Movies path + labelZh: 电影目录 + label: + en: Movies path + zh: 电影目录 + zh-Hant: 電影目錄 + ja: 映画ディレクトリ + ko: 영화 디렉터리 + ru: Каталог фильмов + ms: Laluan filem + pt-br: Caminho 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 diff --git a/apps/emby-linuxserver/latest/data/.gitkeep b/apps/emby-linuxserver/latest/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/emby-linuxserver/latest/docker-compose.yml b/apps/emby-linuxserver/latest/docker-compose.yml new file mode 100644 index 000000000..597465631 --- /dev/null +++ b/apps/emby-linuxserver/latest/docker-compose.yml @@ -0,0 +1,23 @@ +networks: + 1panel-network: + external: true +services: + emby: + image: "linuxserver/emby:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8096" + - "${PANEL_APP_PORT_HTTPS}:8920" + volumes: + - "${CONFIG_PATH}:/config" + - "${TV_PATH}:/data/tvshows" + - "${MOVIES_PATH}:/data/movies" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/emby-linuxserver/latest/scripts/init.sh b/apps/emby-linuxserver/latest/scripts/init.sh new file mode 100755 index 000000000..ee575da4e --- /dev/null +++ b/apps/emby-linuxserver/latest/scripts/init.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data/config ./data/tvshows ./data/movies +chown -R 1000:1000 ./data 2>/dev/null || true diff --git a/apps/emby-linuxserver/latest/scripts/uninstall.sh b/apps/emby-linuxserver/latest/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/emby-linuxserver/latest/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/emby-linuxserver/latest/scripts/upgrade.sh b/apps/emby-linuxserver/latest/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/emby-linuxserver/latest/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/emby-linuxserver/logo.png b/apps/emby-linuxserver/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4d289baba351eecd4524fd682ff200d84bb77949 GIT binary patch literal 1755 zcmV<11|<23P)Z~+QL{@@v`bR7OH#8+QM5`>vrAC4OH#B-QM5}^v`JC4N>Q~-QME}@vrAI6 zOH#B-QnX4?v`SI6N>Q~+QM5`?vr1C4OHs2+QngD~woh!pXIHmSS-4Zl=*Pa}ymP~D z)a=s#|Nrau>ZsYJX1!qF@!powl3ck~Pqaw-{rb=9&4bE*^!oI@;<|*&e{{oc?Dp%c z+o<62-qGvNh0B0-#Bc2P?5x|UnA4Qf>(IdDy>`TKXue|M^5Cu9s+-i8UbD0000SbW%=J03@(j9e*|5C-tIEy#(Oj39O{z=H2GtH`b808Ev1xQPn^HTQ4XFucGr1<2ji`xc6Kb;AK&~0);A)mR zu$pNOnrpT>pju!KrWTn4ekXRv zadoQ=;7zS)9?kX83|Zx&=sh=NpZKj?jWTt+u)F<-R@0>bqbsATjdCPa# z&YZQWUToy9-tFP~xebHr0yA`bh`4$F&Azc*7n%3bm~Oq*F{Lgv57CH&3ug_fi_M2< z^bl>fy2Lz!_7H96G?tmi(3oyr?1WdBn#a+IgA12JC#2jwiAH?;osFPs2lF%<@v>^P ziE0;f78=ucuXF;boy?hN#KD>Of=r{EIR}lneRZRHwWB!~jd=NewP-u4UCjk(Oh34C zx?iE%*<6H199+9z-88zJi_wVNS8r6LCYa06h&xKrE>Tm=RGx1{(46FK!1lv(Sh;Uy`G( zXl9}@?cKT84`t?}5eIkgcLL0y42}5J*MZD@bh>r%ULZ3YP1&q$D4UsR(zdX=nT38p z+JM(LGtk7Nj;6kujwbHB`!G|{>*sc*zmZnOW*Yhd^)x9X&kHA^N_6^=dTy6hBX|L- zL~ovd)R&u+WA*CL>)-5Bm(F<^U*T0jH}u}O^rO+-0)brZf~JQV3QG@SwF7$dJ8GDr zq^KcPm!j9d-(@UYQa=)^OVFG!gF|IXrY=OY!VFF|FOj+k{R1b=;8;A8sPoahFoSbh zN}$d|?>+tzyqYEIY;^k5&)kD%LT!<)&O~#=48*D>SDk_Wg&Srd*F%}=DfHgsUsd;V zeW)kU>Dq6d3e8OQIQsWLy8TMcJoPC0$?(33a=rb3E!;{G9TN{{#5#V)YJwiuV8j002ovPDHLkV1fW~j_3dY literal 0 HcmV?d00001 diff --git a/apps/heimdall-linuxserver/2.7.6/.env.sample b/apps/heimdall-linuxserver/2.7.6/.env.sample new file mode 100644 index 000000000..8a615c763 --- /dev/null +++ b/apps/heimdall-linuxserver/2.7.6/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=80 +PANEL_APP_PORT_HTTPS=443 +CONFIG_PATH=./data/config +TIME_ZONE=Asia/Shanghai diff --git a/apps/heimdall-linuxserver/2.7.6/data.yml b/apps/heimdall-linuxserver/2.7.6/data.yml new file mode 100644 index 000000000..9cb25e7d1 --- /dev/null +++ b/apps/heimdall-linuxserver/2.7.6/data.yml @@ -0,0 +1,68 @@ +additionalProperties: + formFields: + - default: 80 + 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: 443 + edit: true + envKey: PANEL_APP_PORT_HTTPS + labelEn: Https Port + labelZh: Https 端口 + label: + en: Https Port + zh: Https 端口 + zh-Hant: Https 連接埠 + ja: Https ポート + ko: Https 포트 + ru: Порт Https + ms: Port Https + pt-br: Porta Https + 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: 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 diff --git a/apps/heimdall-linuxserver/2.7.6/data/.gitkeep b/apps/heimdall-linuxserver/2.7.6/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/heimdall-linuxserver/2.7.6/docker-compose.yml b/apps/heimdall-linuxserver/2.7.6/docker-compose.yml new file mode 100644 index 000000000..35dd08732 --- /dev/null +++ b/apps/heimdall-linuxserver/2.7.6/docker-compose.yml @@ -0,0 +1,21 @@ +networks: + 1panel-network: + external: true +services: + heimdall: + image: "linuxserver/heimdall:2.7.6" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:80" + - "${PANEL_APP_PORT_HTTPS}:443" + volumes: + - "${CONFIG_PATH}:/config" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/heimdall-linuxserver/2.7.6/scripts/init.sh b/apps/heimdall-linuxserver/2.7.6/scripts/init.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/heimdall-linuxserver/2.7.6/scripts/init.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data/config +chown -R 1000:1000 ./data 2>/dev/null || true diff --git a/apps/heimdall-linuxserver/2.7.6/scripts/uninstall.sh b/apps/heimdall-linuxserver/2.7.6/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/heimdall-linuxserver/2.7.6/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/heimdall-linuxserver/2.7.6/scripts/upgrade.sh b/apps/heimdall-linuxserver/2.7.6/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/heimdall-linuxserver/2.7.6/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/heimdall-linuxserver/README.md b/apps/heimdall-linuxserver/README.md new file mode 100644 index 000000000..80de01ed6 --- /dev/null +++ b/apps/heimdall-linuxserver/README.md @@ -0,0 +1,32 @@ +# Heimdall LinuxServer + +## 产品介绍 + +Heimdall LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/heimdall` 镜像,提供 Heimdall 应用导航页 能力。 + +## 主要功能 + +- 通过 Web UI 进行 application dashboard management 配置 +- 持久化保存配置和业务数据 +- 使用 80 端口提供 Web 管理界面 +- 支持自定义时区 + +## 访问说明 + +安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。 + +## Introduction + +Heimdall LinuxServer uses the LinuxServer.io maintained `linuxserver/heimdall` image for application dashboard management. + +## Features + +- Manage the application from the Web UI +- Persist configuration and application data +- Expose the Web interface on port 80 +- Configure the container time zone + +## Links + +- LinuxServer image documentation: +- Project website: diff --git a/apps/heimdall-linuxserver/data.yml b/apps/heimdall-linuxserver/data.yml new file mode 100644 index 000000000..830afe305 --- /dev/null +++ b/apps/heimdall-linuxserver/data.yml @@ -0,0 +1,30 @@ +name: Heimdall LinuxServer +tags: +- Tool +title: Heimdall 应用导航页 +description: Heimdall 应用导航页 +additionalProperties: + key: heimdall-linuxserver + name: Heimdall LinuxServer + tags: + - Tool + shortDescZh: Heimdall 应用导航页 + shortDescEn: Application dashboard maintained by LinuxServer.io + description: + en: Application dashboard maintained by LinuxServer.io + zh: Heimdall 应用导航页 + zh-Hant: Heimdall 應用導航頁 + ja: LinuxServer.io が保守するアプリケーションダッシュボード + ko: LinuxServer.io에서 유지 관리하는 애플리케이션 대시보드 + ru: Панель приложений, поддерживаемая LinuxServer.io + ms: Papan pemuka aplikasi yang diselenggara oleh LinuxServer.io + pt-br: Painel de aplicativos mantido pela LinuxServer.io + type: tool + crossVersionUpdate: true + limit: 0 + website: https://heimdall.site/ + github: https://github.com/linuxserver/docker-heimdall + document: https://docs.linuxserver.io/images/docker-heimdall/ + architectures: + - amd64 + - arm64 diff --git a/apps/heimdall-linuxserver/latest/.env.sample b/apps/heimdall-linuxserver/latest/.env.sample new file mode 100644 index 000000000..8a615c763 --- /dev/null +++ b/apps/heimdall-linuxserver/latest/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=80 +PANEL_APP_PORT_HTTPS=443 +CONFIG_PATH=./data/config +TIME_ZONE=Asia/Shanghai diff --git a/apps/heimdall-linuxserver/latest/data.yml b/apps/heimdall-linuxserver/latest/data.yml new file mode 100644 index 000000000..9cb25e7d1 --- /dev/null +++ b/apps/heimdall-linuxserver/latest/data.yml @@ -0,0 +1,68 @@ +additionalProperties: + formFields: + - default: 80 + 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: 443 + edit: true + envKey: PANEL_APP_PORT_HTTPS + labelEn: Https Port + labelZh: Https 端口 + label: + en: Https Port + zh: Https 端口 + zh-Hant: Https 連接埠 + ja: Https ポート + ko: Https 포트 + ru: Порт Https + ms: Port Https + pt-br: Porta Https + 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: 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 diff --git a/apps/heimdall-linuxserver/latest/data/.gitkeep b/apps/heimdall-linuxserver/latest/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/heimdall-linuxserver/latest/docker-compose.yml b/apps/heimdall-linuxserver/latest/docker-compose.yml new file mode 100644 index 000000000..83536409e --- /dev/null +++ b/apps/heimdall-linuxserver/latest/docker-compose.yml @@ -0,0 +1,21 @@ +networks: + 1panel-network: + external: true +services: + heimdall: + image: "linuxserver/heimdall:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:80" + - "${PANEL_APP_PORT_HTTPS}:443" + volumes: + - "${CONFIG_PATH}:/config" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/heimdall-linuxserver/latest/scripts/init.sh b/apps/heimdall-linuxserver/latest/scripts/init.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/heimdall-linuxserver/latest/scripts/init.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data/config +chown -R 1000:1000 ./data 2>/dev/null || true diff --git a/apps/heimdall-linuxserver/latest/scripts/uninstall.sh b/apps/heimdall-linuxserver/latest/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/heimdall-linuxserver/latest/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/heimdall-linuxserver/latest/scripts/upgrade.sh b/apps/heimdall-linuxserver/latest/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/heimdall-linuxserver/latest/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/heimdall-linuxserver/logo.png b/apps/heimdall-linuxserver/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..aa590926b7a1639e88cd5e45d483256f10d44a05 GIT binary patch literal 5312 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 SP}D#G0000/dev/null || true diff --git a/apps/jellyfin-linuxserver/10.11.11/scripts/uninstall.sh b/apps/jellyfin-linuxserver/10.11.11/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/jellyfin-linuxserver/10.11.11/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/jellyfin-linuxserver/10.11.11/scripts/upgrade.sh b/apps/jellyfin-linuxserver/10.11.11/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/jellyfin-linuxserver/10.11.11/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/jellyfin-linuxserver/README.md b/apps/jellyfin-linuxserver/README.md new file mode 100644 index 000000000..3adb26a04 --- /dev/null +++ b/apps/jellyfin-linuxserver/README.md @@ -0,0 +1,32 @@ +# Jellyfin LinuxServer + +## 产品介绍 + +Jellyfin LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/jellyfin` 镜像,提供 Jellyfin 媒体服务器 能力。 + +## 主要功能 + +- 通过 Web UI 进行 media streaming 配置 +- 持久化保存配置和业务数据 +- 使用 8096 端口提供 Web 管理界面 +- 支持自定义时区 + +## 访问说明 + +安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。 + +## Introduction + +Jellyfin LinuxServer uses the LinuxServer.io maintained `linuxserver/jellyfin` image for media streaming. + +## Features + +- Manage the application from the Web UI +- Persist configuration and application data +- Expose the Web interface on port 8096 +- Configure the container time zone + +## Links + +- LinuxServer image documentation: +- Project website: diff --git a/apps/jellyfin-linuxserver/data.yml b/apps/jellyfin-linuxserver/data.yml new file mode 100644 index 000000000..b0a91ceee --- /dev/null +++ b/apps/jellyfin-linuxserver/data.yml @@ -0,0 +1,30 @@ +name: Jellyfin LinuxServer +tags: +- Media +title: Jellyfin 媒体服务器 +description: Jellyfin 媒体服务器 +additionalProperties: + key: jellyfin-linuxserver + name: Jellyfin LinuxServer + 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 diff --git a/apps/jellyfin-linuxserver/latest/.env.sample b/apps/jellyfin-linuxserver/latest/.env.sample new file mode 100644 index 000000000..9abbf7a55 --- /dev/null +++ b/apps/jellyfin-linuxserver/latest/.env.sample @@ -0,0 +1,9 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=8096 +PANEL_APP_PORT_HTTPS=8920 +PANEL_APP_PORT_DISCOVERY=7359 +PANEL_APP_PORT_DLNA=1900 +CONFIG_PATH=./data/config +TV_PATH=./data/tvshows +MOVIES_PATH=./data/movies +TIME_ZONE=Asia/Shanghai diff --git a/apps/jellyfin-linuxserver/latest/data.yml b/apps/jellyfin-linuxserver/latest/data.yml new file mode 100644 index 000000000..21c1d05b6 --- /dev/null +++ b/apps/jellyfin-linuxserver/latest/data.yml @@ -0,0 +1,134 @@ +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: 8920 + edit: true + envKey: PANEL_APP_PORT_HTTPS + labelEn: Https Port + labelZh: Https 端口 + label: + en: Https Port + zh: Https 端口 + zh-Hant: Https 連接埠 + ja: Https ポート + ko: Https 포트 + ru: Порт Https + ms: Port Https + pt-br: Porta Https + required: true + type: number + rule: paramPort + - default: 7359 + edit: true + envKey: PANEL_APP_PORT_DISCOVERY + labelEn: Discovery Port + labelZh: Discovery 端口 + label: + en: Discovery Port + zh: Discovery 端口 + zh-Hant: Discovery 連接埠 + ja: Discovery ポート + ko: Discovery 포트 + ru: Порт Discovery + ms: Port Discovery + pt-br: Porta Discovery + required: true + type: number + rule: paramPort + - default: 1900 + edit: true + envKey: PANEL_APP_PORT_DLNA + labelEn: Dlna Port + labelZh: Dlna 端口 + label: + en: Dlna Port + zh: Dlna 端口 + zh-Hant: Dlna 連接埠 + ja: Dlna ポート + ko: Dlna 포트 + ru: Порт Dlna + ms: Port Dlna + pt-br: Porta Dlna + 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: TV_PATH + labelEn: TV shows path + labelZh: 剧集目录 + label: + en: TV shows path + zh: 剧集目录 + zh-Hant: 劇集目錄 + ja: テレビ番組ディレクトリ + ko: TV 프로그램 디렉터리 + ru: Каталог телепередач + ms: Laluan rancangan TV + pt-br: Caminho de series + required: true + type: text + - default: ./data/movies + edit: true + envKey: MOVIES_PATH + labelEn: Movies path + labelZh: 电影目录 + label: + en: Movies path + zh: 电影目录 + zh-Hant: 電影目錄 + ja: 映画ディレクトリ + ko: 영화 디렉터리 + ru: Каталог фильмов + ms: Laluan filem + pt-br: Caminho 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 diff --git a/apps/jellyfin-linuxserver/latest/data/.gitkeep b/apps/jellyfin-linuxserver/latest/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/jellyfin-linuxserver/latest/docker-compose.yml b/apps/jellyfin-linuxserver/latest/docker-compose.yml new file mode 100644 index 000000000..91c6c915e --- /dev/null +++ b/apps/jellyfin-linuxserver/latest/docker-compose.yml @@ -0,0 +1,25 @@ +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" + - "${PANEL_APP_PORT_HTTPS}:8920" + - "${PANEL_APP_PORT_DISCOVERY}:7359/udp" + - "${PANEL_APP_PORT_DLNA}:1900/udp" + volumes: + - "${CONFIG_PATH}:/config" + - "${TV_PATH}:/data/tvshows" + - "${MOVIES_PATH}:/data/movies" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/jellyfin-linuxserver/latest/scripts/init.sh b/apps/jellyfin-linuxserver/latest/scripts/init.sh new file mode 100755 index 000000000..ee575da4e --- /dev/null +++ b/apps/jellyfin-linuxserver/latest/scripts/init.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data/config ./data/tvshows ./data/movies +chown -R 1000:1000 ./data 2>/dev/null || true diff --git a/apps/jellyfin-linuxserver/latest/scripts/uninstall.sh b/apps/jellyfin-linuxserver/latest/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/jellyfin-linuxserver/latest/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/jellyfin-linuxserver/latest/scripts/upgrade.sh b/apps/jellyfin-linuxserver/latest/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/jellyfin-linuxserver/latest/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/jellyfin-linuxserver/logo.png b/apps/jellyfin-linuxserver/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3aedd2fa547a87de894d22cd46edd49e25086f49 GIT binary patch literal 5204 zcmW+)2{=@59~B{zeMy#3F(MJ!w_%247qUl)WNpU2@B2(rS%)!0_I)D8J{ZebCdOD2 z{S}jaSERn_d!KuM_kGUq-1D4!?!C`@pPOoCqJM??8Z!+I%@uGdnPXp=-*8~Sh(Cn7jmCHn*++~~m93)2pM;G?_zs8q4^u@d z?fcw92+xB??IOpF<0h#b{#^1~w?QgMrM(Cw1O*J6$4pp7k5hf#cryb``9!7ZCr-Y9 zJZTv{P8Fx(c9G-YM51EGv>a^OHFQidV@moJ$t-sAe#Vq#^aKlHPA%<|QQYJm__Rve zr#Ef`p?<@F*E3RCB#GA~z-y9Z7U}=3DfQG(90haUfumG}%IC=^^XARIdN#;aFw0gr zC-sWNfSjj8El?|!?;1+bN+B{L=c%rc&bR`XezX(rjoTpX*&sFKbkD(*=R=8J`1lt? z)Qb)AABMafc@a4388Y@Pm_RjYA2Cji!aQcuGG@Xse$pgv0+dA5P9ajQQqz`!PgCtt zm4)BU24oTo?5XL@&YQSWOI)WYNu4HM`!=`fkLa-~{Osei!z z>E;2?Nd;%lN#qK}XhQ1dFlQ<1cZ3b`c;V=Wbgb?J97$0;e)WWqbZC6Sf)>TB_5aW- z+8(-aqyKRJSN+r40k+gwg{@S@HFy)0z1fwVh=Zz7Y&7 ziLvQ?j7EBNNBX}!S8g4^mUd3g#&~a><9j0J+*p4K6wg6_!DB*q(b`BR)vJQ*(M`{* zRoG|EosSvES~T^2WF46*fQ<3I)$hAt`l~uL1A;891-Y86y@s*cA`Q*W=nFzDb9sLT zYts6<^do;+*xZ4MQ_KLLiYxe2*LqkPAb?Lf4r($9;32iE0SRJRW|VyN-wv6YuXFXw zD%`0cv8*VF=DY%}3+uz&;NWDf?Rsg~PEJ-D^Q&nOs6hSvDO2+vmyICD-ohev2%KZ! zUZt@ygC(ROiKkx{78f8*=W(Il>M=2TJe}Cq)>b~D_Ae5Hd$!7gF%TC(X^&uL)E7Qp z9ee#gyL5(Bn4X`}VSM7pI*NGM-D{b8`i_z82~QGm$VK`O>iTG+%})H@zW&#i6xhJi zMyJQ3hx9DZIEjrm(!BCV)-y9%{<)R_No^%LyzjAsJZru=D!yUyzBb-Jiua3OBHMw?+y$pf`MZ?VSvvOZV zfhPOS!Q*PR$g~#csKpFNE2skSz@TVt;?_U}4{I{+0u6>%+#-HjtbQrK9DS0!#b7P;rzMt zGk1&6pv*3IV)<)3!EFzOe$%$7y&U}<^eFqW8zEwT(JJ<;CXQ>1jUgVmZ~Ip9{+7u- zb*7i9h}HJzGj$x^CEt<>CO)Ee>F?yquZOf3bvFi)Pmv?4=4-FC%dt6QR=@03z8#*W z0s()E-iu7;5kNV2uJI*4iLP0@t5Msa=7hm26q}UG=NYvU?A(d@Ul3rj!m$80j$-*p zFwaPQWea9&uivwh_GSEXxRj{A%fm#KDTGa-08MIF6&CMa;5~~-q8JU1LDiT^X){a4 zrS+0%vs9JryzQ6VRY0~6jRQgFrUoipUfNo2Sb@ZW7geq@6Jf5^@Rv-l$N=!{6Uu7hzBAb)KB=VhfN2|FM3`+ogfCDYfFM{HyRE5|Gv&#m3ZUq*$=H#Frpn zW1e|~ow&rW_A9jROpN4J)Ep zg_l#uzw??DxO83IVs#3>57YY|bwj;ac9sa>?$$3C3{#P2Cq8@H+&DLz2#0SL-wz_w zAhg_FeCX{Tihs;5-A2Y6L-Mn;OVTI~Q9msCSNB7%=DNmiobjp9-|S=&txej@iDfL9G^2gcOhn@`woxMhh`s^Dne=gjPTDq&fj zVtph~auJrULlTs_G8UKX5rRq|_%NPoZ58}@N89`={lz;Iji1bF2Fh`THOCg2h;>aunK@<29;mD59Ch@kqHUzldx{bRwLuHM zNW;AKSkZs4a?BQghbK30dYMHfW=4j1m7t{q(gOBp^)_ zC}L@|rnHu0Kc|s~`{f%LWhL00?jChzu6G21UDILQ^+ImIDks~KwSZj1cGgvEN>m^F zZh8|(mD&g7uqB`WIw10A0c+J=T@Yg|p+}iW@-&|`(0r?tTqr_HS$zA?yTc68w@C*Z zHyH~)q$mSe$EJk^M`bhzcO6d6WV*fP=C~G0Kicc`4DS|*z6>nqfBEd5E#S^eWia&- z-#4v2B|U-B2xv`md=6}O4=m5W%Dmik;fxmE)}dKnz6W36xfmvd(MWS#v)xPIUGiPe7VQ)E#*; zK@!arhfU=?gC|RT=z`wZEbh&Mxq(E0^Hhp9C(@=9k1s?joDJ0jHPjAxcp;dJU0qu z1(B}sdij%PlBehBkC)!GsN<8^YoCh0^jift1S+iA+$}NKhhzj=-u4IBm3UksOx6!F zup|EK4Q$Y36e?ut=yhdqn2>{626K9;abG0IJcFi5%pzui$spsq%cKhl{~7vG9+;p3G9o6gewO9NwY-u2&&*a|CTCP5iD4C@rO;`T z+7{OHwU0eaWgL{1t0zFIuL7lIw;- zf>ZJ3JlxO^b{fj+>UJdVGCFqRY94Q-%iw*VzdHug==)$ib=B!Z@8qb!(F0%e&-qOc zzm}Lr!h-3M1sl9VhGt0{!GApFeS=Mn7x8O-jBMB2b2>kd{6@iw_3o~uXi{~5yF2-O zqM0apwQUTY?;$h+A3ESR3o^kdk!X39Bc&?mkEF zE}LD9#FYK4&g*S`V`Ryu$!aVuwt546yS2|xaxUyb7`@o($4WK>A>~P&M(EVkLF+?$ z!^6G3cOz=D^?HoDCDrkrG@XsCE}CB=s`gnob?sM+)ZY)(Rria=YpQBSEe+k}Tjm>! zLj0hov=xh@;PA5FeHprJboyf5<44z^^334LPn8k7%*VtkX8>nvL@>5|UprOv&-b0C zufTdewv%tRYVafqT9+SE+w#zy8*IN@AD*_ue{!>}rWZu^vd4Ias4b_LW;t~X;Jc=r z-=)@(ygrPTbA$Qsau%C^C_LlJHhuD9bGrcut+lQuwI~77n&SLg^~JDQEXSw{WUNa( z6>Y6%TLw6_aQ0xtLn`*vTc?6xZt_xE&grcDkS(`#lni`l6BBYdAcWH4tY#gNkCWDc z)*g=oujB_LOOMgPlnUQ3INq%hI(VUpIV5vBR-X@A)TJ+D<3`G#pwXsAdhcJDj!v>p zplJe)~9<}d)zHNvQ9p?ST!zR3`$mk3|@g8OhoT@S|EC=s{ra2yAEoV^%lij zl+YsksBPcpq7o0z8)Sk#MwHjgVl`DN{mid#QNoJsKU|knIqKK+ zfi$KIttTp~yDO9EbUJ9evkO<=Y;m1 zYQsn(iO=<`?MgH6uf%!Xzb1b{Vh%w#7^eC%{t@NMr>nrWsedVs0V+JVCIdXs`IeDb zf&O!s`DPefRQw)u#KX=L)D4%y`3q)*|IubTKwz#NV40{I|@dJg9lkYJK&#~nQ=PCrT+VP>okbGDB*9+y-rt)=me@! zUZJY3KJ!=eCmw~J3%U2@5StWHVf|UL?}t^K=Ze{rE@HXl$Yj7u@T)+OC`!OEZ@)q; zTQnv9fx>^mRv0m#c|=O+f-b*w?ccd%lXo6ws6E3xfTwXe`u(l2QEhWQd0}}Xy4SI{ z1;w6i;~X#qns~$wwvC?V6$%gAgnhgo+lY;W0j4o;6iA2^+rm+zHDp77KUE31JX~{{ zL$NRjD0K1)OfyX*aNXI}uCYhIMvzekiG(eZI2x3_)^a z3?lbC^lvJ?KFz!m_&Z7GJs=G=2TxAA!Hi9(J&CZ-+&cQ+$2q8i1bmKa9f?~L8}z)^ z&Me4c4j1>6{Mv8cC-d5C@OVBAdbT*9R5Ea3&a){)5r_}SIZDY5{LZ7oEahH$__)R6 zi=S_;FGW>Tz$WLp=OIJLf>QujLPOb24g{Gmff@S(aC*KvlkZW7IOvKG%-b9%3Lx}d zifr_79yK^L8hz5;xnSqR=Ktt+tK-zM#G~xfP1gRJ%b01#@V}$0fBkC1W~Ty|J@Et| zGUj}^w$gy~+`8HB)&oZWx2Vh7W3iciPZT5T$<`Xt!G*TCSBkQmLgfDYXBsD))92iS z+skwzbn-GRQg0t`6m*g6+pH!S7Ha>9`#AH?VPzH+);=sjupWPZFUPi1*pUFs-HxuV zKWxQ*zskv$+Oz_/dev/null || true diff --git a/apps/sonarr-linuxserver/4.0.17/scripts/uninstall.sh b/apps/sonarr-linuxserver/4.0.17/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/sonarr-linuxserver/4.0.17/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/sonarr-linuxserver/4.0.17/scripts/upgrade.sh b/apps/sonarr-linuxserver/4.0.17/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/sonarr-linuxserver/4.0.17/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/sonarr-linuxserver/README.md b/apps/sonarr-linuxserver/README.md new file mode 100644 index 000000000..65080fd1c --- /dev/null +++ b/apps/sonarr-linuxserver/README.md @@ -0,0 +1,32 @@ +# Sonarr LinuxServer + +## 产品介绍 + +Sonarr LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/sonarr` 镜像,提供 Sonarr 剧集媒体管理 能力。 + +## 主要功能 + +- 通过 Web UI 进行 TV series collection management 配置 +- 持久化保存配置和业务数据 +- 使用 8989 端口提供 Web 管理界面 +- 支持自定义时区 + +## 访问说明 + +安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。 + +## Introduction + +Sonarr LinuxServer uses the LinuxServer.io maintained `linuxserver/sonarr` image for TV series collection management. + +## Features + +- Manage the application from the Web UI +- Persist configuration and application data +- Expose the Web interface on port 8989 +- Configure the container time zone + +## Links + +- LinuxServer image documentation: +- Project website: diff --git a/apps/sonarr-linuxserver/data.yml b/apps/sonarr-linuxserver/data.yml new file mode 100644 index 000000000..963c9cb99 --- /dev/null +++ b/apps/sonarr-linuxserver/data.yml @@ -0,0 +1,30 @@ +name: Sonarr LinuxServer +tags: +- Media +title: Sonarr 剧集媒体管理 +description: Sonarr 剧集媒体管理 +additionalProperties: + key: sonarr-linuxserver + name: Sonarr LinuxServer + tags: + - Media + shortDescZh: Sonarr 剧集媒体管理 + shortDescEn: TV series collection manager maintained by LinuxServer.io + description: + en: TV series collection manager maintained by LinuxServer.io + zh: Sonarr 剧集媒体管理 + zh-Hant: Sonarr 劇集媒體管理 + ja: LinuxServer.io が保守するテレビシリーズ管理ツール + ko: LinuxServer.io에서 유지 관리하는 TV 시리즈 컬렉션 관리자 + ru: Менеджер телесериалов, поддерживаемый LinuxServer.io + ms: Pengurus koleksi siri TV yang diselenggara oleh LinuxServer.io + pt-br: Gerenciador de series mantido pela LinuxServer.io + type: tool + crossVersionUpdate: true + limit: 0 + website: https://sonarr.tv/ + github: https://github.com/linuxserver/docker-sonarr + document: https://docs.linuxserver.io/images/docker-sonarr/ + architectures: + - amd64 + - arm64 diff --git a/apps/sonarr-linuxserver/latest/.env.sample b/apps/sonarr-linuxserver/latest/.env.sample new file mode 100644 index 000000000..c44d58bac --- /dev/null +++ b/apps/sonarr-linuxserver/latest/.env.sample @@ -0,0 +1,6 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=8989 +CONFIG_PATH=./data/config +TV_PATH=./data/tv +DOWNLOADS_PATH=./data/downloads +TIME_ZONE=Asia/Shanghai diff --git a/apps/sonarr-linuxserver/latest/data.yml b/apps/sonarr-linuxserver/latest/data.yml new file mode 100644 index 000000000..67c50f1da --- /dev/null +++ b/apps/sonarr-linuxserver/latest/data.yml @@ -0,0 +1,83 @@ +additionalProperties: + formFields: + - default: 8989 + 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/tv + edit: true + envKey: TV_PATH + labelEn: TV series path + labelZh: 剧集目录 + label: + en: TV series path + zh: 剧集目录 + zh-Hant: 劇集目錄 + ja: テレビシリーズディレクトリ + ko: TV 시리즈 디렉터리 + ru: Каталог сериалов + ms: Laluan siri TV + pt-br: Caminho de series + required: true + type: text + - default: ./data/downloads + edit: true + envKey: DOWNLOADS_PATH + labelEn: Downloads path + labelZh: 下载目录 + label: + en: Downloads path + zh: 下载目录 + zh-Hant: 下載目錄 + ja: ダウンロードディレクトリ + ko: 다운로드 디렉터리 + ru: Каталог загрузок + ms: Laluan muat turun + pt-br: Caminho de downloads + 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 diff --git a/apps/sonarr-linuxserver/latest/data/.gitkeep b/apps/sonarr-linuxserver/latest/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/sonarr-linuxserver/latest/docker-compose.yml b/apps/sonarr-linuxserver/latest/docker-compose.yml new file mode 100644 index 000000000..40de35ee7 --- /dev/null +++ b/apps/sonarr-linuxserver/latest/docker-compose.yml @@ -0,0 +1,22 @@ +networks: + 1panel-network: + external: true +services: + sonarr: + image: "linuxserver/sonarr:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8989" + volumes: + - "${CONFIG_PATH}:/config" + - "${TV_PATH}:/tv" + - "${DOWNLOADS_PATH}:/downloads" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/sonarr-linuxserver/latest/scripts/init.sh b/apps/sonarr-linuxserver/latest/scripts/init.sh new file mode 100755 index 000000000..3c30b7ec6 --- /dev/null +++ b/apps/sonarr-linuxserver/latest/scripts/init.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data/config ./data/tv ./data/downloads +chown -R 1000:1000 ./data 2>/dev/null || true diff --git a/apps/sonarr-linuxserver/latest/scripts/uninstall.sh b/apps/sonarr-linuxserver/latest/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/sonarr-linuxserver/latest/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/sonarr-linuxserver/latest/scripts/upgrade.sh b/apps/sonarr-linuxserver/latest/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/sonarr-linuxserver/latest/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/sonarr-linuxserver/logo.png b/apps/sonarr-linuxserver/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9aba7728fe6711f7fe2f8a20d571dd699196d8a4 GIT binary patch literal 4356 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