专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

dumbwareio/dumbterm Docker 镜像 - 轩辕镜像

dumbterm
dumbwareio/dumbterm
一款极其简单的基于Web的终端模拟器,内置常用工具并支持Starship。
1 收藏0 次下载activedumbwareio
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

DumbTerm

一个极其简单的基于Web的终端模拟器,包含常用工具和Starship支持!🚀

!dumbterm-preview

  • 从任何有Web浏览器的设备访问您的终端
  • 像在原生终端中一样执行命令
  • Starship提示符提供美观的终端体验,包含git状态、命令持续时间等信息
  • PIN保护(推荐)可防止未授权访问
  • 使用数据目录在容器重启之间持久化文件
  • 演示模式可用于测试和演示 - 模拟终端(设置DEMO_MODE=true)

使用场景

  • Docker构建:创建沙盒环境用于测试脚本、代码、应用程序,模拟VPS,展示示例等。无需在本地机器上安装依赖!
  • 本地构建:通过浏览器访问客户端的命令行/终端!
  • 自托管:放置在反向代理、认证提供器(如authentik、authelia等)、具有应用访问规则的Cloudflare隧道等后面,以实现安全的外部访问。
  • ttyd、shellinabox等Web终端的另一种替代方案

目录

  • 特性
  • 快速开始
    • 前提条件
    • 选项1:Docker(傻瓜式)
    • 选项2:Docker Compose(推荐)
    • 选项3:本地运行
      • Windows特定说明
  • 配置
    • 环境变量
    • Starship使用
      • Starship预设
  • 键盘快捷键
    • 终端搜索
    • 标签管理
  • 安全性
    • 安全特性
  • 技术细节
    • 技术栈
    • 依赖项
    • 支持的XTerm插件
  • 链接
  • 贡献
  • 了解我们
  • 未来功能

特性

  • 🖥️ 可从任何地方访问的基于Web的终端
  • 🌙 支持深色模式
  • 📱 响应式设计,适用于移动设备和桌面
  • 🐳 Docker支持(基于Debian的容器)
  • 🔧 预装实用工具:starship、nerdfonts、apt-utils、curl、wget、ssh、git、vim、nano、htop、net-tools、iputils-ping、traceroute、fontconfig、unzip、locales。
  • 🔒 可选PIN保护(数字)
  • ✨ Starship提示符集成,提供美观的终端体验
  • 🔍 终端搜索功能(ctrl+f 或 cmd+f)
  • 📂 自定义卷映射
  • 🔗 终端内超链接
  • ⌨️ 常用操作的键盘快捷键
  • 📑 标签管理:
    • 拖放重新排序标签
    • 双击重命名标签
    • 使用快捷键直接选择标签
    • 跨会话持久化终端历史

快速开始

前提条件
  • Docker(推荐)
  • Node.js >=20.0.0(用于本地开发)
    • Windows特定:WSL或Node.js v16 - 选项3:本地运行
选项1:Docker(傻瓜式)
  • Docker方法使用预安装的基于Debian Bullseye的容器/环境。
bash
# 一键拉取并运行
docker run -p 3000:3000 \
  -v ./data:/root/data \
  -v ./config:/root/.config \ 
  -e DUMBTERM_PIN=1234 \
  -e SITE_TITLE=DumbTerm \
  -e BASE_URL=http://localhost:3000 \
  -e ALLOWED_ORIGINS=http://localhost:3000 \
  -e ENABLE_STARSHIP=true \
  -e TZ=Asia/Shanghai \
  -e LOCKOUT_TIME=15 \
  -e MAX_SESSION_AGE=24 \
  dumbwareio/dumbterm:latest
  1. 访问 http://localhost:3000
  2. 如果已配置,输入您的PIN
  3. 享受基于Web的终端!
选项2:Docker Compose(推荐)

创建docker-compose.yml文件或使用提供的文件:

