From 73c5e079edab84ce9060cc1d142e402a67aa2688 Mon Sep 17 00:00:00 2001 From: okxlin <61420215+okxlin@users.noreply.github.com> Date: Wed, 24 Jun 2026 14:08:06 +0800 Subject: [PATCH] Add LinuxServer emulator and desktop client adapters --- apps/azahar-linuxserver/12125.1.2/.env.sample | 5 ++ apps/azahar-linuxserver/12125.1.2/data.yml | 68 ++++++++++++++++++ .../12125.1.2/data/.gitkeep | 0 .../12125.1.2/docker-compose.yml | 21 ++++++ .../12125.1.2/scripts/init.sh | 4 ++ .../12125.1.2/scripts/uninstall.sh | 2 + .../12125.1.2/scripts/upgrade.sh | 2 + apps/azahar-linuxserver/README.md | 32 +++++++++ apps/azahar-linuxserver/data.yml | 29 ++++++++ apps/azahar-linuxserver/latest/.env.sample | 5 ++ apps/azahar-linuxserver/latest/data.yml | 68 ++++++++++++++++++ apps/azahar-linuxserver/latest/data/.gitkeep | 0 .../latest/docker-compose.yml | 21 ++++++ .../azahar-linuxserver/latest/scripts/init.sh | 4 ++ .../latest/scripts/uninstall.sh | 2 + .../latest/scripts/upgrade.sh | 2 + apps/azahar-linuxserver/logo.png | Bin 0 -> 7066 bytes .../2.6.20260621/.env.sample | 5 ++ .../flycast-linuxserver/2.6.20260621/data.yml | 68 ++++++++++++++++++ .../2.6.20260621/data/.gitkeep | 0 .../2.6.20260621/docker-compose.yml | 21 ++++++ .../2.6.20260621/scripts/init.sh | 4 ++ .../2.6.20260621/scripts/uninstall.sh | 2 + .../2.6.20260621/scripts/upgrade.sh | 2 + apps/flycast-linuxserver/README.md | 32 +++++++++ apps/flycast-linuxserver/data.yml | 29 ++++++++ apps/flycast-linuxserver/latest/.env.sample | 5 ++ apps/flycast-linuxserver/latest/data.yml | 68 ++++++++++++++++++ apps/flycast-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/flycast-linuxserver/logo.png | Bin 0 -> 9197 bytes apps/rpcs3-linuxserver/0.0.37/.env.sample | 5 ++ apps/rpcs3-linuxserver/0.0.37/data.yml | 68 ++++++++++++++++++ apps/rpcs3-linuxserver/0.0.37/data/.gitkeep | 0 .../0.0.37/docker-compose.yml | 21 ++++++ apps/rpcs3-linuxserver/0.0.37/scripts/init.sh | 4 ++ .../0.0.37/scripts/uninstall.sh | 2 + .../0.0.37/scripts/upgrade.sh | 2 + apps/rpcs3-linuxserver/README.md | 32 +++++++++ apps/rpcs3-linuxserver/data.yml | 30 ++++++++ apps/rpcs3-linuxserver/latest/.env.sample | 5 ++ apps/rpcs3-linuxserver/latest/data.yml | 68 ++++++++++++++++++ apps/rpcs3-linuxserver/latest/data/.gitkeep | 0 .../latest/docker-compose.yml | 21 ++++++ apps/rpcs3-linuxserver/latest/scripts/init.sh | 4 ++ .../latest/scripts/uninstall.sh | 2 + .../latest/scripts/upgrade.sh | 2 + apps/rpcs3-linuxserver/logo.png | Bin 0 -> 4388 bytes apps/scummvm-linuxserver/2026.3.0/.env.sample | 5 ++ apps/scummvm-linuxserver/2026.3.0/data.yml | 68 ++++++++++++++++++ .../2026.3.0/data/.gitkeep | 0 .../2026.3.0/docker-compose.yml | 21 ++++++ .../2026.3.0/scripts/init.sh | 4 ++ .../2026.3.0/scripts/uninstall.sh | 2 + .../2026.3.0/scripts/upgrade.sh | 2 + apps/scummvm-linuxserver/README.md | 32 +++++++++ apps/scummvm-linuxserver/data.yml | 29 ++++++++ apps/scummvm-linuxserver/latest/.env.sample | 5 ++ apps/scummvm-linuxserver/latest/data.yml | 68 ++++++++++++++++++ apps/scummvm-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/scummvm-linuxserver/logo.png | Bin 0 -> 4527 bytes apps/spotube-linuxserver/5.1.2/.env.sample | 5 ++ apps/spotube-linuxserver/5.1.2/data.yml | 68 ++++++++++++++++++ apps/spotube-linuxserver/5.1.2/data/.gitkeep | 0 .../5.1.2/docker-compose.yml | 21 ++++++ .../spotube-linuxserver/5.1.2/scripts/init.sh | 4 ++ .../5.1.2/scripts/uninstall.sh | 2 + .../5.1.2/scripts/upgrade.sh | 2 + apps/spotube-linuxserver/README.md | 32 +++++++++ apps/spotube-linuxserver/data.yml | 30 ++++++++ apps/spotube-linuxserver/latest/.env.sample | 5 ++ apps/spotube-linuxserver/latest/data.yml | 68 ++++++++++++++++++ apps/spotube-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/spotube-linuxserver/logo.png | Bin 0 -> 9230 bytes apps/webcord-linuxserver/4.13.0/.env.sample | 5 ++ apps/webcord-linuxserver/4.13.0/data.yml | 68 ++++++++++++++++++ apps/webcord-linuxserver/4.13.0/data/.gitkeep | 0 .../4.13.0/docker-compose.yml | 21 ++++++ .../4.13.0/scripts/init.sh | 4 ++ .../4.13.0/scripts/uninstall.sh | 2 + .../4.13.0/scripts/upgrade.sh | 2 + apps/webcord-linuxserver/README.md | 32 +++++++++ apps/webcord-linuxserver/data.yml | 30 ++++++++ apps/webcord-linuxserver/latest/.env.sample | 5 ++ apps/webcord-linuxserver/latest/data.yml | 68 ++++++++++++++++++ apps/webcord-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/webcord-linuxserver/logo.png | Bin 0 -> 7914 bytes 102 files changed, 1593 insertions(+) create mode 100644 apps/azahar-linuxserver/12125.1.2/.env.sample create mode 100644 apps/azahar-linuxserver/12125.1.2/data.yml create mode 100644 apps/azahar-linuxserver/12125.1.2/data/.gitkeep create mode 100644 apps/azahar-linuxserver/12125.1.2/docker-compose.yml create mode 100755 apps/azahar-linuxserver/12125.1.2/scripts/init.sh create mode 100755 apps/azahar-linuxserver/12125.1.2/scripts/uninstall.sh create mode 100755 apps/azahar-linuxserver/12125.1.2/scripts/upgrade.sh create mode 100644 apps/azahar-linuxserver/README.md create mode 100644 apps/azahar-linuxserver/data.yml create mode 100644 apps/azahar-linuxserver/latest/.env.sample create mode 100644 apps/azahar-linuxserver/latest/data.yml create mode 100644 apps/azahar-linuxserver/latest/data/.gitkeep create mode 100644 apps/azahar-linuxserver/latest/docker-compose.yml create mode 100755 apps/azahar-linuxserver/latest/scripts/init.sh create mode 100755 apps/azahar-linuxserver/latest/scripts/uninstall.sh create mode 100755 apps/azahar-linuxserver/latest/scripts/upgrade.sh create mode 100644 apps/azahar-linuxserver/logo.png create mode 100644 apps/flycast-linuxserver/2.6.20260621/.env.sample create mode 100644 apps/flycast-linuxserver/2.6.20260621/data.yml create mode 100644 apps/flycast-linuxserver/2.6.20260621/data/.gitkeep create mode 100644 apps/flycast-linuxserver/2.6.20260621/docker-compose.yml create mode 100755 apps/flycast-linuxserver/2.6.20260621/scripts/init.sh create mode 100755 apps/flycast-linuxserver/2.6.20260621/scripts/uninstall.sh create mode 100755 apps/flycast-linuxserver/2.6.20260621/scripts/upgrade.sh create mode 100644 apps/flycast-linuxserver/README.md create mode 100644 apps/flycast-linuxserver/data.yml create mode 100644 apps/flycast-linuxserver/latest/.env.sample create mode 100644 apps/flycast-linuxserver/latest/data.yml create mode 100644 apps/flycast-linuxserver/latest/data/.gitkeep create mode 100644 apps/flycast-linuxserver/latest/docker-compose.yml create mode 100755 apps/flycast-linuxserver/latest/scripts/init.sh create mode 100755 apps/flycast-linuxserver/latest/scripts/uninstall.sh create mode 100755 apps/flycast-linuxserver/latest/scripts/upgrade.sh create mode 100644 apps/flycast-linuxserver/logo.png create mode 100644 apps/rpcs3-linuxserver/0.0.37/.env.sample create mode 100644 apps/rpcs3-linuxserver/0.0.37/data.yml create mode 100644 apps/rpcs3-linuxserver/0.0.37/data/.gitkeep create mode 100644 apps/rpcs3-linuxserver/0.0.37/docker-compose.yml create mode 100755 apps/rpcs3-linuxserver/0.0.37/scripts/init.sh create mode 100755 apps/rpcs3-linuxserver/0.0.37/scripts/uninstall.sh create mode 100755 apps/rpcs3-linuxserver/0.0.37/scripts/upgrade.sh create mode 100644 apps/rpcs3-linuxserver/README.md create mode 100644 apps/rpcs3-linuxserver/data.yml create mode 100644 apps/rpcs3-linuxserver/latest/.env.sample create mode 100644 apps/rpcs3-linuxserver/latest/data.yml create mode 100644 apps/rpcs3-linuxserver/latest/data/.gitkeep create mode 100644 apps/rpcs3-linuxserver/latest/docker-compose.yml create mode 100755 apps/rpcs3-linuxserver/latest/scripts/init.sh create mode 100755 apps/rpcs3-linuxserver/latest/scripts/uninstall.sh create mode 100755 apps/rpcs3-linuxserver/latest/scripts/upgrade.sh create mode 100644 apps/rpcs3-linuxserver/logo.png create mode 100644 apps/scummvm-linuxserver/2026.3.0/.env.sample create mode 100644 apps/scummvm-linuxserver/2026.3.0/data.yml create mode 100644 apps/scummvm-linuxserver/2026.3.0/data/.gitkeep create mode 100644 apps/scummvm-linuxserver/2026.3.0/docker-compose.yml create mode 100755 apps/scummvm-linuxserver/2026.3.0/scripts/init.sh create mode 100755 apps/scummvm-linuxserver/2026.3.0/scripts/uninstall.sh create mode 100755 apps/scummvm-linuxserver/2026.3.0/scripts/upgrade.sh create mode 100644 apps/scummvm-linuxserver/README.md create mode 100644 apps/scummvm-linuxserver/data.yml create mode 100644 apps/scummvm-linuxserver/latest/.env.sample create mode 100644 apps/scummvm-linuxserver/latest/data.yml create mode 100644 apps/scummvm-linuxserver/latest/data/.gitkeep create mode 100644 apps/scummvm-linuxserver/latest/docker-compose.yml create mode 100755 apps/scummvm-linuxserver/latest/scripts/init.sh create mode 100755 apps/scummvm-linuxserver/latest/scripts/uninstall.sh create mode 100755 apps/scummvm-linuxserver/latest/scripts/upgrade.sh create mode 100644 apps/scummvm-linuxserver/logo.png create mode 100644 apps/spotube-linuxserver/5.1.2/.env.sample create mode 100644 apps/spotube-linuxserver/5.1.2/data.yml create mode 100644 apps/spotube-linuxserver/5.1.2/data/.gitkeep create mode 100644 apps/spotube-linuxserver/5.1.2/docker-compose.yml create mode 100755 apps/spotube-linuxserver/5.1.2/scripts/init.sh create mode 100755 apps/spotube-linuxserver/5.1.2/scripts/uninstall.sh create mode 100755 apps/spotube-linuxserver/5.1.2/scripts/upgrade.sh create mode 100644 apps/spotube-linuxserver/README.md create mode 100644 apps/spotube-linuxserver/data.yml create mode 100644 apps/spotube-linuxserver/latest/.env.sample create mode 100644 apps/spotube-linuxserver/latest/data.yml create mode 100644 apps/spotube-linuxserver/latest/data/.gitkeep create mode 100644 apps/spotube-linuxserver/latest/docker-compose.yml create mode 100755 apps/spotube-linuxserver/latest/scripts/init.sh create mode 100755 apps/spotube-linuxserver/latest/scripts/uninstall.sh create mode 100755 apps/spotube-linuxserver/latest/scripts/upgrade.sh create mode 100644 apps/spotube-linuxserver/logo.png create mode 100644 apps/webcord-linuxserver/4.13.0/.env.sample create mode 100644 apps/webcord-linuxserver/4.13.0/data.yml create mode 100644 apps/webcord-linuxserver/4.13.0/data/.gitkeep create mode 100644 apps/webcord-linuxserver/4.13.0/docker-compose.yml create mode 100755 apps/webcord-linuxserver/4.13.0/scripts/init.sh create mode 100755 apps/webcord-linuxserver/4.13.0/scripts/uninstall.sh create mode 100755 apps/webcord-linuxserver/4.13.0/scripts/upgrade.sh create mode 100644 apps/webcord-linuxserver/README.md create mode 100644 apps/webcord-linuxserver/data.yml create mode 100644 apps/webcord-linuxserver/latest/.env.sample create mode 100644 apps/webcord-linuxserver/latest/data.yml create mode 100644 apps/webcord-linuxserver/latest/data/.gitkeep create mode 100644 apps/webcord-linuxserver/latest/docker-compose.yml create mode 100755 apps/webcord-linuxserver/latest/scripts/init.sh create mode 100755 apps/webcord-linuxserver/latest/scripts/uninstall.sh create mode 100755 apps/webcord-linuxserver/latest/scripts/upgrade.sh create mode 100644 apps/webcord-linuxserver/logo.png diff --git a/apps/azahar-linuxserver/12125.1.2/.env.sample b/apps/azahar-linuxserver/12125.1.2/.env.sample new file mode 100644 index 000000000..688946eae --- /dev/null +++ b/apps/azahar-linuxserver/12125.1.2/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=3000 +PANEL_APP_PORT_HTTPS=3001 +CONFIG_PATH=./data/config +TIME_ZONE=Asia/Shanghai diff --git a/apps/azahar-linuxserver/12125.1.2/data.yml b/apps/azahar-linuxserver/12125.1.2/data.yml new file mode 100644 index 000000000..e939a775b --- /dev/null +++ b/apps/azahar-linuxserver/12125.1.2/data.yml @@ -0,0 +1,68 @@ +additionalProperties: + formFields: + - default: 3000 + 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: 3001 + 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/azahar-linuxserver/12125.1.2/data/.gitkeep b/apps/azahar-linuxserver/12125.1.2/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/azahar-linuxserver/12125.1.2/docker-compose.yml b/apps/azahar-linuxserver/12125.1.2/docker-compose.yml new file mode 100644 index 000000000..198bcdb1d --- /dev/null +++ b/apps/azahar-linuxserver/12125.1.2/docker-compose.yml @@ -0,0 +1,21 @@ +networks: + 1panel-network: + external: true +services: + azahar: + image: "linuxserver/azahar:12125.1.2" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + - "${PANEL_APP_PORT_HTTPS}:3001" + volumes: + - "${CONFIG_PATH}:/config" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/azahar-linuxserver/12125.1.2/scripts/init.sh b/apps/azahar-linuxserver/12125.1.2/scripts/init.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/azahar-linuxserver/12125.1.2/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/azahar-linuxserver/12125.1.2/scripts/uninstall.sh b/apps/azahar-linuxserver/12125.1.2/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/azahar-linuxserver/12125.1.2/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/azahar-linuxserver/12125.1.2/scripts/upgrade.sh b/apps/azahar-linuxserver/12125.1.2/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/azahar-linuxserver/12125.1.2/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/azahar-linuxserver/README.md b/apps/azahar-linuxserver/README.md new file mode 100644 index 000000000..bbe01c654 --- /dev/null +++ b/apps/azahar-linuxserver/README.md @@ -0,0 +1,32 @@ +# Azahar LinuxServer + +## 产品介绍 + +Azahar LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/azahar` 镜像,提供 Azahar Nintendo 3DS 模拟器桌面 能力。 + +## 主要功能 + +- 通过 Web UI 进行 Nintendo 3DS emulation 配置 +- 持久化保存配置和业务数据 +- 使用 3000 端口提供 Web 管理界面 +- 支持自定义时区 + +## 访问说明 + +安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。 + +## Introduction + +Azahar LinuxServer uses the LinuxServer.io maintained `linuxserver/azahar` image for Nintendo 3DS emulation. + +## Features + +- Manage the application from the Web UI +- Persist configuration and application data +- Expose the Web interface on port 3000 +- Configure the container time zone + +## Links + +- LinuxServer image documentation: +- Project website: diff --git a/apps/azahar-linuxserver/data.yml b/apps/azahar-linuxserver/data.yml new file mode 100644 index 000000000..89c5122c5 --- /dev/null +++ b/apps/azahar-linuxserver/data.yml @@ -0,0 +1,29 @@ +name: Azahar LinuxServer +tags: +- Game +title: Azahar Nintendo 3DS 模拟器桌面 +description: Azahar Nintendo 3DS 模拟器桌面 +additionalProperties: + key: azahar-linuxserver + name: Azahar LinuxServer + tags: + - Game + shortDescZh: Azahar Nintendo 3DS 模拟器桌面 + shortDescEn: Nintendo 3DS emulator desktop maintained by LinuxServer.io + description: + en: Nintendo 3DS emulator desktop maintained by LinuxServer.io + zh: Azahar Nintendo 3DS 模拟器桌面 + zh-Hant: Azahar Nintendo 3DS 模擬器桌面 + ja: LinuxServer.io が保守する Nintendo 3DS エミュレーターデスクトップ + ko: LinuxServer.io에서 유지 관리하는 Nintendo 3DS 에뮬레이터 데스크톱 + ru: Рабочий стол эмулятора Nintendo 3DS, поддерживаемый LinuxServer.io + ms: Desktop emulator Nintendo 3DS yang diselenggara oleh LinuxServer.io + pt-br: Desktop de emulador Nintendo 3DS mantido pela LinuxServer.io + type: tool + crossVersionUpdate: true + limit: 0 + website: https://azahar-emu.org/ + github: https://github.com/linuxserver/docker-azahar + document: https://docs.linuxserver.io/images/docker-azahar/ + architectures: + - amd64 diff --git a/apps/azahar-linuxserver/latest/.env.sample b/apps/azahar-linuxserver/latest/.env.sample new file mode 100644 index 000000000..688946eae --- /dev/null +++ b/apps/azahar-linuxserver/latest/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=3000 +PANEL_APP_PORT_HTTPS=3001 +CONFIG_PATH=./data/config +TIME_ZONE=Asia/Shanghai diff --git a/apps/azahar-linuxserver/latest/data.yml b/apps/azahar-linuxserver/latest/data.yml new file mode 100644 index 000000000..e939a775b --- /dev/null +++ b/apps/azahar-linuxserver/latest/data.yml @@ -0,0 +1,68 @@ +additionalProperties: + formFields: + - default: 3000 + 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: 3001 + 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/azahar-linuxserver/latest/data/.gitkeep b/apps/azahar-linuxserver/latest/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/azahar-linuxserver/latest/docker-compose.yml b/apps/azahar-linuxserver/latest/docker-compose.yml new file mode 100644 index 000000000..33a002651 --- /dev/null +++ b/apps/azahar-linuxserver/latest/docker-compose.yml @@ -0,0 +1,21 @@ +networks: + 1panel-network: + external: true +services: + azahar: + image: "linuxserver/azahar:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + - "${PANEL_APP_PORT_HTTPS}:3001" + volumes: + - "${CONFIG_PATH}:/config" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/azahar-linuxserver/latest/scripts/init.sh b/apps/azahar-linuxserver/latest/scripts/init.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/azahar-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/azahar-linuxserver/latest/scripts/uninstall.sh b/apps/azahar-linuxserver/latest/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/azahar-linuxserver/latest/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/azahar-linuxserver/latest/scripts/upgrade.sh b/apps/azahar-linuxserver/latest/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/azahar-linuxserver/latest/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/azahar-linuxserver/logo.png b/apps/azahar-linuxserver/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d7378949f9beccb029f36bfcea38db8d21a25bd5 GIT binary patch literal 7066 zcmcIp^;4W(&%PH}D6Yk&6sK5mDP^(Z?hd7}xVv?sMT!(kaeuJl?q1y8-L1GUvV6RM z#CK*+a(+oBGs&D>x$;9*Sq2+}90LFVY&lse^%q_9zxxXLMPd-%yhx-tRYgtdm&gD2 zQB;)k_xIM+Qlq4#fQWxwUY@$T`uFeO_Wb;4Y;2^U5I-g+MsacO&CMACaRq-kUSFS0 zNQmL(<))*1yS=^S?c*jVCw+9Z)!yDcjdk!-* zqm-1m{QN9tW=2vnA|oR`cX#LT@L)A{rRL`9jEtnRvVz^CITueWZGE-4l^!9E_UPK$Kbq6O`pU1@mOPj zVfRwa2MK|QB*(+2a4Sa+UIB6r?$-(`Gz*9QVF})Slf@zs=Fk}V*PUh?y_h3 zX|QW6XX)0vVLq2`E+PhHbRYt+1NUk9BvYP3xea=JYHWL4 z+vcl7-z4e~y|i`HAd1Mua#pL{*6uP?XN{K|8jNsY7=G;nz$Ena+=ood)Ze~m_O>`L z4Qy*9w`Nyw83us`=cDKAfTYB=x_wLDFexz7hgix)e{#e`cJLpKs*sC zq4YbRM3@|O1}TeGp!u0l0hF3fA5u8i3uvw|nnX);XGJqA+io6L!lZ88$$m-qd zKbqN2#gM4RIj%BKDgL!){EpXoZ4=UfVv|W2qjX>6buF9G!VtxxC^ zKqio1j%##b9cN>TCxj(oQX7{_QDKf}{ zMSvkEFpuO79Y8Js{cfGVZiqB;JkECh&6Nz6KXOp~jzut$k_w&7a0s4(oMm&lN;@YT z9v)85w|V;NN_mW1wKibjtJ5b;)lA&5!|cV_gu%)D{QSw?gjm)APX$~FB;+B>H5=r( z*m(T<*||bywnUXdR{AyeecIcqsjU*AR$`I9%--4tGN>BofbUpyJKu|ZOlH8yM`HMc zhL2(7Je!=@2auh3||FS=O#2L1|ZuP8bkw_rM`%9z=2iQI&Bu{9wBwIQlUc zRFRS%om;6{6gRXZpIlSZmTT2B|3(c7|D#o=k2iyh4^zQxUlb-w zWDWX@@?GR`d<9rxSwC+5(~XV2{#$|ZQn{(+g(Fq?&djX| zR=0P3eEN)|zwLf%uz|58T&3^q$QICx>hwt!QeFe3^%JAd?28V@h*}3&QU8=}9MYn* zcvQry4do0sz$|V3$#!lqki{&xFx_Mc(?%TK1|6Np_nI2?<@xIB!p}YUl2c7C1xBWF zXjo}9g~|l*)>xb|uxn!Ep_A?TLRL@;c5T{{S%6X5M7%1=V*><39R(mTY1Oh3ULyBGZH4v)*j7P)IZo+x#DLNV+}R?eMU8ZJ`z?_}Yt--}1{+-@zuSIyrC^O= z#V`lE+6OadQLrLI#+Eg1v=_?ojW{ta@0L$LB+B^`y*fBmGv+0vV`RgGBvD zrWC$M`~4cExx|Y3NeSj*&3#y9}c?|E?2P28nJL-HHPBC5^aRL3x744xkM zR6LjzjW30ftK=Zf|78?!VuXH=b8Yl4P#{;2%@efhBO1c|fkmWMs}3l?TPt>I+BowH z;X3gQVl}W|`A-)$l0$}c#YtE28wYaifTFwTx}rIn*&oUeWH^R} zibn*SSF?nmx}XW`?835?XZ;2}^59TBJ56mGrC^FFsTQXiDN&{nxIzh5sg#x=<05RL z%WQR8Ecla9wEd$@Djez_1=6%u`am32VZCOHaa9@AiU~9rb;2=3>MRw{+>})-NU9^Bokg>-^Py*UB5RX20F0g9kc{f*@Q<2-K8PBGy-f;C3br(h z5?u-U^0xp?blsD@@T=1rIp*fQPH0z#&~HmLKno;2q%Fk7k>)nbtmwS&%#_8d0R$?V ze6TY@xHpr)7TMhJ%w!UdGRKV}+K>^K2+H|in|-?GV;l(IaXKuBg(aF99o-ON-anEu zTZu3S#@L=w=TIFMR;(+p!;9=@Fgm#MmbR;gsq5~J+bWUx)vF9k>KU&pGe#fOZ~`^6 ztFt^ficdFt7`G(_Ajs`g`aa{7+A|2h#Q|#4E1;B657MH2I?$d`k5)1@2-U}%crpj_ zx&12}+ZFH(NCT>5(UuWMNup1%niy`srdwIln7}Y^I`y>IU(RiCi1jLebNXmtvInxf^M6^P++sYYmzUT}|G@V~2b_HhJCXWr z@2YSWQ(R3M%j|_Z3ulAl<)_!6c@4KZa{Yq_yvOXINQ@+#D17ZbF*D zEazAqM}y+(4n!4R39nW*hNP_|mVkJvnzjVS?pzXrZY$8T&~lk*OKvmmmw)?l>Dymq z#8kC)k+Y=YEoccOWcRkYGI6fB0RNj>=`mpG_j3si_D=V3Ezd&uf;X7NeAfEtwHMy# z%iIZ1ImK866L5cCHXF3x zHx*OWGxaUdMpuMpo|p22dSgHpXC~iTml~kG9%C7;x2vN4U)@y_?%@|n`i)-`U7;d; zNly!(%yx-P6Kq@AD5#d9NnlGT$nx`8>)KYS8Na}nvLWn#40|8>TnK$1x4<>_*RPlg7YkSTzdp^+<#HBO@v5LKON7@PI$L(>42yiw`p$fSBMTh(TZo+?U2$%a$_3OF``8rdO!l+fVk*e0k{Q5G!Mb1QH zW8=J<dz^3kwL`PWv;d zr1wrSDW?fuZu5uKiyh!U{Ny9k*L;WOVj0t2W0d41ljC}MxmS_^ z&1|NLP7`$A{gDZ(?m%RU1srYAVG-(j^P#fCT-Yb8$XW14(;2Xu)VVl^GnZTua1!O! zXc^_S#F+B|gaFw)Ls5v4bNOO+Fi@ZdkjLSNT6 zH(hVHW(c7iPXy4f*Nf!={@xxp{abz10Zy}ZNaDg&wmSLz{J{Mqm7SY|gPEDhvnUBk zc?*K(ZiE8L(HdFZ?sGXZ7vM`KV)DWH?oM*_!G%!&)KE#}or0MWI_VMovt>>tJlM6a zQX?Wlr|c02m$KdI;MVH^*Rc)0YuoZ51q1fLAv6h?A#IFzkp6=kdxT4Sr z=#FazO-ECj4|4+YD3C57f^*gGRJ3*VXHE=p^lfVXc{?=mqj1EtAADzs=IMa@t-A|L5`c)3PFH7?Q|BGcHgg@KayeSft1w;h4G7 z0>3gjOZ=Z%XD}woXqu2Sv5MIJ{!(uZ)0Bq}IoN3h4jrH=~}s?k8j%-FkX#6=Dv?)A>;WhGJcv(y9h& zFyx=p#Db|SB?+3n=vT?++tXDv6{F{ig()4!)t38?%*qGP@{jOdioUPat~ZCB2G3yx zpK(y1ED8IZDc|FQu>jb$Slqj^7!b^pK2H35uXFcSy8;aE-)6IEYQ~cUF^E?FC-Os}PJ*ySa5ofuWofsbY;f=4zR3Ue06iy=RZ7 zEl#myuf6JMF~oYRO54+BM>QHrTSjU`)fXrIA&m#Mi~FJ|jSk}YzUW|ICQrAXkrDTk zab1G7k*i3rd0jS-TiB9|+j;yYnsIx;({%l5z{6N{xqtQEbo`u2dsW5R^_=Sjvx4m2 z_+4C+7`pz9W_zHGxwBSlEE4dCmV4D=(<*b342?3Q=@RGp4Q=I1LR-5CZxO}M5hTRr z%dc$3yf^M^$JnD=D;m6x(Nyr%oq2>T3w!ObRT*OdwRaD3E!p} zaPx8!c^ro16AY=*+AeUh_`54PH}cXhtqHBy|LIQDW#ex@?Vv9A*gYjF|8U#V^8oMZ z>G{on{BEy}m^3AkB{`Jx30+|F?Sf!}W;_y*b5i?9rbpK<0Fmpn+xz#M<65=S!(-vQ z2$J^0+W^F@A@T5cJVN`M9=H;VKsf!TJ`1=*WHtGHLf_}hOUGjhswtaRG=%eUVT5C5 zfafj^rVv-3b2BCJOTDk)>AWpd1v%lkSqwowSL)hjeiCiDUHyjk%r|pcW_GH9>FPRR zb@g@lJo){?h;TJ@Jg(?VRG0FUc3D@R#=9FfjZ zOITSYoWPd|TbYMysMMWaqz2=@4-R2}ne!LjEj?ZkJ=fuM2zg)m*NRHrBVP^Cke|Ld zE&fg)afAj5qQSB^f6$EXLG`}ecvuT?@4x}REtD)aJ)Lk(J~dc1r-j1E1Z^UR(2|Ev zn1y*|BV3n_IHG5FH(M>i0-g3|3aDP5-Ly&!m=@)!Rml2soR$GplqK3t%d>QF$4*jl zHGaCk+RgKcU^sgF-D1n)5M|vf*#XJvVyJ|20*-1&ZX3hY%8eZiVji5sz9wdXWf&Fi z)LSoYS5=HI<1)rDoZeW2O5X?TG@XYDZ(g3+wEi9z&MwnJa{5yz8OmEn^?~Y;3g-F& z)5;?SgcZOMZ^%*X8x&^ za-<8`RJO93Bm3la@2hCyNV-0pc|MR=D7QaE;Ml>$h5eZtT#(Nfdc{hXrG$UB&zn=I zc*Y|kpX%1BGQNeCHDOT}vA~#!5Z^Oy^%9mGK^;m&Wi!iAjM~XJDztgM5{6d`1x)jK z2>ZnfjqjbxiC?0daP1HLIWC`sE|R`DD*&crDe9x{_%}HG#>hkv-fJg-EITKK=PU}N z>f|Gx$lX)C($s&w`Z3n!_lO`e7L=vhzSe`@;{A;pWTJ}k(>qY=*-`XN!r$r%{4Bbi z)290-4I&p9PpVh;R1sorJI-ouSG)8s@KZ6HLLa$6<4*wdCIKrQTgUdSoqjar zq8o<_V&*dS1)jyi7Ypuci=>8N4?9^;(*E};#p8|iUzS%8xp84c9)mfL2PDi$8K-*J$044X79AzVr& z$fiEk0=uySZx66+8+_&8D*dvh5D96}f-y1{L%w%i`ve9amA2(Z2A`l7NKnbLgLT2w ziz$*s`J<|O*wQ{4>5oy+zv^P5KzI>yKpf>;;fRa3T8E=lpVW3Y-Q+i z`}l9Y`^jaG;*MzzELept!*seotmRF)jv`2#TI6xTz^HWzaO@2alc8Hbiva`6?=BY6 zRKa;l2C$V!Hy&S&2|?73SiQ`m`b7&GMjU& zNju2SB^act&cHQb@hjn+Ci^m|s5l3Rgil74^D0%_Zq_sqaP4b%*qzn^sx`0UK~#E^ z;V>A64Mcl7ALuCf=8+-x`MB&DU+K%@4q2`w4|rE`v+gy!(!Ti-HXNXLQUH~GR_9w0fi8f{@%KbS-gYeC0M@VTACH)%C zS}<#qW!nFqEk)02?d3R7l7YVU-?+52Bm+RbSaqRf%Sg7K!Mb?EqxRMrg zXI*Sw#t?3?QFA_$Idw@s@JDhDS9QeO{f<== z=tLNDdoE&6+rQcG#0~0M=&_t@?g|t7}2J=!z(7 zdH!M6b}-K+zRLSGT+v?RF}%QT*zy|Yms5ULx-hBVQlzP-UWn8&OvC{4pQx-wTDJ!ZnMqG!R{N9hdD*mYRMv9=@XFn3jmOOPZFnT7t-~5xqRv*K8 zK5{7~R?0hx&jUkXda>5tdEUG$=pv=B@rQVX)Mima1EW_EQzvc4h(a{VQTBybIz(h~ z=t6LXd2w2j%{tOHsP;F9aAEa)+N$I_z~I~-wSq6E6lU$Gftu(x&&QzTyy2BuJVlB6 zrM~+s3u6(>uU<}ZoTZ9N_|<)9Sqx+F*5Ky}b{-q@JZvJsJ9uB4oR7gmX|hUtqLjbL nR;s@5*x7fP`bAYH_dbJ0lhJl28Qb6fZ^I@htt?e0VH)&*(IkOS literal 0 HcmV?d00001 diff --git a/apps/flycast-linuxserver/2.6.20260621/.env.sample b/apps/flycast-linuxserver/2.6.20260621/.env.sample new file mode 100644 index 000000000..688946eae --- /dev/null +++ b/apps/flycast-linuxserver/2.6.20260621/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=3000 +PANEL_APP_PORT_HTTPS=3001 +CONFIG_PATH=./data/config +TIME_ZONE=Asia/Shanghai diff --git a/apps/flycast-linuxserver/2.6.20260621/data.yml b/apps/flycast-linuxserver/2.6.20260621/data.yml new file mode 100644 index 000000000..e939a775b --- /dev/null +++ b/apps/flycast-linuxserver/2.6.20260621/data.yml @@ -0,0 +1,68 @@ +additionalProperties: + formFields: + - default: 3000 + 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: 3001 + 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/flycast-linuxserver/2.6.20260621/data/.gitkeep b/apps/flycast-linuxserver/2.6.20260621/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/flycast-linuxserver/2.6.20260621/docker-compose.yml b/apps/flycast-linuxserver/2.6.20260621/docker-compose.yml new file mode 100644 index 000000000..efb9a3869 --- /dev/null +++ b/apps/flycast-linuxserver/2.6.20260621/docker-compose.yml @@ -0,0 +1,21 @@ +networks: + 1panel-network: + external: true +services: + flycast: + image: "linuxserver/flycast:2.6.20260621" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + - "${PANEL_APP_PORT_HTTPS}:3001" + volumes: + - "${CONFIG_PATH}:/config" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/flycast-linuxserver/2.6.20260621/scripts/init.sh b/apps/flycast-linuxserver/2.6.20260621/scripts/init.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/flycast-linuxserver/2.6.20260621/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/flycast-linuxserver/2.6.20260621/scripts/uninstall.sh b/apps/flycast-linuxserver/2.6.20260621/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/flycast-linuxserver/2.6.20260621/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/flycast-linuxserver/2.6.20260621/scripts/upgrade.sh b/apps/flycast-linuxserver/2.6.20260621/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/flycast-linuxserver/2.6.20260621/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/flycast-linuxserver/README.md b/apps/flycast-linuxserver/README.md new file mode 100644 index 000000000..903d0373a --- /dev/null +++ b/apps/flycast-linuxserver/README.md @@ -0,0 +1,32 @@ +# Flycast LinuxServer + +## 产品介绍 + +Flycast LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/flycast` 镜像,提供 Flycast Dreamcast 模拟器桌面 能力。 + +## 主要功能 + +- 通过 Web UI 进行 Dreamcast emulation 配置 +- 持久化保存配置和业务数据 +- 使用 3000 端口提供 Web 管理界面 +- 支持自定义时区 + +## 访问说明 + +安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。 + +## Introduction + +Flycast LinuxServer uses the LinuxServer.io maintained `linuxserver/flycast` image for Dreamcast emulation. + +## Features + +- Manage the application from the Web UI +- Persist configuration and application data +- Expose the Web interface on port 3000 +- Configure the container time zone + +## Links + +- LinuxServer image documentation: +- Project website: diff --git a/apps/flycast-linuxserver/data.yml b/apps/flycast-linuxserver/data.yml new file mode 100644 index 000000000..67f46525b --- /dev/null +++ b/apps/flycast-linuxserver/data.yml @@ -0,0 +1,29 @@ +name: Flycast LinuxServer +tags: +- Game +title: Flycast Dreamcast 模拟器桌面 +description: Flycast Dreamcast 模拟器桌面 +additionalProperties: + key: flycast-linuxserver + name: Flycast LinuxServer + tags: + - Game + shortDescZh: Flycast Dreamcast 模拟器桌面 + shortDescEn: Dreamcast emulator desktop maintained by LinuxServer.io + description: + en: Dreamcast emulator desktop maintained by LinuxServer.io + zh: Flycast Dreamcast 模拟器桌面 + zh-Hant: Flycast Dreamcast 模擬器桌面 + ja: LinuxServer.io が保守する Dreamcast エミュレーターデスクトップ + ko: LinuxServer.io에서 유지 관리하는 Dreamcast 에뮬레이터 데스크톱 + ru: Рабочий стол эмулятора Dreamcast, поддерживаемый LinuxServer.io + ms: Desktop emulator Dreamcast yang diselenggara oleh LinuxServer.io + pt-br: Desktop de emulador Dreamcast mantido pela LinuxServer.io + type: tool + crossVersionUpdate: true + limit: 0 + website: https://flyinghead.github.io/flycast-builds/ + github: https://github.com/linuxserver/docker-flycast + document: https://docs.linuxserver.io/images/docker-flycast/ + architectures: + - amd64 diff --git a/apps/flycast-linuxserver/latest/.env.sample b/apps/flycast-linuxserver/latest/.env.sample new file mode 100644 index 000000000..688946eae --- /dev/null +++ b/apps/flycast-linuxserver/latest/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=3000 +PANEL_APP_PORT_HTTPS=3001 +CONFIG_PATH=./data/config +TIME_ZONE=Asia/Shanghai diff --git a/apps/flycast-linuxserver/latest/data.yml b/apps/flycast-linuxserver/latest/data.yml new file mode 100644 index 000000000..e939a775b --- /dev/null +++ b/apps/flycast-linuxserver/latest/data.yml @@ -0,0 +1,68 @@ +additionalProperties: + formFields: + - default: 3000 + 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: 3001 + 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/flycast-linuxserver/latest/data/.gitkeep b/apps/flycast-linuxserver/latest/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/flycast-linuxserver/latest/docker-compose.yml b/apps/flycast-linuxserver/latest/docker-compose.yml new file mode 100644 index 000000000..fb873ef26 --- /dev/null +++ b/apps/flycast-linuxserver/latest/docker-compose.yml @@ -0,0 +1,21 @@ +networks: + 1panel-network: + external: true +services: + flycast: + image: "linuxserver/flycast:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + - "${PANEL_APP_PORT_HTTPS}:3001" + volumes: + - "${CONFIG_PATH}:/config" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/flycast-linuxserver/latest/scripts/init.sh b/apps/flycast-linuxserver/latest/scripts/init.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/flycast-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/flycast-linuxserver/latest/scripts/uninstall.sh b/apps/flycast-linuxserver/latest/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/flycast-linuxserver/latest/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/flycast-linuxserver/latest/scripts/upgrade.sh b/apps/flycast-linuxserver/latest/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/flycast-linuxserver/latest/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/flycast-linuxserver/logo.png b/apps/flycast-linuxserver/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..91933f05db280288570f64209c8e2749c15564f4 GIT binary patch literal 9197 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

