
raindev11/webtop基于linuxserver/webtop、kasmvnc与ubuntu-kde构建的Web基础Linux桌面环境,针对国内用户进行了韩语设置优化,预装多种实用程序及开发工具,可通过浏览器便捷访问完整桌面体验。
支持amd64(x86-64)及arm64(aarch64)架构,采用多架构镜像设计,会根据下载服务器自动拉取对应架构版本。
当前基于Ubuntu Jammy (22.04)构建,计划年底评估切换至Noble (24.04)(因当前存在较多不兼容包)。
| 基础镜像 | 架构 |
|---|---|
| Ubuntu Jammy (22.04) | amd64 |
| Ubuntu Jammy (22.04) | arm64 |
所有镜像均基于Ubuntu KDE,提供以下标签:
| 标签 | 描述 |
|---|---|
| latest | 最新构建版本 |
| yymmdd | 特定日期构建版本 |
服务通过以下端口提供访问:
| 变量 | 默认值 | 描述 |
|---|---|---|
| CUSTOM_PORT | 3000 | HTTP端口 |
| CUSTOM_HTTPS_PORT | 3001 | HTTPS端口 |
| CUSTOM_USER | abc | HTTP Basic认证ID |
| PASSWORD | HTTP Basic认证密码(输入时启用HTTP Basic认证) | |
| SUBFOLDER | / | 反向代理子目录配置时使用的路径 |
| TITLE | KasmVNC Client | 浏览器标题显示文本 |
| START_DOCKER | true | 是否启用容器内Docker(Docker in Docker, DinD) |
| DRINODE | /dev/dri/renderD128 | 开源驱动GPU使用路径,参考DRI3 GPU加速 |
| DISABLE_IPV6 | false | 是否禁用IPv6 |
| DOCKER_MODS | 额外Docker mods配置,参考Docker mods | |
| RESET_HOME | false | 容器重启时是否重置家目录 |
| DESKTOP_ICONS | false | 是否在桌面显示图标 |
| TZ | Asia/Seoul | 时区 |
| LC_ALL | ko_KR.UTF-8 | 使用语言(如ko_KR.UTF-8、en_US.UTF-8等) |
| VIEW_ONLY | false | 是否启用只读模式 |
| RESIZE | remote | 缩放设置(off/scale/remote) |
| ENABLE_PERF_STATS | false | 是否显示性能信息 |
| ENABLE_WEBRTC | false | 是否启用WebRTC |
| ENABLE_WEBP | true | 是否启用WebP |
| ENABLE_IME | true | 是否启用IME输入 |
| ENABLE_HIDPI | false | 是否启用HiDPI |
| VIDEO_QUALITY | high | 流媒体质量预设(low/medium/high/extreme/lossless) |
| ANTI_ALIASING | dynamic | 抗锯齿设置(dynamic/on/off) |
| 类型 | 变量 | 必要 | 描述 |
|---|---|---|---|
| 选项 | --privileged | ✅ | 启用容器内Docker(DinD)必需 |
| 选项 | --security_opt seccomp:unconfined | ✅ | 启用容器内Docker(DinD)必需 |
| 绑定挂载 | -v ./data:/config | ❌ | 将家目录挂载到主机目录 |
| 绑定挂载 | -v ./docker:/var/lib/docker | ❌ | 将DinD目录挂载到主机目录 |
| 绑定挂载 | -v /var/run/docker.sock:/var/run/docker.sock | ❌ | 需要控制主机Docker时配置 |
| 绑定挂载 | -v ./certificates:/usr/local/share/ca-certificates | ❌ | 需要添加私有证书时使用 |
| 绑定挂载 | -v /dev/shm:/dev/shm | ✅ | 共享主机内存以确保流畅运行 |
| 设备 | --device /dev/dri:/dev/dri | ✅ | 内部使用GPU时必需 |
以下是docker-compose示例配置:
yaml--- version: '3.5' services: webtop: image: raindev11/webtop:latest container_name: webtop hostname: webtop restart: unless-stopped privileged: true security_opt: - seccomp:unconfined environment: - PUID=1000 - PGID=1000 - SUBFOLDER=/ - TITLE=liveLinux - RESET_HOME=true - DESKTOP_ICONS=false - DISABLE_IPV6=true # HTTP Basic认证启用时配置ID/PW #- CUSTOM_USER=abc #- PASSWORD=abc volumes: - './data:/config' - './docker:/var/lib/docker' # 需要私有证书时启用 #- './certificates:/usr/local/share/ca-certificates' # 不需要控制主机Docker时注释 #- '/var/run/docker.sock:/var/run/docker.sock' # 共享主机内存 - '/dev/shm:/dev/shm' ports: - 3000:3000 - 3001:3001 devices: - /dev/dri:/dev/dri networks: - private networks: private: name: private
高级→自定义Nginx配置中设置proxy_pass [***]适用于Nginx/NPM与容器同网络,不同网络时需改为proxy_pass [***]location / { proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Cookie ""; proxy_read_timeout 3600s; proxy_send_timeout 3600s; add_header 'Access-Control-Allow-Origin' '*' always; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Cross-Origin-Embedder-Policy' 'require-corp'; add_header 'Cross-Origin-Opener-Policy' 'same-origin'; add_header 'Cross-Origin-Resource-Policy' 'same-site'; proxy_pass [***] proxy_buffering off; } location /websockify { proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Cookie ""; proxy_read_timeout 3600s; proxy_send_timeout 3600s; add_header 'Access-Control-Allow-Origin' '*' always; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Cross-Origin-Embedder-Policy' 'require-corp'; add_header 'Cross-Origin-Opener-Policy' 'same-origin'; add_header 'Cross-Origin-Resource-Policy' 'same-site'; proxy_pass [***] proxy_buffering off; }
| 项目 | 名称 | 初始设置内容 |
|---|---|---|
| 浏览器 | Brave | 应用韩语语言包,预装右键菜单拦截扩展 |
| 文本编辑器 | VSCode | 应用韩语语言包 预装Docker、Indent-rainbow、Typora扩展 |
| 办公软件 | LibreOffice | 预装StopBegging扩展 |
| 远程连接 | Remmina | 默认配置 |
| 虚拟化 | Docker/compose | |
| 网络工具 | Wireshark | 默认配置 |
| 文件管理器 | Double Commander | 默认配置 |
| 压缩工具 | Ark | |
| 视频播放器 | VLC | 默认配置 |
| 图片查看器 | Gwenview | 默认配置 |
| 屏幕录制 | OBS Studio | 默认配置 |
| 截图工具 | Spectacle |
安全及应用定期更新于每周日凌晨3点进行,不定期更新可能随时发布。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务