yaml
services:
  dumbterm:
    image: dumbwareio/dumbterm:latest
    container_name: dumbterm
    restart: unless-stopped
    ports:
      - ${DUMBTERM_PORT:-3000}:3000
    volumes:
      - ${DUMBTERM_CONFIG:-./config}:/root/.config
      - ${DUMBTERM_DATA_DIR:-./data}:/root/data
    environment:
      # 容器时区
      TZ: ${DUMBTERM_TZ:-Asia/Shanghai}
      # Web界面中显示的标题
      SITE_TITLE: ${DUMBTERM_SITE_TITLE:-DumbTerm}
      # 推荐的PIN保护(留空禁用)
      DUMBTERM_PIN: ${DUMBTERM_PIN:-1234}
      # 应用程序的基本URL
      BASE_URL: ${DUMBTERM_BASE_URL:-http://localhost:3000}
      ENABLE_STARSHIP: ${ENABLE_STARSHIP:-true}
      LOCKOUT_TIME: ${DUMBTERM_LOCKOUT_TIME:-15} # 分钟
      # 需要重新认证前的会话持续时间(小时)
      MAX_SESSION_AGE: ${DUMBTERM_MAX_SESSION_AGE:-24} # 小时
      # (可选)- 允许的CORS源列表
      # ALLOWED_ORIGINS: ${DUMBTERM_ALLOWED_ORIGINS:-http://localhost:3000}

然后运行:

bash
docker compose up -d
选项3:本地运行(开发者)
  • 本地方法将使用您的本地终端环境(Windows:Powershell,Mac / Linux:bash)。
  1. 安装依赖项:
bash
npm install

[!提示]

Windows特定说明:
  • 如果遇到node-pty问题,您可以尝试使用Windows Subsystem for Linux (WSL)或可能需要安装:
  • Node.js v16(查看适用于Windows的nvm以获得多节点版本支持):
    • winget install CoreyButler.NVMforWindows
    • 安装nvm后使用:nvm install 16 && nvm use 16
  • 通过Visual Studio安装程序安装windows-build-tools MSVC v142 - VS 2019 C++ {arch} Build Tools
    • 如需更多详细信息,请联系我们或查看官方Microsoft文档
  1. cp .env.example .env > 在.env中设置环境变量:
bash
PORT=3000                  # 服务器运行的端口
DUMBTERM_PIN=1234          # 可选PIN保护
SITE_TITLE=DumbTerm        # 自定义站点标题
BASE_URL=http://localhost:3000  # 应用程序的基本URL
  1. 启动服务器:
bash
npm start

配置

环境变量
变量名描述默认值是否必需
PORT服务器端口3000否
BASE_URL应用程序的基本URLhttp://localhost:PORT否
DUMBTERM_PINPIN保护(数字)无否
SITE_TITLE标题栏中显示的站点标题DumbTerm否
TZ容器时区Asia/Shanghai否
ENABLE_STARSHIP启用Starship提示符(仅Docker)true否
NODE_ENVNode环境模式(development或production)production否
ALLOWED_ORIGINS允许的CORS源(逗号分隔的列表)*(所有源)否
DEBUG启用调试日志FALSE否
LOCKOUT_TIME自定义PIN锁定时间(分钟)15否
MAX_SESSION_AGE已认证会话的持续时间(小时)24否
DEMO_MODE启用演示模式与模拟终端false否
Starship使用
  • Starship是一个跨shell提示符,提供美观的终端体验。
  • 在Docker镜像中默认启用,是推荐的方法。
  • 要禁用它,请在环境变量中将ENABLE_STARSHIP设置为false。
  • 您可以通过以下步骤之一自定义Starship提示符:
1. 使用starship的预设配置
Starship预设:

[!提示] 复制并粘贴以下starship预设命令之一到DumbTerm中即可!

预设命令示例:

!preset-preview


[!警告] 注意: 如果本地运行或将卷映射到实际的starship.toml配置,预设命令将覆盖您现有的starship.toml文件。确保根据需要进行备份。

查看所有Starship预设:
预设名称命令预览
Nerd Font Symbolsstarship preset nerd-font-symbols -o ~/.config/starship.toml!Nerd Font Symbols
Bracketed Segmentsstarship preset bracketed-segments -o ~/.config/starship.toml!Bracketed Segments
Plain Text Symbolsstarship preset plain-text-symbols -o ~/.config/starship.toml!Plain Text Symbols
No Runtime Versionsstarship preset no-runtime-versions -o ~/.config/starship.toml!No Runtime Versions
No Empty Iconsstarship preset no-empty-icons -o ~/.config/starship.toml!No Empty Icons
Pure Promptstarship preset pure-preset -o ~/.config/starship.toml!Pure Prompt
Pastel Powerlinestarship preset pastel-powerline -o ~/.config/starship.toml!Pastel Powerline
Tokyo Night (DumbTerm默认修改版)starship preset tokyo-night -o ~/.config/starship.toml!Tokyo Night
Gruvbox Rainbowstarship preset gruvbox-rainbow -o ~/.config/starship.toml!Gruvbox Rainbow
Jetpackstarship preset jetpack -o ~/.config/starship.toml!Jetpack
No Nerd Fontsstarship preset no-nerd-font -o ~/.config/starship.tomln/a
  • 您也可以在DumbTerm中运行starship preset -l查看可用的预设。

有关更多详细信息,请访问Starship Presets页面。

2. 修改已设置的卷挂载中的~/.config/starship.toml文件或容器内的该文件。
  • 默认配置位于/root/.config/starship.toml。
  • 您也可以使用Docker卷将自定义的starship.toml文件挂载到容器中。
  • 更新或添加自定义配置到starship.toml。
    • 访问Starship配置了解有关自定义提示符的更多信息。
3. 本地运行
  • 如果您在本地运行DumbTerm,DumbTerm将继承您当前的样式。
    • 这意味着如果您已经在本地启用了starship,您应该能够相应地看到您当前的样式。
  • 如果您希望在_本地_使用带有starship的DumbTerm,必须在本地计算机上安装Starship。
    • 要安装Starship,请按照Starship安装页面上的说明进行操作。

键盘快捷键

DumbTerm提供了一套全面的键盘快捷键,用于高效的终端管理。修饰键因操作系统而异:

  • Windows/Linux: Ctrl+Alt+{键}
  • macOS: Ctrl+Cmd+{键}
操作Windows/LinuxmacOS
新建终端Ctrl+Alt+TCtrl+Cmd+T
关闭终端Ctrl+Alt+WCtrl+Cmd+W
重命名终端Ctrl+Alt+RCtrl+Cmd+R
终端中搜索Ctrl+FCmd+F
下一个终端Ctrl+Alt+> 或 Ctrl+Alt+.Ctrl+Cmd+> 或 Ctrl+Cmd+.
上一个终端Ctrl+Alt+< 或 Ctrl+Alt+,Ctrl+Cmd+< 或 Ctrl+Cmd+,
切换到终端 1-9Ctrl+Alt+[1-9]Ctrl+Cmd+[1-9]
终端搜索
  • 按Ctrl+F(Windows/Linux)或Cmd+F(macOS)打开搜索栏
  • 使用上下箭头按钮或Enter/Shift+Enter循环浏览匹配项
  • 按Escape或关闭按钮退出搜索模式
标签管理
  • 拖放:点击并拖动标签以重新排序
  • 重命名:双击标签或使用键盘快捷键重命名
  • 历史记录:终端内容在浏览器刷新和重启之间自动保留
  • 直接选择:使用数字快捷键(1-9)快速切换前9个终端

安全性

强烈建议设置强PIN,使用HTTPS,使用ALLOWED_ORIGINS,并与认证提供器(即Authentik / Authelia / tinyauth等)集成。

我们很"笨",但不愚蠢。生产环境使用时请使用全功能的认证提供器。

  • [***]
  • [***]
  • [***] compose集成)