=Dn8gm9I{7%#_Zg#cC--Y6~YRtbP9BDxg zkl`M3qV9M4{KGE$GTncSxxj^bs8;l72{ONx0CQrc2wVvKYD^F^A_QjtwzY4gJY!z} zqLKE?S2tYU{Cto^NWZ-Au4XWH|Hr!dRD}zj5|3Z4Y=2GPuw_jE9!QuNm|cCd`uEB4 z1z?2_s33-r9|joj>TQ^gXurYp6I*lWkg^M15W`!l310h%Wt-`0d_|b#%Fg(tzt+SA zW7rQZq^c=Jc>?oy)l*-*KlXg*a{mX z^uvI5+Xi>PaE9Z8V49I-L*xPVZ3=n8$-U~v1So;4OJBdSdO_ehG3o9YLG&0I*jvTd zG1!P)SFY}n;C7S_;s^%y7bSG10{|RC##mJG(tdo!r*uY7;}4|Y=GcfDg^xE%D$@yc zEJv`B;=f=P>nMJw$3QYL>O7$NwkU)K0;+GYJc0_Uh85j&9 zD1l@IvR&I^cy@Cy^RC~HT_D9bVw7$H>osRV0Vr#raSMvH0em0;TA3*Q?j982N)xCO zo0^2*WoLgAIhFi8ZmYVaG-oizNZ3$)Dgh#>?9HXi-sB(z*B%{_+_0<)DVk?6<$yS61uC5w@> zT(u=1H{>Lw%VeYGMk3k(ye8rqs^>!iT7|*CZb#hDaW>C;^+E_1y2NegCU`&>Q93-P zE8Ddw1y=*b0Vp8MuesDx_c@0VSj4ws%j85dJG_Z9R9$|+zlKQlpL=V@CMK}>oWjKq zs7x5YUC5`Cea*-IH8_DVZTRA+jW3#Y7UntVL;m)3=nG~i^L34}BjgJl#%wUVB={8r zBr-h3*)H8buq-}m&|R;fAHC+mQ2Ls^9SOyRGmBMWD@m83mY>g&$$Z2QCXmf|^>uO` zDOVB2ml&C5ma_;rd?;0zsm_8i>=cz<68 z(o|sNRKRTuK`sUI4U63LAu|=Wl(Wq2v~g+?_j7&eaao%J!n%Oc(&MCRO zaIYHWUIu)EXTGq7f>4SoJ)@bwGDz|tlr3i{^VF`CsAO%3tLPnm3^g#y<7siHl$9jN z(Y6u{B{Qm`wt>Iql1ugo-is}~v=k|C9m|95QOwdur}Y}q2Gko#+hEfvrSvj2o1cUr z^wJ(bl@xZ|kuYK_9Unt%x$TgaEC}SL+tx^C$ZCs&ZODIr;!`TiKgui5%m*i z3R*$O;us?^=BUd28Cmxrw7Bgn!RZu|Q%8D4lrYAwsuU~^i{nwYbRisMbH{jF#KeEW z-`L4fBDd1P;0ue^93;mlG+ZualJWk`ly=tvIY%P=Qzpzcy*Nm#oohgCGfaFDOft>L zVnm)|MS$u${Fx-B3MLv#AZvpfPlu~}PCj`p>)`z+YxM=!HHZQKUrk=DELdfDtFbrR z8fS2a#Kwi0mDTY>MYHH#WKs@#X>L0-ad5|Z5m~pkMO-)p7PfTm&YcpSftw&%xqxsK zCI0R-Ufdl$TwhP1ufQCB&IvG+pOBR!k%&FaMavVFNyx~198 zR5_2@;$UKUVj}t_DCoO2jP(s~F_=U+C0O{bOEM#ZGas^p&Xv6sG3-fCX+N-iBIsQG z%WTe_GW1v$n$So7)^W!PVyKK&G|pb%9AtePUGUzR0f_)AYm=fhx`SS}*)&E1Qz33P zd@58BGe?635-b>KO**>}s^CS8vm=%>z3p*szDy9*gfz+g&d2YZx}A!c<`b07OO=NC zt0*K`hl+eaw7OQ_{0m;8$g{dD2kQ0sU4 z&{n~80)a#a9>#1!9RNF-AvoG$H>%O*Q0Jj-v2_#ZD64H?bl%=d=LPMdTd>({YOPn7Y z%6YV8-?0)bFicHO8!~`-PBYj;8n3JCyH?pLe%!RY{!PI5&!1g#>5Q4L#q-WdT0dx7 zG8DEQrAJ>|N;;(-mNEE~Z94+YAiwL#nH%7)_USD{)$kOM1d_1Q(j$Ow|4GuZ;v5Dfc@;=MZ`v+}}0SjA`ay*LEY-3`gf`uR~`LvX!V2@H5Pu|tEF9kt{2JFit!s+8#}wx zEcSEJAP*hZ3Q!_W`V8t_#tW4n$>n=UIh;b0@1vu^29avF~I3j7j4~ zwB)~NHi#QnzSM0?Fn+hGiP8BLNMz#o&CrLY%6(XNpt?2h_2iw8vAKcv3u+2QJFHY$ zhOBu1K#d*%7Wq;(!}iXnUGs0h($vaO<~L<{Qe=A|>^KU^fZ{FTr4Yj2nK(3RvXQWi zL~-s>VKBH>YqM=$pkmJI%P$AOFzX@oYEcGJRYv5B7!phuB<6&M41Z1p_E!dXQ>D@E zzEZFYYe{;dNxza$Cf`Njcp)@kLC7gtuVGIZ={yA~MmvIRDn)UVmT0?I!&WsuW${O5 zgh-UH$hN~Y3*_bclf?XTmrJ#!fA>b;s@C^BGXuvtW?thbE1J!`Rg4G z#jIJ-jbeTI_z0{X-PqQ{9OCrNApVr0_T5-;&U)vlv5exisLOnc!*XOWG(q^r!)mL9 z!zN3%S26tlZEvE+4hqN1`rkzw@5H%EbHt=rX!c9b0^NCwm2Q*E4?A5J@c-a0`z<(C zS5l=YJC&%T0s)t}AyG`2O=|mf*>NT2ggLC5J|}(|wYnLBA9!LK+9Nxz$#p z^dsPJ)fgP%@9ge>PLwm#4lMqqDAQzfrI_|L?kDNy#hGW{bE@IX?h_;$O?_aKGa~nN z$R^e#>oad^;k3F#W7(kdIy&Q@-yfd4uCplpE6(vf!9kCv!XnBnN+Fle(<88gCu#vO zFQKmk{webo>(jdB@V=<}Eu=q58tFQXGt=8YxEY}g=amyd`9{lS8%cux&VcU?D?xWQ zy7x!4j;^U9?k$HCLKb$6M4?lrRP!@aUk&TfE@Lyt|H9$ofa48TsH{weFr0Y|=J`8pl;4a1<)Tif?UM|8!NcX!Pggq)*9;PUn#1=O7U z@>jlf`fXk2-tCR< zsPv~rliej?Ap67gtc5q>R8+V4gwU{JxQ1#hSs`F5m=GW0!s6d(9Q^)Yo>PF;26 zqo!g%Md8=eYFDCm=ko}KDdkCWlmK^LwKMkbAJuHt7UsHkQM!vCIi?ADm|sP?J%1Oa zKj`!d&q0GuLU15U20YO89rC9Zy*d1VemzUtitnE7^mv3h)-8W|(X}&gv$t88mr#(};nfK|qx9Fb#@si7;&#taJ7%z=r=GJnn+LhH$^#;@- zd$onqZG+UEf3I85m(6{puCvx^XyhNxT;en()FhpU&E z86D+)3cmW5Nll8LbBr*C1#+}wWk5gQC@)U1`>bmCn3K%;2NO9dlx&wU84YEg+flW4 zZZ_j0X>U+K&Y&~h&jFj=1DrZ<`NqgLP4z4E8rD_D*?x*Jv#59nDOKihH^RK*M?JAl z-rtrv6E`H|T!+44nz#9mx?2U3kR|pbnss+o=0O5Hvnx+U>P7@zYH+{CjY4~k`FeGK zq#Ww}NIqfjhtAbq?SB9eAf@Sf-sC&6Xe}_@dB3*8uog3Sn*JqH`efRXh#04vx0ef5 zgm(7?=gOVRb+s4CE6FVLTP*dA&KmY&cIz1qT8qX*fa(g4^iAqUQ|V zz`3ZF-`zOHdkV4*En$u54y$M7*m#Q`PkSP6w2BBFkIBn>*A!RB$RMaG3{o4~Eu*fK z#}<{F>7mQP+*S{?#ZjP1OlN2IG*@PGcn76t@QOp@dTwzbB;V=OV&mUdP2})1exN|1 z7wZ-u7bK9{Qk?x5rcR<1WY%~sB)`P48ePDF*$4{x<2^q~;l@;G-`I0yQm_xrhId(jGq-@bMXHf~#p=pSkE)~+sm)ox;;jN66L*t#HE+-*dY8@} zzQr=;w)D^dHj$B*nU1l>VXA4=!r2>6+)wSf{N&y3^i%$n=s?I*`?;jXUG^*=WU91E z@V2YzFeKUjhOL_<>qouNhT<6i@^WCd2|SG&=SOp{tY~}$nD>o=tT~U0V7t_r8bWX_ zjr-ldo{n*mKjPekJos&8y!PjX`L2hi_W_60*0gk=Y@Zs}n7PfgY4rm~oxQH76RsQpV`f^t$U#xPJ+c93IpC;C&-5-b(CQQuZ_@65kp}5jHQ8P}*z2=6loi z4w80X`Q&Kj(ZNKNt@Hl=n3?BZVDO|0>HZ$4TbzCGhFXg zJWl|pE_l|Ttv^wJ6O}u#z=v_NmlYl!9kBPbXDp%C-MB#K+kOX**AQ4}3Ut z^JCDO$IClB^T)|e8DagCVc(+Y2rug?(*eKalqp|U^*@`+TAV%&^3vO~wsJBl^%gIS zFwaZ1Da1_%Efr;q{;)1df%B}IZW z{VSr%bVRgT@NKF3_j;lwH9cVGn=~B_O^V8yRK_dgCap*Ec>+T>wJ{Pp2~QO?WYSxw zG=E(`+GLfcq2pK+3*$`zxAZ}Yqm9M~K z_wevAqBGa(2Ds(U-cx(r_2c8BiKrOQuTTH*b)K*~j>Gw{h+hW&@xC+Yk3FLxe2uWe zS$K_&v`3OJ>^*MEoPKwUI;Wul_wcTc2_8LuayVQtJl}X>c~9wK5nrH|52t(hfmhPE zoABroR{u`y9v9NFQe`hd-VIt-SP5`9IdXOX?~1W|e0*Hgd1OP+p&=Ybcdq-i-{CPd zMSL#zg)$g%9eJfg>5tt(H6|VE%kbw0dmz zc`;l6=Co^;>=OQ{DcG@ka)Tb6BYBp28?{=lRrtljKYncI;?74x;&FLxa5aH;W$u43 h4Px7Bo*j>#LCT9CMZs_k{r{f7C@X;FD`icC{tvVrrg;DW literal 0 HcmV?d00001 diff --git a/apps/rpcs3-linuxserver/0.0.37/.env.sample b/apps/rpcs3-linuxserver/0.0.37/.env.sample new file mode 100644 index 000000000..688946eae --- /dev/null +++ b/apps/rpcs3-linuxserver/0.0.37/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=3000 +PANEL_APP_PORT_HTTPS=3001 +CONFIG_PATH=./data/config +TIME_ZONE=Asia/Shanghai diff --git a/apps/rpcs3-linuxserver/0.0.37/data.yml b/apps/rpcs3-linuxserver/0.0.37/data.yml new file mode 100644 index 000000000..e939a775b --- /dev/null +++ b/apps/rpcs3-linuxserver/0.0.37/data.yml @@ -0,0 +1,68 @@ +additionalProperties: + formFields: + - default: 3000 + 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: 3001 + 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/rpcs3-linuxserver/0.0.37/data/.gitkeep b/apps/rpcs3-linuxserver/0.0.37/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/rpcs3-linuxserver/0.0.37/docker-compose.yml b/apps/rpcs3-linuxserver/0.0.37/docker-compose.yml new file mode 100644 index 000000000..ecb8be297 --- /dev/null +++ b/apps/rpcs3-linuxserver/0.0.37/docker-compose.yml @@ -0,0 +1,21 @@ +networks: + 1panel-network: + external: true +services: + rpcs3: + image: "linuxserver/rpcs3:0.0.37" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + - "${PANEL_APP_PORT_HTTPS}:3001" + volumes: + - "${CONFIG_PATH}:/config" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/rpcs3-linuxserver/0.0.37/scripts/init.sh b/apps/rpcs3-linuxserver/0.0.37/scripts/init.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/rpcs3-linuxserver/0.0.37/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/rpcs3-linuxserver/0.0.37/scripts/uninstall.sh b/apps/rpcs3-linuxserver/0.0.37/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/rpcs3-linuxserver/0.0.37/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/rpcs3-linuxserver/0.0.37/scripts/upgrade.sh b/apps/rpcs3-linuxserver/0.0.37/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/rpcs3-linuxserver/0.0.37/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/rpcs3-linuxserver/README.md b/apps/rpcs3-linuxserver/README.md new file mode 100644 index 000000000..a8fe242b3 --- /dev/null +++ b/apps/rpcs3-linuxserver/README.md @@ -0,0 +1,32 @@ +# RPCS3 LinuxServer + +## 产品介绍 + +RPCS3 LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/rpcs3` 镜像,提供 RPCS3 PlayStation 3 模拟器桌面 能力。 + +## 主要功能 + +- 通过 Web UI 进行 PlayStation 3 emulation 配置 +- 持久化保存配置和业务数据 +- 使用 3000 端口提供 Web 管理界面 +- 支持自定义时区 + +## 访问说明 + +安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。 + +## Introduction + +RPCS3 LinuxServer uses the LinuxServer.io maintained `linuxserver/rpcs3` image for PlayStation 3 emulation. + +## Features + +- Manage the application from the Web UI +- Persist configuration and application data +- Expose the Web interface on port 3000 +- Configure the container time zone + +## Links + +- LinuxServer image documentation: +- Project website: diff --git a/apps/rpcs3-linuxserver/data.yml b/apps/rpcs3-linuxserver/data.yml new file mode 100644 index 000000000..cc0b1912c --- /dev/null +++ b/apps/rpcs3-linuxserver/data.yml @@ -0,0 +1,30 @@ +name: RPCS3 LinuxServer +tags: +- Game +title: RPCS3 PlayStation 3 模拟器桌面 +description: RPCS3 PlayStation 3 模拟器桌面 +additionalProperties: + key: rpcs3-linuxserver + name: RPCS3 LinuxServer + tags: + - Game + shortDescZh: RPCS3 PlayStation 3 模拟器桌面 + shortDescEn: PlayStation 3 emulator desktop maintained by LinuxServer.io + description: + en: PlayStation 3 emulator desktop maintained by LinuxServer.io + zh: RPCS3 PlayStation 3 模拟器桌面 + zh-Hant: RPCS3 PlayStation 3 模擬器桌面 + ja: LinuxServer.io が保守する PlayStation 3 エミュレーターデスクトップ + ko: LinuxServer.io에서 유지 관리하는 PlayStation 3 에뮬레이터 데스크톱 + ru: Рабочий стол эмулятора PlayStation 3, поддерживаемый LinuxServer.io + ms: Desktop emulator PlayStation 3 yang diselenggara oleh LinuxServer.io + pt-br: Desktop de emulador PlayStation 3 mantido pela LinuxServer.io + type: tool + crossVersionUpdate: true + limit: 0 + website: https://rpcs3.net/ + github: https://github.com/linuxserver/docker-rpcs3 + document: https://docs.linuxserver.io/images/docker-rpcs3/ + architectures: + - amd64 + - arm64 diff --git a/apps/rpcs3-linuxserver/latest/.env.sample b/apps/rpcs3-linuxserver/latest/.env.sample new file mode 100644 index 000000000..688946eae --- /dev/null +++ b/apps/rpcs3-linuxserver/latest/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=3000 +PANEL_APP_PORT_HTTPS=3001 +CONFIG_PATH=./data/config +TIME_ZONE=Asia/Shanghai diff --git a/apps/rpcs3-linuxserver/latest/data.yml b/apps/rpcs3-linuxserver/latest/data.yml new file mode 100644 index 000000000..e939a775b --- /dev/null +++ b/apps/rpcs3-linuxserver/latest/data.yml @@ -0,0 +1,68 @@ +additionalProperties: + formFields: + - default: 3000 + 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: 3001 + 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/rpcs3-linuxserver/latest/data/.gitkeep b/apps/rpcs3-linuxserver/latest/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/rpcs3-linuxserver/latest/docker-compose.yml b/apps/rpcs3-linuxserver/latest/docker-compose.yml new file mode 100644 index 000000000..91734251e --- /dev/null +++ b/apps/rpcs3-linuxserver/latest/docker-compose.yml @@ -0,0 +1,21 @@ +networks: + 1panel-network: + external: true +services: + rpcs3: + image: "linuxserver/rpcs3:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + - "${PANEL_APP_PORT_HTTPS}:3001" + volumes: + - "${CONFIG_PATH}:/config" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/rpcs3-linuxserver/latest/scripts/init.sh b/apps/rpcs3-linuxserver/latest/scripts/init.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/rpcs3-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/rpcs3-linuxserver/latest/scripts/uninstall.sh b/apps/rpcs3-linuxserver/latest/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/rpcs3-linuxserver/latest/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/rpcs3-linuxserver/latest/scripts/upgrade.sh b/apps/rpcs3-linuxserver/latest/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/rpcs3-linuxserver/latest/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/rpcs3-linuxserver/logo.png b/apps/rpcs3-linuxserver/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7b5d685b831a49caac262f1ab6b86c1928cfe8 GIT binary patch literal 4388 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 e@9wX5+V+1XSpv}Vqu>Sr0000/dev/null || true diff --git a/apps/scummvm-linuxserver/2026.3.0/scripts/uninstall.sh b/apps/scummvm-linuxserver/2026.3.0/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/scummvm-linuxserver/2026.3.0/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/scummvm-linuxserver/2026.3.0/scripts/upgrade.sh b/apps/scummvm-linuxserver/2026.3.0/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/scummvm-linuxserver/2026.3.0/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/scummvm-linuxserver/README.md b/apps/scummvm-linuxserver/README.md new file mode 100644 index 000000000..04251aa00 --- /dev/null +++ b/apps/scummvm-linuxserver/README.md @@ -0,0 +1,32 @@ +# ScummVM LinuxServer + +## 产品介绍 + +ScummVM LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/scummvm` 镜像,提供 ScummVM 冒险游戏引擎桌面 能力。 + +## 主要功能 + +- 通过 Web UI 进行 adventure game engine 配置 +- 持久化保存配置和业务数据 +- 使用 3000 端口提供 Web 管理界面 +- 支持自定义时区 + +## 访问说明 + +安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。 + +## Introduction + +ScummVM LinuxServer uses the LinuxServer.io maintained `linuxserver/scummvm` image for adventure game engine. + +## Features + +- Manage the application from the Web UI +- Persist configuration and application data +- Expose the Web interface on port 3000 +- Configure the container time zone + +## Links + +- LinuxServer image documentation: +- Project website: diff --git a/apps/scummvm-linuxserver/data.yml b/apps/scummvm-linuxserver/data.yml new file mode 100644 index 000000000..775718da6 --- /dev/null +++ b/apps/scummvm-linuxserver/data.yml @@ -0,0 +1,29 @@ +name: ScummVM LinuxServer +tags: +- Game +title: ScummVM 冒险游戏引擎桌面 +description: ScummVM 冒险游戏引擎桌面 +additionalProperties: + key: scummvm-linuxserver + name: ScummVM LinuxServer + tags: + - Game + shortDescZh: ScummVM 冒险游戏引擎桌面 + shortDescEn: Adventure game engine desktop maintained by LinuxServer.io + description: + en: Adventure game engine desktop maintained by LinuxServer.io + zh: ScummVM 冒险游戏引擎桌面 + zh-Hant: ScummVM 冒險遊戲引擎桌面 + ja: LinuxServer.io が保守するアドベンチャーゲームエンジンデスクトップ + ko: LinuxServer.io에서 유지 관리하는 어드벤처 게임 엔진 데스크톱 + ru: Рабочий стол движка приключенческих игр, поддерживаемый LinuxServer.io + ms: Desktop enjin permainan pengembaraan yang diselenggara oleh LinuxServer.io + pt-br: Desktop de motor de jogos de aventura mantido pela LinuxServer.io + type: tool + crossVersionUpdate: true + limit: 0 + website: https://www.scummvm.org/ + github: https://github.com/linuxserver/docker-scummvm + document: https://docs.linuxserver.io/images/docker-scummvm/ + architectures: + - amd64 diff --git a/apps/scummvm-linuxserver/latest/.env.sample b/apps/scummvm-linuxserver/latest/.env.sample new file mode 100644 index 000000000..688946eae --- /dev/null +++ b/apps/scummvm-linuxserver/latest/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=3000 +PANEL_APP_PORT_HTTPS=3001 +CONFIG_PATH=./data/config +TIME_ZONE=Asia/Shanghai diff --git a/apps/scummvm-linuxserver/latest/data.yml b/apps/scummvm-linuxserver/latest/data.yml new file mode 100644 index 000000000..e939a775b --- /dev/null +++ b/apps/scummvm-linuxserver/latest/data.yml @@ -0,0 +1,68 @@ +additionalProperties: + formFields: + - default: 3000 + 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: 3001 + 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/scummvm-linuxserver/latest/data/.gitkeep b/apps/scummvm-linuxserver/latest/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/scummvm-linuxserver/latest/docker-compose.yml b/apps/scummvm-linuxserver/latest/docker-compose.yml new file mode 100644 index 000000000..2326de3f6 --- /dev/null +++ b/apps/scummvm-linuxserver/latest/docker-compose.yml @@ -0,0 +1,21 @@ +networks: + 1panel-network: + external: true +services: + scummvm: + image: "linuxserver/scummvm:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + - "${PANEL_APP_PORT_HTTPS}:3001" + volumes: + - "${CONFIG_PATH}:/config" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/scummvm-linuxserver/latest/scripts/init.sh b/apps/scummvm-linuxserver/latest/scripts/init.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/scummvm-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/scummvm-linuxserver/latest/scripts/uninstall.sh b/apps/scummvm-linuxserver/latest/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/scummvm-linuxserver/latest/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/scummvm-linuxserver/latest/scripts/upgrade.sh b/apps/scummvm-linuxserver/latest/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/scummvm-linuxserver/latest/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/scummvm-linuxserver/logo.png b/apps/scummvm-linuxserver/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e49fdfbf96d5690153176509305ca7eae815e234 GIT binary patch literal 4527 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 woukgEXL_U#%id3iYQppM>=C=*slQ}/dev/null || true diff --git a/apps/spotube-linuxserver/5.1.2/scripts/uninstall.sh b/apps/spotube-linuxserver/5.1.2/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/spotube-linuxserver/5.1.2/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/spotube-linuxserver/5.1.2/scripts/upgrade.sh b/apps/spotube-linuxserver/5.1.2/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/spotube-linuxserver/5.1.2/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/spotube-linuxserver/README.md b/apps/spotube-linuxserver/README.md new file mode 100644 index 000000000..44d11ea80 --- /dev/null +++ b/apps/spotube-linuxserver/README.md @@ -0,0 +1,32 @@ +# Spotube LinuxServer + +## 产品介绍 + +Spotube LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/spotube` 镜像,提供 Spotube 音乐客户端桌面 能力。 + +## 主要功能 + +- 通过 Web UI 进行 music client access 配置 +- 持久化保存配置和业务数据 +- 使用 3000 端口提供 Web 管理界面 +- 支持自定义时区 + +## 访问说明 + +安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。 + +## Introduction + +Spotube LinuxServer uses the LinuxServer.io maintained `linuxserver/spotube` image for music client access. + +## Features + +- Manage the application from the Web UI +- Persist configuration and application data +- Expose the Web interface on port 3000 +- Configure the container time zone + +## Links + +- LinuxServer image documentation: +- Project website: diff --git a/apps/spotube-linuxserver/data.yml b/apps/spotube-linuxserver/data.yml new file mode 100644 index 000000000..0a5310e71 --- /dev/null +++ b/apps/spotube-linuxserver/data.yml @@ -0,0 +1,30 @@ +name: Spotube LinuxServer +tags: +- Media +title: Spotube 音乐客户端桌面 +description: Spotube 音乐客户端桌面 +additionalProperties: + key: spotube-linuxserver + name: Spotube LinuxServer + tags: + - Media + shortDescZh: Spotube 音乐客户端桌面 + shortDescEn: Music client desktop maintained by LinuxServer.io + description: + en: Music client desktop maintained by LinuxServer.io + zh: Spotube 音乐客户端桌面 + zh-Hant: Spotube 音樂用戶端桌面 + ja: LinuxServer.io が保守する音楽クライアントデスクトップ + ko: LinuxServer.io에서 유지 관리하는 음악 클라이언트 데스크톱 + ru: Рабочий стол музыкального клиента, поддерживаемый LinuxServer.io + ms: Desktop klien muzik yang diselenggara oleh LinuxServer.io + pt-br: Desktop de cliente de musica mantido pela LinuxServer.io + type: tool + crossVersionUpdate: true + limit: 0 + website: https://spotube.krtirtho.dev/ + github: https://github.com/linuxserver/docker-spotube + document: https://docs.linuxserver.io/images/docker-spotube/ + architectures: + - amd64 + - arm64 diff --git a/apps/spotube-linuxserver/latest/.env.sample b/apps/spotube-linuxserver/latest/.env.sample new file mode 100644 index 000000000..688946eae --- /dev/null +++ b/apps/spotube-linuxserver/latest/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=3000 +PANEL_APP_PORT_HTTPS=3001 +CONFIG_PATH=./data/config +TIME_ZONE=Asia/Shanghai diff --git a/apps/spotube-linuxserver/latest/data.yml b/apps/spotube-linuxserver/latest/data.yml new file mode 100644 index 000000000..e939a775b --- /dev/null +++ b/apps/spotube-linuxserver/latest/data.yml @@ -0,0 +1,68 @@ +additionalProperties: + formFields: + - default: 3000 + 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: 3001 + 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/spotube-linuxserver/latest/data/.gitkeep b/apps/spotube-linuxserver/latest/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/spotube-linuxserver/latest/docker-compose.yml b/apps/spotube-linuxserver/latest/docker-compose.yml new file mode 100644 index 000000000..cc18e7e7a --- /dev/null +++ b/apps/spotube-linuxserver/latest/docker-compose.yml @@ -0,0 +1,21 @@ +networks: + 1panel-network: + external: true +services: + spotube: + image: "linuxserver/spotube:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + - "${PANEL_APP_PORT_HTTPS}:3001" + volumes: + - "${CONFIG_PATH}:/config" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/spotube-linuxserver/latest/scripts/init.sh b/apps/spotube-linuxserver/latest/scripts/init.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/spotube-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/spotube-linuxserver/latest/scripts/uninstall.sh b/apps/spotube-linuxserver/latest/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/spotube-linuxserver/latest/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/spotube-linuxserver/latest/scripts/upgrade.sh b/apps/spotube-linuxserver/latest/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/spotube-linuxserver/latest/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/spotube-linuxserver/logo.png b/apps/spotube-linuxserver/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..80add402ac4297f704e26daa783793ae0b94fb0a GIT binary patch literal 9230 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 Gg#QonqGLP& literal 0 HcmV?d00001 diff --git a/apps/webcord-linuxserver/4.13.0/.env.sample b/apps/webcord-linuxserver/4.13.0/.env.sample new file mode 100644 index 000000000..688946eae --- /dev/null +++ b/apps/webcord-linuxserver/4.13.0/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=3000 +PANEL_APP_PORT_HTTPS=3001 +CONFIG_PATH=./data/config +TIME_ZONE=Asia/Shanghai diff --git a/apps/webcord-linuxserver/4.13.0/data.yml b/apps/webcord-linuxserver/4.13.0/data.yml new file mode 100644 index 000000000..e939a775b --- /dev/null +++ b/apps/webcord-linuxserver/4.13.0/data.yml @@ -0,0 +1,68 @@ +additionalProperties: + formFields: + - default: 3000 + 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: 3001 + 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/webcord-linuxserver/4.13.0/data/.gitkeep b/apps/webcord-linuxserver/4.13.0/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/webcord-linuxserver/4.13.0/docker-compose.yml b/apps/webcord-linuxserver/4.13.0/docker-compose.yml new file mode 100644 index 000000000..13c9c15c8 --- /dev/null +++ b/apps/webcord-linuxserver/4.13.0/docker-compose.yml @@ -0,0 +1,21 @@ +networks: + 1panel-network: + external: true +services: + webcord: + image: "linuxserver/webcord:4.13.0" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + - "${PANEL_APP_PORT_HTTPS}:3001" + volumes: + - "${CONFIG_PATH}:/config" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/webcord-linuxserver/4.13.0/scripts/init.sh b/apps/webcord-linuxserver/4.13.0/scripts/init.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/webcord-linuxserver/4.13.0/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/webcord-linuxserver/4.13.0/scripts/uninstall.sh b/apps/webcord-linuxserver/4.13.0/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/webcord-linuxserver/4.13.0/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/webcord-linuxserver/4.13.0/scripts/upgrade.sh b/apps/webcord-linuxserver/4.13.0/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/webcord-linuxserver/4.13.0/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/webcord-linuxserver/README.md b/apps/webcord-linuxserver/README.md new file mode 100644 index 000000000..a35aa7a4c --- /dev/null +++ b/apps/webcord-linuxserver/README.md @@ -0,0 +1,32 @@ +# WebCord LinuxServer + +## 产品介绍 + +WebCord LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/webcord` 镜像,提供 WebCord Discord 客户端桌面 能力。 + +## 主要功能 + +- 通过 Web UI 进行 Discord client access 配置 +- 持久化保存配置和业务数据 +- 使用 3000 端口提供 Web 管理界面 +- 支持自定义时区 + +## 访问说明 + +安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。 + +## Introduction + +WebCord LinuxServer uses the LinuxServer.io maintained `linuxserver/webcord` image for Discord client access. + +## Features + +- Manage the application from the Web UI +- Persist configuration and application data +- Expose the Web interface on port 3000 +- Configure the container time zone + +## Links + +- LinuxServer image documentation: +- Project website: diff --git a/apps/webcord-linuxserver/data.yml b/apps/webcord-linuxserver/data.yml new file mode 100644 index 000000000..a156ad856 --- /dev/null +++ b/apps/webcord-linuxserver/data.yml @@ -0,0 +1,30 @@ +name: WebCord LinuxServer +tags: +- Tool +title: WebCord Discord 客户端桌面 +description: WebCord Discord 客户端桌面 +additionalProperties: + key: webcord-linuxserver + name: WebCord LinuxServer + tags: + - Tool + shortDescZh: WebCord Discord 客户端桌面 + shortDescEn: Discord client desktop maintained by LinuxServer.io + description: + en: Discord client desktop maintained by LinuxServer.io + zh: WebCord Discord 客户端桌面 + zh-Hant: WebCord Discord 用戶端桌面 + ja: LinuxServer.io が保守する Discord クライアントデスクトップ + ko: LinuxServer.io에서 유지 관리하는 Discord 클라이언트 데스크톱 + ru: Рабочий стол клиента Discord, поддерживаемый LinuxServer.io + ms: Desktop klien Discord yang diselenggara oleh LinuxServer.io + pt-br: Desktop de cliente Discord mantido pela LinuxServer.io + type: tool + crossVersionUpdate: true + limit: 0 + website: https://github.com/SpacingBat3/WebCord + github: https://github.com/linuxserver/docker-webcord + document: https://docs.linuxserver.io/images/docker-webcord/ + architectures: + - amd64 + - arm64 diff --git a/apps/webcord-linuxserver/latest/.env.sample b/apps/webcord-linuxserver/latest/.env.sample new file mode 100644 index 000000000..688946eae --- /dev/null +++ b/apps/webcord-linuxserver/latest/.env.sample @@ -0,0 +1,5 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=3000 +PANEL_APP_PORT_HTTPS=3001 +CONFIG_PATH=./data/config +TIME_ZONE=Asia/Shanghai diff --git a/apps/webcord-linuxserver/latest/data.yml b/apps/webcord-linuxserver/latest/data.yml new file mode 100644 index 000000000..e939a775b --- /dev/null +++ b/apps/webcord-linuxserver/latest/data.yml @@ -0,0 +1,68 @@ +additionalProperties: + formFields: + - default: 3000 + 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: 3001 + 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/webcord-linuxserver/latest/data/.gitkeep b/apps/webcord-linuxserver/latest/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/webcord-linuxserver/latest/docker-compose.yml b/apps/webcord-linuxserver/latest/docker-compose.yml new file mode 100644 index 000000000..cda8ed3eb --- /dev/null +++ b/apps/webcord-linuxserver/latest/docker-compose.yml @@ -0,0 +1,21 @@ +networks: + 1panel-network: + external: true +services: + webcord: + image: "linuxserver/webcord:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + - "${PANEL_APP_PORT_HTTPS}:3001" + volumes: + - "${CONFIG_PATH}:/config" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + labels: + createdBy: "Apps" diff --git a/apps/webcord-linuxserver/latest/scripts/init.sh b/apps/webcord-linuxserver/latest/scripts/init.sh new file mode 100755 index 000000000..71fd851bd --- /dev/null +++ b/apps/webcord-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/webcord-linuxserver/latest/scripts/uninstall.sh b/apps/webcord-linuxserver/latest/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/webcord-linuxserver/latest/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/webcord-linuxserver/latest/scripts/upgrade.sh b/apps/webcord-linuxserver/latest/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/webcord-linuxserver/latest/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/webcord-linuxserver/logo.png b/apps/webcord-linuxserver/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..eb494271ce5837176e226372a2e1a2036531c27f GIT binary patch literal 7914 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 Kx!MnAA^!oe^x*#h literal 0 HcmV?d00001