diff --git a/apps/windows/3.12/data.yml b/apps/windows/3.12/data.yml index 5a065365..800e3b96 100644 --- a/apps/windows/3.12/data.yml +++ b/apps/windows/3.12/data.yml @@ -75,7 +75,9 @@ additionalProperties: envKey: PASSWORD labelEn: Login Password (This setting is not valid for non-matching system images) labelZh: 登录密码 (非匹配的系统镜像则此设置无效) + random: true required: true + rule: paramComplexity type: password - default: "always" edit: true diff --git a/apps/windows/README.md b/apps/windows/README.md index b7534e8b..4c77422c 100644 --- a/apps/windows/README.md +++ b/apps/windows/README.md @@ -18,4 +18,31 @@ sudo apt install cpu-checker sudo kvm-ok ``` -如果您根本没有收到来自`kvm-ok`的任何错误,但容器仍然抱怨`/dev/kvm`丢失,则将`privileged: true`添加到您的 compose 文件(或`--privileged`到您的`run`命令)可能会有所帮助,排除任何权限问题。 \ No newline at end of file +如果您根本没有收到来自`kvm-ok`的任何错误,但容器仍然抱怨`/dev/kvm`丢失,则将`privileged: true`添加到您的 compose 文件(或`--privileged`到您的`run`命令)可能会有所帮助,排除任何权限问题。 + +**在线下载的 Windows 镜像版本可从以下选择 (后续官方可能有修改,以官方文档为准)** + + | **Value** | **Version** | **Size** | + |---|---|---| + | `win11` | Windows 11 Pro | 6.4 GB | + | `win11e` | Windows 11 Enterprise | 5.8 GB | + | `win10` | Windows 10 Pro | 5.7 GB | + | `ltsc10` | Windows 10 LTSC | 4.6 GB | + | `win10e` | Windows 10 Enterprise | 5.2 GB | + |||| + | `win8` | Windows 8.1 Pro | 4.0 GB | + | `win8e` | Windows 8.1 Enterprise | 3.7 GB | + | `win7` | Windows 7 Enterprise | 3.0 GB | + | `vista` | Windows Vista Enterprise | 3.0 GB | + | `winxp` | Windows XP Professional | 0.6 GB | + |||| + | `2022` | Windows Server 2022 | 4.7 GB | + | `2019` | Windows Server 2019 | 5.3 GB | + | `2016` | Windows Server 2016 | 6.5 GB | + | `2012` | Windows Server 2012 | 4.3 GB | + | `2008` | Windows Server 2008 | 3.0 GB | + |||| + | `core11` | Tiny 11 Core | 2.1 GB | + | `tiny11` | Tiny 11 | 3.8 GB | + | `tiny10` | Tiny 10 | 3.6 GB | + diff --git a/apps/windows/latest-online/.env.sample b/apps/windows/latest-online/.env.sample new file mode 100644 index 00000000..4f0e7cc2 --- /dev/null +++ b/apps/windows/latest-online/.env.sample @@ -0,0 +1,15 @@ +CONTAINER_NAME="windows" +CPU_CORES=2 +DATA_PATH="./data/storage" +DISK_SIZE="30GB" +KEYBOARD="zh-CN" +LANGUAGE="zh-CN" +MANUAL="N" +PANEL_APP_PORT_HTTP=40286 +PASSWORD="password" +RAM_SIZE="4GB" +RDP_PORT=3389 +REGION="SG" +RESTART_POLICY="always" +USERNAME="docker" +VERSION="ltsc10" diff --git a/apps/windows/latest-online/data.yml b/apps/windows/latest-online/data.yml new file mode 100644 index 00000000..f2684568 --- /dev/null +++ b/apps/windows/latest-online/data.yml @@ -0,0 +1,116 @@ +additionalProperties: + formFields: + - default: "ltsc10" + edit: true + envKey: VERSION + labelEn: Windows version for online download (also available at https://example.com/win.iso) + labelZh: 在线下载的 Windows 版本 (也可 https://example.com/win.iso) + required: true + type: text + - default: "40286" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "./data/storage" + edit: true + envKey: DATA_PATH + labelEn: Data Path + labelZh: 数据路径 + required: true + type: text + - default: "3389" + edit: true + envKey: RDP_PORT + labelEn: RDP Port + labelZh: RDP 远程端口 + required: true + rule: paramPort + type: number + - default: "N" + edit: true + envKey: MANUAL + labelEn: Manual Install + labelZh: 手动安装 + required: true + type: select + values: + - label: "Yes" + value: "Y" + - label: "No" + value: "N" + - default: "30GB" + edit: true + envKey: DISK_SIZE + labelEn: Disk Size + labelZh: 磁盘大小 + required: true + type: text + - default: "4GB" + edit: true + envKey: RAM_SIZE + labelEn: RAM Size + labelZh: 内存大小 + required: true + type: text + - default: "2" + edit: true + envKey: CPU_CORES + labelEn: CPU Cores + labelZh: CPU 核心数 + required: true + type: number + - default: "docker" + edit: true + envKey: USERNAME + labelEn: Login Username (This setting is not valid for non-matching system images) + labelZh: 登录用户名 (非匹配的系统镜像则此设置无效) + required: true + type: text + - default: "password" + edit: true + envKey: PASSWORD + labelEn: Login Password (This setting is not valid for non-matching system images) + labelZh: 登录密码 (非匹配的系统镜像则此设置无效) + random: true + required: true + rule: paramComplexity + type: password + - default: "always" + edit: true + envKey: RESTART_POLICY + labelEn: Restart Policy + labelZh: 重启策略 + required: true + type: select + values: + - label: "Always" + value: "always" + - label: "Unless-stopped" + value: "unless-stopped" + - label: "No" + value: "no" + - default: "zh-CN" + edit: true + envKey: LANGUAGE + labelEn: Language + labelZh: 语言 + required: true + type: text + - default: "SG" + edit: true + envKey: REGION + labelEn: Region + labelZh: 区域 + required: true + type: text + - default: "zh-CN" + edit: true + envKey: KEYBOARD + labelEn: Keyboard Layout + labelZh: 键盘布局 + required: true + type: text diff --git a/apps/windows/latest-online/docker-compose.yml b/apps/windows/latest-online/docker-compose.yml new file mode 100644 index 00000000..08c7342c --- /dev/null +++ b/apps/windows/latest-online/docker-compose.yml @@ -0,0 +1,35 @@ +services: + windows: + image: "dockurr/windows:latest" + container_name: ${CONTAINER_NAME} + restart: ${RESTART_POLICY} + networks: + - 1panel-network + environment: + VERSION: ${VERSION} + LANGUAGE: ${LANGUAGE} + REGION: ${REGION} + KEYBOARD: ${KEYBOARD} + MANUAL: ${MANUAL} + DISK_SIZE: ${DISK_SIZE} + RAM_SIZE: ${RAM_SIZE} + CPU_CORES: ${CPU_CORES} + USERNAME: ${USERNAME} + PASSWORD: ${PASSWORD} + volumes: + - ${DATA_PATH}:/storage + devices: + - /dev/kvm + cap_add: + - NET_ADMIN + ports: + - ${PANEL_APP_PORT_HTTP}:8006 + - ${RDP_PORT}:3389/tcp + - ${RDP_PORT}:3389/udp + stop_grace_period: 2m + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/windows/latest/data.yml b/apps/windows/latest/data.yml index 5a065365..800e3b96 100644 --- a/apps/windows/latest/data.yml +++ b/apps/windows/latest/data.yml @@ -75,7 +75,9 @@ additionalProperties: envKey: PASSWORD labelEn: Login Password (This setting is not valid for non-matching system images) labelZh: 登录密码 (非匹配的系统镜像则此设置无效) + random: true required: true + rule: paramComplexity type: password - default: "always" edit: true