安全特性
  • 变长PIN支持(数字)
  • 恒定时间PIN比较
  • 暴力破解保护:
    • 最多5次尝试
    • 失败尝试后15分钟锁定
    • 基于IP的跟踪
  • 安全Cookie处理
  • 基于会话的认证
  • 用于源限制的CORS支持(可选)
  • HTTPS支持(当使用适当的BASE_URL配置时)

技术细节

技术栈
  • 后端:Node.js (>=20.0.0) 与 Express
  • 前端:XTerm.js 用于终端模拟
  • 容器:Docker 与 Debian Bullseye 基础镜像
  • 终端:node-pty 用于进程生成
  • 通信:WebSocket 用于实时终端I/O
  • 安全:cors 用于跨域请求
依赖项
  • express: Web框架
  • node-pty: 终端进程生成
  • xterm: 终端前端
  • ws: WebSocket服务器
  • cookie-parser: Cookie处理
  • express-session: 会话管理
  • cors: 跨域请求安全
支持的XTerm插件

DumbTerm包含以下XTerm.js插件以增强您的终端

查看更多 dumbterm 相关镜像 →
dumbwareio/dumbassets logo
dumbwareio/dumbassets
by DumbWareio
极其简单的资产追踪器
3500K+ pulls
上次更新:5 个月前
dumbwareio/dumbpad logo
dumbwareio/dumbpad
by DumbWareio
一个极其简单的记事本应用,支持自动保存、暗黑模式、Markdown格式化和可选PIN保护,采用文件存储确保数据持久化,适合快速记录和管理个人笔记。
3100K+ pulls
上次更新:12 天前
dumbwareio/dumbdo logo
dumbwareio/dumbdo
by DumbWareio
一个极其简单的待办事项列表应用,无复杂数据库,专注于待办事项核心功能,具备简洁界面、深色/浅色模式、文件存储和PIN保护等特性。
2100K+ pulls
上次更新:12 天前
dumbwareio/dumbdrop logo
dumbwareio/dumbdrop
by DumbWareio
一个极其简单的文件上传应用,仅支持文件写入功能,提供简洁现代的拖放界面,无需认证和复杂配置,让文件上传变得异常简单。
2100K+ pulls
上次更新:2 个月前
dumbwareio/dumbbudget logo
dumbwareio/dumbbudget
by DumbWareio
一个简单、安全的个人预算应用,带有PIN保护功能,可通过简洁现代的界面跟踪收入和支出,支持多币种、交易分类、CSV导出、实时余额计算等功能。
2100K+ pulls
上次更新:2 个月前
dumbwareio/dumbwhois logo
dumbwareio/dumbwhois
by DumbWareio
一个用于查询WHOIS、IP和ASN信息的简单Web应用,自动检测查询类型,提供格式化结果,具有简洁现代的UI和明暗模式支持,无需认证即可使用。
2100K+ pulls
上次更新:6 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
dumbwareio/dumbterm
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429