From 7a7d15e3bebcd20e352f3d5e228cf5a0404a9c19 Mon Sep 17 00:00:00 2001 From: okxlin Date: Wed, 4 Dec 2024 00:51:43 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0thunderbird=E5=88=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/thunderbird/24.10.1/.env.sample | 28 +++ apps/thunderbird/24.10.1/data.yml | 233 ++++++++++++++++++++ apps/thunderbird/24.10.1/docker-compose.yml | 46 ++++ apps/thunderbird/README.md | 3 + apps/thunderbird/data.yml | 19 ++ apps/thunderbird/latest/.env.sample | 28 +++ apps/thunderbird/latest/data.yml | 233 ++++++++++++++++++++ apps/thunderbird/latest/docker-compose.yml | 46 ++++ apps/thunderbird/logo.png | Bin 0 -> 7631 bytes 9 files changed, 636 insertions(+) create mode 100644 apps/thunderbird/24.10.1/.env.sample create mode 100644 apps/thunderbird/24.10.1/data.yml create mode 100644 apps/thunderbird/24.10.1/docker-compose.yml create mode 100644 apps/thunderbird/README.md create mode 100644 apps/thunderbird/data.yml create mode 100644 apps/thunderbird/latest/.env.sample create mode 100644 apps/thunderbird/latest/data.yml create mode 100644 apps/thunderbird/latest/docker-compose.yml create mode 100644 apps/thunderbird/logo.png diff --git a/apps/thunderbird/24.10.1/.env.sample b/apps/thunderbird/24.10.1/.env.sample new file mode 100644 index 00000000..c6bca736 --- /dev/null +++ b/apps/thunderbird/24.10.1/.env.sample @@ -0,0 +1,28 @@ +APP_NICENESS=0 +CONFIG_PATH="./data" +CONTAINER_DEBUG=0 +CONTAINER_NAME="thunderbird" +DARK_MODE=0 +DISPLAY_HEIGHT=1080 +DISPLAY_WIDTH=1920 +ENABLE_CJK_FONT=0 +GROUP_ID=1000 +HOST_IP="" +INSTALL_PACKAGES="" +KEEP_APP_RUNNING=0 +LANG="en_US.UTF-8" +PACKAGES_MIRROR="" +PANEL_APP_PORT_HTTP=40327 +SECURE_CONNECTION=1 +SECURE_CONNECTION_CERTS_CHECK_INTERVAL=60 +SECURE_CONNECTION_VNC_METHOD="SSL" +SUP_GROUP_IDS="" +TZ="Asia/Shanghai" +UMASK=0022 +USER_ID=1000 +VNC_PASSWORD="password" +VNC_PORT=40328 +WEB_AUDIO=0 +WEB_AUTHENTICATION=0 +WEB_AUTHENTICATION_PASSWORD="" +WEB_AUTHENTICATION_USERNAME="" diff --git a/apps/thunderbird/24.10.1/data.yml b/apps/thunderbird/24.10.1/data.yml new file mode 100644 index 00000000..37cf25a3 --- /dev/null +++ b/apps/thunderbird/24.10.1/data.yml @@ -0,0 +1,233 @@ +additionalProperties: + formFields: + - default: "40327" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Web Port + labelZh: Web 端口 + required: true + type: number + - default: "40328" + edit: true + envKey: VNC_PORT + labelEn: VNC Port + labelZh: VNC 端口 + required: true + type: number + - default: "password" + edit: true + envKey: VNC_PASSWORD + labelEn: VNC Password + labelZh: VNC 密码 + random: true + required: true + rule: paramComplexity + type: password + - default: "./data" + edit: true + envKey: CONFIG_PATH + labelEn: Configuration Path + labelZh: 配置路径 + required: true + type: text + - default: "1000" + edit: true + envKey: USER_ID + labelEn: User ID + labelZh: 用户 ID + required: true + type: number + - default: "1000" + edit: true + envKey: GROUP_ID + labelEn: Group ID + labelZh: 用户组 ID + required: true + type: number + - default: "" + edit: true + envKey: SUP_GROUP_IDS + labelEn: Supplementary Group IDs + labelZh: 补充用户组 ID + required: false + type: text + - default: "0022" + edit: true + envKey: UMASK + labelEn: Umask + labelZh: 文件创建权限掩码 + required: true + type: text + - default: "en_US.UTF-8" + edit: true + envKey: LANG + labelEn: Locale + labelZh: 语言环境 + required: true + type: text + - default: "Asia/Shanghai" + edit: true + envKey: TZ + labelEn: Timezone + labelZh: 时区 + required: true + type: text + - default: "0" + edit: true + envKey: KEEP_APP_RUNNING + labelEn: Keep App Running + labelZh: 保持应用运行 + required: true + type: select + values: + - label: "True" + value: "1" + - label: "False" + value: "0" + - default: "0" + edit: true + envKey: APP_NICENESS + labelEn: App Niceness + labelZh: 应用优先级 + required: true + type: select + values: + - label: "High" + value: "-20" + - label: "Normal" + value: "0" + - label: "Low" + value: "19" + - default: "" + edit: true + envKey: INSTALL_PACKAGES + labelEn: Install Packages + labelZh: 安装包 + required: false + type: text + - default: "" + edit: true + envKey: PACKAGES_MIRROR + labelEn: Packages Mirror + labelZh: 软件包镜像 + required: false + type: text + - default: "0" + edit: true + envKey: CONTAINER_DEBUG + labelEn: Container Debug + labelZh: 容器调试 + required: true + type: select + values: + - label: "Disabled" + value: "0" + - label: "Enabled" + value: "1" + - default: "1920" + edit: true + envKey: DISPLAY_WIDTH + labelEn: Display Width + labelZh: 显示宽度 + required: true + type: number + - default: "1080" + edit: true + envKey: DISPLAY_HEIGHT + labelEn: Display Height + labelZh: 显示高度 + required: true + type: number + - default: "0" + edit: true + envKey: DARK_MODE + labelEn: Dark Mode + labelZh: 暗黑模式 + required: true + type: select + values: + - label: "Disabled" + value: "0" + - label: "Enabled" + value: "1" + - default: "0" + edit: true + envKey: WEB_AUDIO + labelEn: Web Audio + labelZh: Web 音频 + required: true + type: select + values: + - label: "Disabled" + value: "0" + - label: "Enabled" + value: "1" + - default: "0" + edit: true + envKey: WEB_AUTHENTICATION + labelEn: Web Authentication + labelZh: Web 身份验证 + required: true + type: select + values: + - label: "Disabled" + value: "0" + - label: "Enabled" + value: "1" + - default: "" + edit: true + envKey: WEB_AUTHENTICATION_USERNAME + labelEn: Web Authentication Username + labelZh: Web 身份验证用户名 + required: false + type: text + - default: "" + edit: true + envKey: WEB_AUTHENTICATION_PASSWORD + labelEn: Web Authentication Password + labelZh: Web 身份验证密码 + required: false + type: text + - default: "1" + edit: true + envKey: SECURE_CONNECTION + labelEn: Secure Connection + labelZh: 安全连接 + required: true + type: select + values: + - label: "Disabled" + value: "0" + - label: "Enabled" + value: "1" + - default: "SSL" + edit: true + envKey: SECURE_CONNECTION_VNC_METHOD + labelEn: Secure VNC Method + labelZh: 安全 VNC 方法 + required: true + type: select + values: + - label: "SSL" + value: "SSL" + - label: "TLS" + value: "TLS" + - default: "60" + edit: true + envKey: SECURE_CONNECTION_CERTS_CHECK_INTERVAL + labelEn: Secure Connection Certs Check Interval + labelZh: 安全连接证书检查间隔 + required: true + type: number + - default: "0" + edit: true + envKey: ENABLE_CJK_FONT + labelEn: Enable CJK Font + labelZh: 启用 CJK 字体 + required: true + type: select + values: + - label: "Disabled" + value: "0" + - label: "Enabled" + value: "1" diff --git a/apps/thunderbird/24.10.1/docker-compose.yml b/apps/thunderbird/24.10.1/docker-compose.yml new file mode 100644 index 00000000..a0aacb83 --- /dev/null +++ b/apps/thunderbird/24.10.1/docker-compose.yml @@ -0,0 +1,46 @@ +services: + thunderbird: + image: "jlesage/thunderbird:v24.10.1" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP}" + - "${VNC_PORT}:${VNC_PORT}" + volumes: + - ${CONFIG_PATH}:/config:rw + environment: + - USER_ID=${USER_ID} + - GROUP_ID=${GROUP_ID} + - SUP_GROUP_IDS=${SUP_GROUP_IDS} + - UMASK=${UMASK} + - LANG=${LANG} + - TZ=${TZ} + - KEEP_APP_RUNNING=${KEEP_APP_RUNNING} + - APP_NICENESS=${APP_NICENESS} + - INSTALL_PACKAGES=${INSTALL_PACKAGES} + - PACKAGES_MIRROR=${PACKAGES_MIRROR} + - CONTAINER_DEBUG=${CONTAINER_DEBUG} + - DISPLAY_WIDTH=${DISPLAY_WIDTH} + - DISPLAY_HEIGHT=${DISPLAY_HEIGHT} + - DARK_MODE=${DARK_MODE} + - WEB_AUDIO=${WEB_AUDIO} + - WEB_AUTHENTICATION=${WEB_AUTHENTICATION} + - WEB_AUTHENTICATION_USERNAME=${WEB_AUTHENTICATION_USERNAME} + - WEB_AUTHENTICATION_PASSWORD=${WEB_AUTHENTICATION_PASSWORD} + - SECURE_CONNECTION=${SECURE_CONNECTION} + - SECURE_CONNECTION_VNC_METHOD=${SECURE_CONNECTION_VNC_METHOD} + - SECURE_CONNECTION_CERTS_CHECK_INTERVAL=${SECURE_CONNECTION_CERTS_CHECK_INTERVAL} + - WEB_LISTENING_PORT=${PANEL_APP_PORT_HTTP} + - VNC_LISTENING_PORT=${VNC_PORT} + - VNC_PASSWORD=${VNC_PASSWORD} + - ENABLE_CJK_FONT=${ENABLE_CJK_FONT} + cap_add: + - SYS_NICE + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/thunderbird/README.md b/apps/thunderbird/README.md new file mode 100644 index 00000000..7274f17b --- /dev/null +++ b/apps/thunderbird/README.md @@ -0,0 +1,3 @@ +# Thunderbird + +一个给您充分自由的邮件和生产力应用。 diff --git a/apps/thunderbird/data.yml b/apps/thunderbird/data.yml new file mode 100644 index 00000000..6f3a94c6 --- /dev/null +++ b/apps/thunderbird/data.yml @@ -0,0 +1,19 @@ +name: Thunderbird +tags: + - 邮件服务 +title: 开源的电子邮件客户端 +description: 开源的电子邮件客户端 +additionalProperties: + key: thunderbird + name: Thunderbird + tags: + - Email + shortDescZh: 开源的电子邮件客户端 + shortDescEn: Open-source email client + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://www.thunderbird.net + github: https://github.com/thunderbird + document: https://support.mozilla.org/en-US/products/thunderbird diff --git a/apps/thunderbird/latest/.env.sample b/apps/thunderbird/latest/.env.sample new file mode 100644 index 00000000..c6bca736 --- /dev/null +++ b/apps/thunderbird/latest/.env.sample @@ -0,0 +1,28 @@ +APP_NICENESS=0 +CONFIG_PATH="./data" +CONTAINER_DEBUG=0 +CONTAINER_NAME="thunderbird" +DARK_MODE=0 +DISPLAY_HEIGHT=1080 +DISPLAY_WIDTH=1920 +ENABLE_CJK_FONT=0 +GROUP_ID=1000 +HOST_IP="" +INSTALL_PACKAGES="" +KEEP_APP_RUNNING=0 +LANG="en_US.UTF-8" +PACKAGES_MIRROR="" +PANEL_APP_PORT_HTTP=40327 +SECURE_CONNECTION=1 +SECURE_CONNECTION_CERTS_CHECK_INTERVAL=60 +SECURE_CONNECTION_VNC_METHOD="SSL" +SUP_GROUP_IDS="" +TZ="Asia/Shanghai" +UMASK=0022 +USER_ID=1000 +VNC_PASSWORD="password" +VNC_PORT=40328 +WEB_AUDIO=0 +WEB_AUTHENTICATION=0 +WEB_AUTHENTICATION_PASSWORD="" +WEB_AUTHENTICATION_USERNAME="" diff --git a/apps/thunderbird/latest/data.yml b/apps/thunderbird/latest/data.yml new file mode 100644 index 00000000..37cf25a3 --- /dev/null +++ b/apps/thunderbird/latest/data.yml @@ -0,0 +1,233 @@ +additionalProperties: + formFields: + - default: "40327" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Web Port + labelZh: Web 端口 + required: true + type: number + - default: "40328" + edit: true + envKey: VNC_PORT + labelEn: VNC Port + labelZh: VNC 端口 + required: true + type: number + - default: "password" + edit: true + envKey: VNC_PASSWORD + labelEn: VNC Password + labelZh: VNC 密码 + random: true + required: true + rule: paramComplexity + type: password + - default: "./data" + edit: true + envKey: CONFIG_PATH + labelEn: Configuration Path + labelZh: 配置路径 + required: true + type: text + - default: "1000" + edit: true + envKey: USER_ID + labelEn: User ID + labelZh: 用户 ID + required: true + type: number + - default: "1000" + edit: true + envKey: GROUP_ID + labelEn: Group ID + labelZh: 用户组 ID + required: true + type: number + - default: "" + edit: true + envKey: SUP_GROUP_IDS + labelEn: Supplementary Group IDs + labelZh: 补充用户组 ID + required: false + type: text + - default: "0022" + edit: true + envKey: UMASK + labelEn: Umask + labelZh: 文件创建权限掩码 + required: true + type: text + - default: "en_US.UTF-8" + edit: true + envKey: LANG + labelEn: Locale + labelZh: 语言环境 + required: true + type: text + - default: "Asia/Shanghai" + edit: true + envKey: TZ + labelEn: Timezone + labelZh: 时区 + required: true + type: text + - default: "0" + edit: true + envKey: KEEP_APP_RUNNING + labelEn: Keep App Running + labelZh: 保持应用运行 + required: true + type: select + values: + - label: "True" + value: "1" + - label: "False" + value: "0" + - default: "0" + edit: true + envKey: APP_NICENESS + labelEn: App Niceness + labelZh: 应用优先级 + required: true + type: select + values: + - label: "High" + value: "-20" + - label: "Normal" + value: "0" + - label: "Low" + value: "19" + - default: "" + edit: true + envKey: INSTALL_PACKAGES + labelEn: Install Packages + labelZh: 安装包 + required: false + type: text + - default: "" + edit: true + envKey: PACKAGES_MIRROR + labelEn: Packages Mirror + labelZh: 软件包镜像 + required: false + type: text + - default: "0" + edit: true + envKey: CONTAINER_DEBUG + labelEn: Container Debug + labelZh: 容器调试 + required: true + type: select + values: + - label: "Disabled" + value: "0" + - label: "Enabled" + value: "1" + - default: "1920" + edit: true + envKey: DISPLAY_WIDTH + labelEn: Display Width + labelZh: 显示宽度 + required: true + type: number + - default: "1080" + edit: true + envKey: DISPLAY_HEIGHT + labelEn: Display Height + labelZh: 显示高度 + required: true + type: number + - default: "0" + edit: true + envKey: DARK_MODE + labelEn: Dark Mode + labelZh: 暗黑模式 + required: true + type: select + values: + - label: "Disabled" + value: "0" + - label: "Enabled" + value: "1" + - default: "0" + edit: true + envKey: WEB_AUDIO + labelEn: Web Audio + labelZh: Web 音频 + required: true + type: select + values: + - label: "Disabled" + value: "0" + - label: "Enabled" + value: "1" + - default: "0" + edit: true + envKey: WEB_AUTHENTICATION + labelEn: Web Authentication + labelZh: Web 身份验证 + required: true + type: select + values: + - label: "Disabled" + value: "0" + - label: "Enabled" + value: "1" + - default: "" + edit: true + envKey: WEB_AUTHENTICATION_USERNAME + labelEn: Web Authentication Username + labelZh: Web 身份验证用户名 + required: false + type: text + - default: "" + edit: true + envKey: WEB_AUTHENTICATION_PASSWORD + labelEn: Web Authentication Password + labelZh: Web 身份验证密码 + required: false + type: text + - default: "1" + edit: true + envKey: SECURE_CONNECTION + labelEn: Secure Connection + labelZh: 安全连接 + required: true + type: select + values: + - label: "Disabled" + value: "0" + - label: "Enabled" + value: "1" + - default: "SSL" + edit: true + envKey: SECURE_CONNECTION_VNC_METHOD + labelEn: Secure VNC Method + labelZh: 安全 VNC 方法 + required: true + type: select + values: + - label: "SSL" + value: "SSL" + - label: "TLS" + value: "TLS" + - default: "60" + edit: true + envKey: SECURE_CONNECTION_CERTS_CHECK_INTERVAL + labelEn: Secure Connection Certs Check Interval + labelZh: 安全连接证书检查间隔 + required: true + type: number + - default: "0" + edit: true + envKey: ENABLE_CJK_FONT + labelEn: Enable CJK Font + labelZh: 启用 CJK 字体 + required: true + type: select + values: + - label: "Disabled" + value: "0" + - label: "Enabled" + value: "1" diff --git a/apps/thunderbird/latest/docker-compose.yml b/apps/thunderbird/latest/docker-compose.yml new file mode 100644 index 00000000..d61efcbe --- /dev/null +++ b/apps/thunderbird/latest/docker-compose.yml @@ -0,0 +1,46 @@ +services: + thunderbird: + image: "jlesage/thunderbird:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP}" + - "${VNC_PORT}:${VNC_PORT}" + volumes: + - ${CONFIG_PATH}:/config:rw + environment: + - USER_ID=${USER_ID} + - GROUP_ID=${GROUP_ID} + - SUP_GROUP_IDS=${SUP_GROUP_IDS} + - UMASK=${UMASK} + - LANG=${LANG} + - TZ=${TZ} + - KEEP_APP_RUNNING=${KEEP_APP_RUNNING} + - APP_NICENESS=${APP_NICENESS} + - INSTALL_PACKAGES=${INSTALL_PACKAGES} + - PACKAGES_MIRROR=${PACKAGES_MIRROR} + - CONTAINER_DEBUG=${CONTAINER_DEBUG} + - DISPLAY_WIDTH=${DISPLAY_WIDTH} + - DISPLAY_HEIGHT=${DISPLAY_HEIGHT} + - DARK_MODE=${DARK_MODE} + - WEB_AUDIO=${WEB_AUDIO} + - WEB_AUTHENTICATION=${WEB_AUTHENTICATION} + - WEB_AUTHENTICATION_USERNAME=${WEB_AUTHENTICATION_USERNAME} + - WEB_AUTHENTICATION_PASSWORD=${WEB_AUTHENTICATION_PASSWORD} + - SECURE_CONNECTION=${SECURE_CONNECTION} + - SECURE_CONNECTION_VNC_METHOD=${SECURE_CONNECTION_VNC_METHOD} + - SECURE_CONNECTION_CERTS_CHECK_INTERVAL=${SECURE_CONNECTION_CERTS_CHECK_INTERVAL} + - WEB_LISTENING_PORT=${PANEL_APP_PORT_HTTP} + - VNC_LISTENING_PORT=${VNC_PORT} + - VNC_PASSWORD=${VNC_PASSWORD} + - ENABLE_CJK_FONT=${ENABLE_CJK_FONT} + cap_add: + - SYS_NICE + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/thunderbird/logo.png b/apps/thunderbird/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f19a53b1c99d6ab1d1c0b30bc9f62bba47544d3a GIT binary patch literal 7631 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 literal 0 HcmV?d00001