diff --git a/apps/brave-linuxserver/1.91.175/.env.sample b/apps/brave-linuxserver/1.91.175/.env.sample
new file mode 100644
index 000000000..688946eae
--- /dev/null
+++ b/apps/brave-linuxserver/1.91.175/.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/brave-linuxserver/1.91.175/data.yml b/apps/brave-linuxserver/1.91.175/data.yml
new file mode 100644
index 000000000..e939a775b
--- /dev/null
+++ b/apps/brave-linuxserver/1.91.175/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/brave-linuxserver/1.91.175/data/.gitkeep b/apps/brave-linuxserver/1.91.175/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/brave-linuxserver/1.91.175/docker-compose.yml b/apps/brave-linuxserver/1.91.175/docker-compose.yml
new file mode 100644
index 000000000..717796c44
--- /dev/null
+++ b/apps/brave-linuxserver/1.91.175/docker-compose.yml
@@ -0,0 +1,21 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ brave:
+ image: "linuxserver/brave:1.91.175"
+ 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/brave-linuxserver/1.91.175/scripts/init.sh b/apps/brave-linuxserver/1.91.175/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/brave-linuxserver/1.91.175/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/brave-linuxserver/1.91.175/scripts/uninstall.sh b/apps/brave-linuxserver/1.91.175/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/brave-linuxserver/1.91.175/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/brave-linuxserver/1.91.175/scripts/upgrade.sh b/apps/brave-linuxserver/1.91.175/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/brave-linuxserver/1.91.175/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/brave-linuxserver/README.md b/apps/brave-linuxserver/README.md
new file mode 100644
index 000000000..fa7c9b01f
--- /dev/null
+++ b/apps/brave-linuxserver/README.md
@@ -0,0 +1,32 @@
+# Brave LinuxServer
+
+## 产品介绍
+
+Brave LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/brave` 镜像,提供 Brave 浏览器桌面 能力。
+
+## 主要功能
+
+- 通过 Web UI 进行 privacy browser desktop access 配置
+- 持久化保存配置和业务数据
+- 使用 3000 端口提供 Web 管理界面
+- 支持自定义时区
+
+## 访问说明
+
+安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。
+
+## Introduction
+
+Brave LinuxServer uses the LinuxServer.io maintained `linuxserver/brave` image for privacy browser desktop 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/brave-linuxserver/data.yml b/apps/brave-linuxserver/data.yml
new file mode 100644
index 000000000..72bb492da
--- /dev/null
+++ b/apps/brave-linuxserver/data.yml
@@ -0,0 +1,30 @@
+name: Brave LinuxServer
+tags:
+- Tool
+title: Brave 浏览器桌面
+description: Brave 浏览器桌面
+additionalProperties:
+ key: brave-linuxserver
+ name: Brave LinuxServer
+ tags:
+ - Tool
+ shortDescZh: Brave 浏览器桌面
+ shortDescEn: Privacy browser desktop maintained by LinuxServer.io
+ description:
+ en: Privacy browser desktop maintained by LinuxServer.io
+ zh: Brave 浏览器桌面
+ zh-Hant: Brave 瀏覽器桌面
+ ja: LinuxServer.io が保守するプライバシーブラウザーデスクトップ
+ ko: LinuxServer.io에서 유지 관리하는 개인정보 보호 브라우저 데스크톱
+ ru: Приватный браузерный рабочий стол, поддерживаемый LinuxServer.io
+ ms: Desktop pelayar privasi yang diselenggara oleh LinuxServer.io
+ pt-br: Desktop de navegador de privacidade mantido pela LinuxServer.io
+ type: tool
+ crossVersionUpdate: true
+ limit: 0
+ website: https://brave.com/
+ github: https://github.com/linuxserver/docker-brave
+ document: https://docs.linuxserver.io/images/docker-brave/
+ architectures:
+ - amd64
+ - arm64
diff --git a/apps/brave-linuxserver/latest/.env.sample b/apps/brave-linuxserver/latest/.env.sample
new file mode 100644
index 000000000..688946eae
--- /dev/null
+++ b/apps/brave-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/brave-linuxserver/latest/data.yml b/apps/brave-linuxserver/latest/data.yml
new file mode 100644
index 000000000..e939a775b
--- /dev/null
+++ b/apps/brave-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/brave-linuxserver/latest/data/.gitkeep b/apps/brave-linuxserver/latest/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/brave-linuxserver/latest/docker-compose.yml b/apps/brave-linuxserver/latest/docker-compose.yml
new file mode 100644
index 000000000..04ee1f778
--- /dev/null
+++ b/apps/brave-linuxserver/latest/docker-compose.yml
@@ -0,0 +1,21 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ brave:
+ image: "linuxserver/brave: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/brave-linuxserver/latest/scripts/init.sh b/apps/brave-linuxserver/latest/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/brave-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/brave-linuxserver/latest/scripts/uninstall.sh b/apps/brave-linuxserver/latest/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/brave-linuxserver/latest/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/brave-linuxserver/latest/scripts/upgrade.sh b/apps/brave-linuxserver/latest/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/brave-linuxserver/latest/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/brave-linuxserver/logo.png b/apps/brave-linuxserver/logo.png
new file mode 100644
index 000000000..7b87fcbbc
Binary files /dev/null and b/apps/brave-linuxserver/logo.png differ
diff --git a/apps/msedge-linuxserver/149.0.4022/.env.sample b/apps/msedge-linuxserver/149.0.4022/.env.sample
new file mode 100644
index 000000000..688946eae
--- /dev/null
+++ b/apps/msedge-linuxserver/149.0.4022/.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/msedge-linuxserver/149.0.4022/data.yml b/apps/msedge-linuxserver/149.0.4022/data.yml
new file mode 100644
index 000000000..e939a775b
--- /dev/null
+++ b/apps/msedge-linuxserver/149.0.4022/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/msedge-linuxserver/149.0.4022/data/.gitkeep b/apps/msedge-linuxserver/149.0.4022/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/msedge-linuxserver/149.0.4022/docker-compose.yml b/apps/msedge-linuxserver/149.0.4022/docker-compose.yml
new file mode 100644
index 000000000..3911a407a
--- /dev/null
+++ b/apps/msedge-linuxserver/149.0.4022/docker-compose.yml
@@ -0,0 +1,21 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ msedge:
+ image: "linuxserver/msedge:149.0.4022"
+ 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/msedge-linuxserver/149.0.4022/scripts/init.sh b/apps/msedge-linuxserver/149.0.4022/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/msedge-linuxserver/149.0.4022/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/msedge-linuxserver/149.0.4022/scripts/uninstall.sh b/apps/msedge-linuxserver/149.0.4022/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/msedge-linuxserver/149.0.4022/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/msedge-linuxserver/149.0.4022/scripts/upgrade.sh b/apps/msedge-linuxserver/149.0.4022/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/msedge-linuxserver/149.0.4022/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/msedge-linuxserver/README.md b/apps/msedge-linuxserver/README.md
new file mode 100644
index 000000000..66b23326c
--- /dev/null
+++ b/apps/msedge-linuxserver/README.md
@@ -0,0 +1,32 @@
+# Microsoft Edge LinuxServer
+
+## 产品介绍
+
+Microsoft Edge LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/msedge` 镜像,提供 Microsoft Edge 浏览器桌面 能力。
+
+## 主要功能
+
+- 通过 Web UI 进行 browser desktop access 配置
+- 持久化保存配置和业务数据
+- 使用 3000 端口提供 Web 管理界面
+- 支持自定义时区
+
+## 访问说明
+
+安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。
+
+## Introduction
+
+Microsoft Edge LinuxServer uses the LinuxServer.io maintained `linuxserver/msedge` image for browser desktop 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/msedge-linuxserver/data.yml b/apps/msedge-linuxserver/data.yml
new file mode 100644
index 000000000..685d7fb54
--- /dev/null
+++ b/apps/msedge-linuxserver/data.yml
@@ -0,0 +1,29 @@
+name: Microsoft Edge LinuxServer
+tags:
+- Tool
+title: Microsoft Edge 浏览器桌面
+description: Microsoft Edge 浏览器桌面
+additionalProperties:
+ key: msedge-linuxserver
+ name: Microsoft Edge LinuxServer
+ tags:
+ - Tool
+ shortDescZh: Microsoft Edge 浏览器桌面
+ shortDescEn: Browser desktop maintained by LinuxServer.io
+ description:
+ en: Browser desktop maintained by LinuxServer.io
+ zh: Microsoft Edge 浏览器桌面
+ zh-Hant: Microsoft Edge 瀏覽器桌面
+ ja: LinuxServer.io が保守するブラウザーデスクトップ
+ ko: LinuxServer.io에서 유지 관리하는 브라우저 데스크톱
+ ru: Браузерный рабочий стол, поддерживаемый LinuxServer.io
+ ms: Desktop pelayar yang diselenggara oleh LinuxServer.io
+ pt-br: Desktop de navegador mantido pela LinuxServer.io
+ type: tool
+ crossVersionUpdate: true
+ limit: 0
+ website: https://www.microsoft.com/edge
+ github: https://github.com/linuxserver/docker-msedge
+ document: https://docs.linuxserver.io/images/docker-msedge/
+ architectures:
+ - amd64
diff --git a/apps/msedge-linuxserver/latest/.env.sample b/apps/msedge-linuxserver/latest/.env.sample
new file mode 100644
index 000000000..688946eae
--- /dev/null
+++ b/apps/msedge-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/msedge-linuxserver/latest/data.yml b/apps/msedge-linuxserver/latest/data.yml
new file mode 100644
index 000000000..e939a775b
--- /dev/null
+++ b/apps/msedge-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/msedge-linuxserver/latest/data/.gitkeep b/apps/msedge-linuxserver/latest/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/msedge-linuxserver/latest/docker-compose.yml b/apps/msedge-linuxserver/latest/docker-compose.yml
new file mode 100644
index 000000000..a8e230443
--- /dev/null
+++ b/apps/msedge-linuxserver/latest/docker-compose.yml
@@ -0,0 +1,21 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ msedge:
+ image: "linuxserver/msedge: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/msedge-linuxserver/latest/scripts/init.sh b/apps/msedge-linuxserver/latest/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/msedge-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/msedge-linuxserver/latest/scripts/uninstall.sh b/apps/msedge-linuxserver/latest/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/msedge-linuxserver/latest/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/msedge-linuxserver/latest/scripts/upgrade.sh b/apps/msedge-linuxserver/latest/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/msedge-linuxserver/latest/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/msedge-linuxserver/logo.png b/apps/msedge-linuxserver/logo.png
new file mode 100644
index 000000000..a98d08664
Binary files /dev/null and b/apps/msedge-linuxserver/logo.png differ
diff --git a/apps/mullvad-browser-linuxserver/15.0.16/.env.sample b/apps/mullvad-browser-linuxserver/15.0.16/.env.sample
new file mode 100644
index 000000000..688946eae
--- /dev/null
+++ b/apps/mullvad-browser-linuxserver/15.0.16/.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/mullvad-browser-linuxserver/15.0.16/data.yml b/apps/mullvad-browser-linuxserver/15.0.16/data.yml
new file mode 100644
index 000000000..e939a775b
--- /dev/null
+++ b/apps/mullvad-browser-linuxserver/15.0.16/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/mullvad-browser-linuxserver/15.0.16/data/.gitkeep b/apps/mullvad-browser-linuxserver/15.0.16/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/mullvad-browser-linuxserver/15.0.16/docker-compose.yml b/apps/mullvad-browser-linuxserver/15.0.16/docker-compose.yml
new file mode 100644
index 000000000..e8b39660a
--- /dev/null
+++ b/apps/mullvad-browser-linuxserver/15.0.16/docker-compose.yml
@@ -0,0 +1,21 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ mullvad-browser:
+ image: "linuxserver/mullvad-browser:15.0.16"
+ 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/mullvad-browser-linuxserver/15.0.16/scripts/init.sh b/apps/mullvad-browser-linuxserver/15.0.16/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/mullvad-browser-linuxserver/15.0.16/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/mullvad-browser-linuxserver/15.0.16/scripts/uninstall.sh b/apps/mullvad-browser-linuxserver/15.0.16/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/mullvad-browser-linuxserver/15.0.16/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/mullvad-browser-linuxserver/15.0.16/scripts/upgrade.sh b/apps/mullvad-browser-linuxserver/15.0.16/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/mullvad-browser-linuxserver/15.0.16/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/mullvad-browser-linuxserver/README.md b/apps/mullvad-browser-linuxserver/README.md
new file mode 100644
index 000000000..b1e04a10c
--- /dev/null
+++ b/apps/mullvad-browser-linuxserver/README.md
@@ -0,0 +1,32 @@
+# Mullvad Browser LinuxServer
+
+## 产品介绍
+
+Mullvad Browser LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/mullvad-browser` 镜像,提供 Mullvad Browser 隐私浏览器桌面 能力。
+
+## 主要功能
+
+- 通过 Web UI 进行 privacy browser desktop access 配置
+- 持久化保存配置和业务数据
+- 使用 3000 端口提供 Web 管理界面
+- 支持自定义时区
+
+## 访问说明
+
+安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。
+
+## Introduction
+
+Mullvad Browser LinuxServer uses the LinuxServer.io maintained `linuxserver/mullvad-browser` image for privacy browser desktop 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/mullvad-browser-linuxserver/data.yml b/apps/mullvad-browser-linuxserver/data.yml
new file mode 100644
index 000000000..2a9c0adc7
--- /dev/null
+++ b/apps/mullvad-browser-linuxserver/data.yml
@@ -0,0 +1,29 @@
+name: Mullvad Browser LinuxServer
+tags:
+- Tool
+title: Mullvad Browser 隐私浏览器桌面
+description: Mullvad Browser 隐私浏览器桌面
+additionalProperties:
+ key: mullvad-browser-linuxserver
+ name: Mullvad Browser LinuxServer
+ tags:
+ - Tool
+ shortDescZh: Mullvad Browser 隐私浏览器桌面
+ shortDescEn: Privacy browser desktop maintained by LinuxServer.io
+ description:
+ en: Privacy browser desktop maintained by LinuxServer.io
+ zh: Mullvad Browser 隐私浏览器桌面
+ zh-Hant: Mullvad Browser 隱私瀏覽器桌面
+ ja: LinuxServer.io が保守するプライバシーブラウザーデスクトップ
+ ko: LinuxServer.io에서 유지 관리하는 개인정보 보호 브라우저 데스크톱
+ ru: Приватный браузерный рабочий стол, поддерживаемый LinuxServer.io
+ ms: Desktop pelayar privasi yang diselenggara oleh LinuxServer.io
+ pt-br: Desktop de navegador de privacidade mantido pela LinuxServer.io
+ type: tool
+ crossVersionUpdate: true
+ limit: 0
+ website: https://mullvad.net/browser
+ github: https://github.com/linuxserver/docker-mullvad-browser
+ document: https://docs.linuxserver.io/images/docker-mullvad-browser/
+ architectures:
+ - amd64
diff --git a/apps/mullvad-browser-linuxserver/latest/.env.sample b/apps/mullvad-browser-linuxserver/latest/.env.sample
new file mode 100644
index 000000000..688946eae
--- /dev/null
+++ b/apps/mullvad-browser-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/mullvad-browser-linuxserver/latest/data.yml b/apps/mullvad-browser-linuxserver/latest/data.yml
new file mode 100644
index 000000000..e939a775b
--- /dev/null
+++ b/apps/mullvad-browser-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/mullvad-browser-linuxserver/latest/data/.gitkeep b/apps/mullvad-browser-linuxserver/latest/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/mullvad-browser-linuxserver/latest/docker-compose.yml b/apps/mullvad-browser-linuxserver/latest/docker-compose.yml
new file mode 100644
index 000000000..66a7910ef
--- /dev/null
+++ b/apps/mullvad-browser-linuxserver/latest/docker-compose.yml
@@ -0,0 +1,21 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ mullvad-browser:
+ image: "linuxserver/mullvad-browser: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/mullvad-browser-linuxserver/latest/scripts/init.sh b/apps/mullvad-browser-linuxserver/latest/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/mullvad-browser-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/mullvad-browser-linuxserver/latest/scripts/uninstall.sh b/apps/mullvad-browser-linuxserver/latest/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/mullvad-browser-linuxserver/latest/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/mullvad-browser-linuxserver/latest/scripts/upgrade.sh b/apps/mullvad-browser-linuxserver/latest/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/mullvad-browser-linuxserver/latest/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/mullvad-browser-linuxserver/logo.png b/apps/mullvad-browser-linuxserver/logo.png
new file mode 100644
index 000000000..26ebe838a
Binary files /dev/null and b/apps/mullvad-browser-linuxserver/logo.png differ
diff --git a/apps/opera-linuxserver/132.0.5905/.env.sample b/apps/opera-linuxserver/132.0.5905/.env.sample
new file mode 100644
index 000000000..688946eae
--- /dev/null
+++ b/apps/opera-linuxserver/132.0.5905/.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/opera-linuxserver/132.0.5905/data.yml b/apps/opera-linuxserver/132.0.5905/data.yml
new file mode 100644
index 000000000..e939a775b
--- /dev/null
+++ b/apps/opera-linuxserver/132.0.5905/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/opera-linuxserver/132.0.5905/data/.gitkeep b/apps/opera-linuxserver/132.0.5905/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/opera-linuxserver/132.0.5905/docker-compose.yml b/apps/opera-linuxserver/132.0.5905/docker-compose.yml
new file mode 100644
index 000000000..257be1f3e
--- /dev/null
+++ b/apps/opera-linuxserver/132.0.5905/docker-compose.yml
@@ -0,0 +1,21 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ opera:
+ image: "linuxserver/opera:132.0.5905"
+ 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/opera-linuxserver/132.0.5905/scripts/init.sh b/apps/opera-linuxserver/132.0.5905/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/opera-linuxserver/132.0.5905/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/opera-linuxserver/132.0.5905/scripts/uninstall.sh b/apps/opera-linuxserver/132.0.5905/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/opera-linuxserver/132.0.5905/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/opera-linuxserver/132.0.5905/scripts/upgrade.sh b/apps/opera-linuxserver/132.0.5905/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/opera-linuxserver/132.0.5905/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/opera-linuxserver/README.md b/apps/opera-linuxserver/README.md
new file mode 100644
index 000000000..96bfae17e
--- /dev/null
+++ b/apps/opera-linuxserver/README.md
@@ -0,0 +1,32 @@
+# Opera LinuxServer
+
+## 产品介绍
+
+Opera LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/opera` 镜像,提供 Opera 浏览器桌面 能力。
+
+## 主要功能
+
+- 通过 Web UI 进行 browser desktop access 配置
+- 持久化保存配置和业务数据
+- 使用 3000 端口提供 Web 管理界面
+- 支持自定义时区
+
+## 访问说明
+
+安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。
+
+## Introduction
+
+Opera LinuxServer uses the LinuxServer.io maintained `linuxserver/opera` image for browser desktop 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/opera-linuxserver/data.yml b/apps/opera-linuxserver/data.yml
new file mode 100644
index 000000000..89612bc22
--- /dev/null
+++ b/apps/opera-linuxserver/data.yml
@@ -0,0 +1,29 @@
+name: Opera LinuxServer
+tags:
+- Tool
+title: Opera 浏览器桌面
+description: Opera 浏览器桌面
+additionalProperties:
+ key: opera-linuxserver
+ name: Opera LinuxServer
+ tags:
+ - Tool
+ shortDescZh: Opera 浏览器桌面
+ shortDescEn: Browser desktop maintained by LinuxServer.io
+ description:
+ en: Browser desktop maintained by LinuxServer.io
+ zh: Opera 浏览器桌面
+ zh-Hant: Opera 瀏覽器桌面
+ ja: LinuxServer.io が保守するブラウザーデスクトップ
+ ko: LinuxServer.io에서 유지 관리하는 브라우저 데스크톱
+ ru: Браузерный рабочий стол, поддерживаемый LinuxServer.io
+ ms: Desktop pelayar yang diselenggara oleh LinuxServer.io
+ pt-br: Desktop de navegador mantido pela LinuxServer.io
+ type: tool
+ crossVersionUpdate: true
+ limit: 0
+ website: https://www.opera.com/
+ github: https://github.com/linuxserver/docker-opera
+ document: https://docs.linuxserver.io/images/docker-opera/
+ architectures:
+ - amd64
diff --git a/apps/opera-linuxserver/latest/.env.sample b/apps/opera-linuxserver/latest/.env.sample
new file mode 100644
index 000000000..688946eae
--- /dev/null
+++ b/apps/opera-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/opera-linuxserver/latest/data.yml b/apps/opera-linuxserver/latest/data.yml
new file mode 100644
index 000000000..e939a775b
--- /dev/null
+++ b/apps/opera-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/opera-linuxserver/latest/data/.gitkeep b/apps/opera-linuxserver/latest/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/opera-linuxserver/latest/docker-compose.yml b/apps/opera-linuxserver/latest/docker-compose.yml
new file mode 100644
index 000000000..0553f7e31
--- /dev/null
+++ b/apps/opera-linuxserver/latest/docker-compose.yml
@@ -0,0 +1,21 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ opera:
+ image: "linuxserver/opera: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/opera-linuxserver/latest/scripts/init.sh b/apps/opera-linuxserver/latest/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/opera-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/opera-linuxserver/latest/scripts/uninstall.sh b/apps/opera-linuxserver/latest/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/opera-linuxserver/latest/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/opera-linuxserver/latest/scripts/upgrade.sh b/apps/opera-linuxserver/latest/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/opera-linuxserver/latest/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/opera-linuxserver/logo.png b/apps/opera-linuxserver/logo.png
new file mode 100644
index 000000000..0ad5357aa
Binary files /dev/null and b/apps/opera-linuxserver/logo.png differ
diff --git a/apps/ungoogled-chromium-linuxserver/149.0.7827/.env.sample b/apps/ungoogled-chromium-linuxserver/149.0.7827/.env.sample
new file mode 100644
index 000000000..688946eae
--- /dev/null
+++ b/apps/ungoogled-chromium-linuxserver/149.0.7827/.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/ungoogled-chromium-linuxserver/149.0.7827/data.yml b/apps/ungoogled-chromium-linuxserver/149.0.7827/data.yml
new file mode 100644
index 000000000..e939a775b
--- /dev/null
+++ b/apps/ungoogled-chromium-linuxserver/149.0.7827/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/ungoogled-chromium-linuxserver/149.0.7827/data/.gitkeep b/apps/ungoogled-chromium-linuxserver/149.0.7827/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/ungoogled-chromium-linuxserver/149.0.7827/docker-compose.yml b/apps/ungoogled-chromium-linuxserver/149.0.7827/docker-compose.yml
new file mode 100644
index 000000000..caab05fa4
--- /dev/null
+++ b/apps/ungoogled-chromium-linuxserver/149.0.7827/docker-compose.yml
@@ -0,0 +1,21 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ ungoogled-chromium:
+ image: "linuxserver/ungoogled-chromium:149.0.7827"
+ 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/ungoogled-chromium-linuxserver/149.0.7827/scripts/init.sh b/apps/ungoogled-chromium-linuxserver/149.0.7827/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/ungoogled-chromium-linuxserver/149.0.7827/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/ungoogled-chromium-linuxserver/149.0.7827/scripts/uninstall.sh b/apps/ungoogled-chromium-linuxserver/149.0.7827/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/ungoogled-chromium-linuxserver/149.0.7827/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/ungoogled-chromium-linuxserver/149.0.7827/scripts/upgrade.sh b/apps/ungoogled-chromium-linuxserver/149.0.7827/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/ungoogled-chromium-linuxserver/149.0.7827/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/ungoogled-chromium-linuxserver/README.md b/apps/ungoogled-chromium-linuxserver/README.md
new file mode 100644
index 000000000..a4854af12
--- /dev/null
+++ b/apps/ungoogled-chromium-linuxserver/README.md
@@ -0,0 +1,32 @@
+# Ungoogled Chromium LinuxServer
+
+## 产品介绍
+
+Ungoogled Chromium LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/ungoogled-chromium` 镜像,提供 Ungoogled Chromium 浏览器桌面 能力。
+
+## 主要功能
+
+- 通过 Web UI 进行 Chromium browser desktop access 配置
+- 持久化保存配置和业务数据
+- 使用 3000 端口提供 Web 管理界面
+- 支持自定义时区
+
+## 访问说明
+
+安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。
+
+## Introduction
+
+Ungoogled Chromium LinuxServer uses the LinuxServer.io maintained `linuxserver/ungoogled-chromium` image for Chromium browser desktop 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/ungoogled-chromium-linuxserver/data.yml b/apps/ungoogled-chromium-linuxserver/data.yml
new file mode 100644
index 000000000..b886b3369
--- /dev/null
+++ b/apps/ungoogled-chromium-linuxserver/data.yml
@@ -0,0 +1,30 @@
+name: Ungoogled Chromium LinuxServer
+tags:
+- Tool
+title: Ungoogled Chromium 浏览器桌面
+description: Ungoogled Chromium 浏览器桌面
+additionalProperties:
+ key: ungoogled-chromium-linuxserver
+ name: Ungoogled Chromium LinuxServer
+ tags:
+ - Tool
+ shortDescZh: Ungoogled Chromium 浏览器桌面
+ shortDescEn: Chromium browser desktop maintained by LinuxServer.io
+ description:
+ en: Chromium browser desktop maintained by LinuxServer.io
+ zh: Ungoogled Chromium 浏览器桌面
+ zh-Hant: Ungoogled Chromium 瀏覽器桌面
+ ja: LinuxServer.io が保守する Chromium ブラウザーデスクトップ
+ ko: LinuxServer.io에서 유지 관리하는 Chromium 브라우저 데스크톱
+ ru: Рабочий стол браузера Chromium, поддерживаемый LinuxServer.io
+ ms: Desktop pelayar Chromium yang diselenggara oleh LinuxServer.io
+ pt-br: Desktop de navegador Chromium mantido pela LinuxServer.io
+ type: tool
+ crossVersionUpdate: true
+ limit: 0
+ website: https://ungoogled-software.github.io/ungoogled-chromium-binaries/
+ github: https://github.com/linuxserver/docker-ungoogled-chromium
+ document: https://docs.linuxserver.io/images/docker-ungoogled-chromium/
+ architectures:
+ - amd64
+ - arm64
diff --git a/apps/ungoogled-chromium-linuxserver/latest/.env.sample b/apps/ungoogled-chromium-linuxserver/latest/.env.sample
new file mode 100644
index 000000000..688946eae
--- /dev/null
+++ b/apps/ungoogled-chromium-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/ungoogled-chromium-linuxserver/latest/data.yml b/apps/ungoogled-chromium-linuxserver/latest/data.yml
new file mode 100644
index 000000000..e939a775b
--- /dev/null
+++ b/apps/ungoogled-chromium-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/ungoogled-chromium-linuxserver/latest/data/.gitkeep b/apps/ungoogled-chromium-linuxserver/latest/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/ungoogled-chromium-linuxserver/latest/docker-compose.yml b/apps/ungoogled-chromium-linuxserver/latest/docker-compose.yml
new file mode 100644
index 000000000..cabe3d00b
--- /dev/null
+++ b/apps/ungoogled-chromium-linuxserver/latest/docker-compose.yml
@@ -0,0 +1,21 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ ungoogled-chromium:
+ image: "linuxserver/ungoogled-chromium: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/ungoogled-chromium-linuxserver/latest/scripts/init.sh b/apps/ungoogled-chromium-linuxserver/latest/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/ungoogled-chromium-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/ungoogled-chromium-linuxserver/latest/scripts/uninstall.sh b/apps/ungoogled-chromium-linuxserver/latest/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/ungoogled-chromium-linuxserver/latest/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/ungoogled-chromium-linuxserver/latest/scripts/upgrade.sh b/apps/ungoogled-chromium-linuxserver/latest/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/ungoogled-chromium-linuxserver/latest/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/ungoogled-chromium-linuxserver/logo.png b/apps/ungoogled-chromium-linuxserver/logo.png
new file mode 100644
index 000000000..935ebc636
Binary files /dev/null and b/apps/ungoogled-chromium-linuxserver/logo.png differ
diff --git a/apps/vivaldi-linuxserver/8.0.4033/.env.sample b/apps/vivaldi-linuxserver/8.0.4033/.env.sample
new file mode 100644
index 000000000..688946eae
--- /dev/null
+++ b/apps/vivaldi-linuxserver/8.0.4033/.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/vivaldi-linuxserver/8.0.4033/data.yml b/apps/vivaldi-linuxserver/8.0.4033/data.yml
new file mode 100644
index 000000000..e939a775b
--- /dev/null
+++ b/apps/vivaldi-linuxserver/8.0.4033/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/vivaldi-linuxserver/8.0.4033/data/.gitkeep b/apps/vivaldi-linuxserver/8.0.4033/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/vivaldi-linuxserver/8.0.4033/docker-compose.yml b/apps/vivaldi-linuxserver/8.0.4033/docker-compose.yml
new file mode 100644
index 000000000..e383e1fc5
--- /dev/null
+++ b/apps/vivaldi-linuxserver/8.0.4033/docker-compose.yml
@@ -0,0 +1,21 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ vivaldi:
+ image: "linuxserver/vivaldi:8.0.4033"
+ 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/vivaldi-linuxserver/8.0.4033/scripts/init.sh b/apps/vivaldi-linuxserver/8.0.4033/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/vivaldi-linuxserver/8.0.4033/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/vivaldi-linuxserver/8.0.4033/scripts/uninstall.sh b/apps/vivaldi-linuxserver/8.0.4033/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/vivaldi-linuxserver/8.0.4033/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/vivaldi-linuxserver/8.0.4033/scripts/upgrade.sh b/apps/vivaldi-linuxserver/8.0.4033/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/vivaldi-linuxserver/8.0.4033/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/vivaldi-linuxserver/README.md b/apps/vivaldi-linuxserver/README.md
new file mode 100644
index 000000000..4955834cf
--- /dev/null
+++ b/apps/vivaldi-linuxserver/README.md
@@ -0,0 +1,32 @@
+# Vivaldi LinuxServer
+
+## 产品介绍
+
+Vivaldi LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/vivaldi` 镜像,提供 Vivaldi 浏览器桌面 能力。
+
+## 主要功能
+
+- 通过 Web UI 进行 browser desktop access 配置
+- 持久化保存配置和业务数据
+- 使用 3000 端口提供 Web 管理界面
+- 支持自定义时区
+
+## 访问说明
+
+安装完成后,通过 1Panel 应用入口或 `http://服务器地址:HTTP端口` 访问 Web 界面。首次启动后请按应用页面提示完成初始化配置。
+
+## Introduction
+
+Vivaldi LinuxServer uses the LinuxServer.io maintained `linuxserver/vivaldi` image for browser desktop 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/vivaldi-linuxserver/data.yml b/apps/vivaldi-linuxserver/data.yml
new file mode 100644
index 000000000..dbf95e014
--- /dev/null
+++ b/apps/vivaldi-linuxserver/data.yml
@@ -0,0 +1,30 @@
+name: Vivaldi LinuxServer
+tags:
+- Tool
+title: Vivaldi 浏览器桌面
+description: Vivaldi 浏览器桌面
+additionalProperties:
+ key: vivaldi-linuxserver
+ name: Vivaldi LinuxServer
+ tags:
+ - Tool
+ shortDescZh: Vivaldi 浏览器桌面
+ shortDescEn: Browser desktop maintained by LinuxServer.io
+ description:
+ en: Browser desktop maintained by LinuxServer.io
+ zh: Vivaldi 浏览器桌面
+ zh-Hant: Vivaldi 瀏覽器桌面
+ ja: LinuxServer.io が保守するブラウザーデスクトップ
+ ko: LinuxServer.io에서 유지 관리하는 브라우저 데스크톱
+ ru: Браузерный рабочий стол, поддерживаемый LinuxServer.io
+ ms: Desktop pelayar yang diselenggara oleh LinuxServer.io
+ pt-br: Desktop de navegador mantido pela LinuxServer.io
+ type: tool
+ crossVersionUpdate: true
+ limit: 0
+ website: https://vivaldi.com/
+ github: https://github.com/linuxserver/docker-vivaldi
+ document: https://docs.linuxserver.io/images/docker-vivaldi/
+ architectures:
+ - amd64
+ - arm64
diff --git a/apps/vivaldi-linuxserver/latest/.env.sample b/apps/vivaldi-linuxserver/latest/.env.sample
new file mode 100644
index 000000000..688946eae
--- /dev/null
+++ b/apps/vivaldi-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/vivaldi-linuxserver/latest/data.yml b/apps/vivaldi-linuxserver/latest/data.yml
new file mode 100644
index 000000000..e939a775b
--- /dev/null
+++ b/apps/vivaldi-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/vivaldi-linuxserver/latest/data/.gitkeep b/apps/vivaldi-linuxserver/latest/data/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/apps/vivaldi-linuxserver/latest/docker-compose.yml b/apps/vivaldi-linuxserver/latest/docker-compose.yml
new file mode 100644
index 000000000..ab0a53d1b
--- /dev/null
+++ b/apps/vivaldi-linuxserver/latest/docker-compose.yml
@@ -0,0 +1,21 @@
+networks:
+ 1panel-network:
+ external: true
+services:
+ vivaldi:
+ image: "linuxserver/vivaldi: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/vivaldi-linuxserver/latest/scripts/init.sh b/apps/vivaldi-linuxserver/latest/scripts/init.sh
new file mode 100755
index 000000000..71fd851bd
--- /dev/null
+++ b/apps/vivaldi-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/vivaldi-linuxserver/latest/scripts/uninstall.sh b/apps/vivaldi-linuxserver/latest/scripts/uninstall.sh
new file mode 100755
index 000000000..ab8a8d674
--- /dev/null
+++ b/apps/vivaldi-linuxserver/latest/scripts/uninstall.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+docker-compose down --volumes
diff --git a/apps/vivaldi-linuxserver/latest/scripts/upgrade.sh b/apps/vivaldi-linuxserver/latest/scripts/upgrade.sh
new file mode 100755
index 000000000..6e877466e
--- /dev/null
+++ b/apps/vivaldi-linuxserver/latest/scripts/upgrade.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+set -euo pipefail
diff --git a/apps/vivaldi-linuxserver/logo.png b/apps/vivaldi-linuxserver/logo.png
new file mode 100644
index 000000000..38423c866
Binary files /dev/null and b/apps/vivaldi-linuxserver/logo.png differ