
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Secure browser-based terminal built on our Debian base image with https://github.com/tsl0922/ttyd for web terminal access. Includes common DevOps and hosting tools, optional SSH server, and flexible authentication options.
Every build ships a Sigstore-signed SBOM and a full Trivy scan — verify them yourself, no login required:
bashgh attestation verify oci://ghcr.io/oorabona/web-shell:latest --owner oorabona
Full walkthrough (SBOM payload, Trivy findings, multi-arch manifest inspection, upstream dependency tracking) → https://oorabona.github.io/docker-containers/verify-images/
bash# Pull the image docker pull ghcr.io/oorabona/web-shell:latest # Run with default settings (web terminal on port 7681) docker run -d --name web-shell -p 7681:7681 ghcr.io/oorabona/web-shell:latest # Open in browser # http://localhost:7681 # Run with password and SSH enabled docker run -d --name web-shell \ -p 7681:7681 -p 2222:2222 \ -e SHELL_PASSWORD=mysecretpass \ -e ENABLE_SSH=true \ ghcr.io/oorabona/web-shell:latest
bash# Build with latest upstream ttyd version ./make build web-shell # Build with specific ttyd version ./make build web-shell 1.7.7
| Arg | Default | Description |
|---|---|---|
VERSION | latest | Full version tag (set by build system) |
TTYD_VERSION | 1.7.7 | ttyd release version |
DEBIAN_TAG | trixie | Debian base image tag |
SHELL_USER | debian | Default shell user (build-time) |
| Variable | Default | Description |
|---|---|---|
SHELL_USER | debian | User for terminal sessions |
SHELL_PASSWORD | (locked) | Set user password at runtime (required for SSH/sudo) |
TTYD_PORT | 7681 | Web terminal listen port |
ENABLE_SSH | false | Start SSH daemon on port 2222 |
SSH_PUBLIC_KEY | (none) | Import SSH authorized key |
TTYD_CREDENTIAL | (none) | Basic auth in user:password format |
TTYD_SSL_CERT | (none) | Path to TLS certificate (enables HTTPS) |
TTYD_SSL_KEY | (none) | Path to TLS private key |
TTYD_AUTH_HEADER | (none) | Auth header for reverse proxy integration |
| Port | Service |
|---|---|
| 7681 | ttyd web terminal (WebSocket-based) |
| 2222 | SSH server (when ENABLE_SSH=true) |
| Category | Tools |
|---|---|
| Editors | vim-tiny, nano |
| File management | tree, file, less, findutils |
| Network | curl, wget, dnsutils, iputils-ping, net-tools |
| Process management | htop, procps |
| Data tools | jq |
| Version control | git |
| Archives | bzip2, xz-utils, unzip, zip |
| Remote access | openssh-server |
Anyone with network access can use the terminal. Suitable for local development or behind a trusted reverse proxy.
bashdocker run -d -p 7681:7681 \ -e TTYD_CREDENTIAL="admin:secretpass" \ ghcr.io/oorabona/web-shell:latest
bashdocker run -d -p 7681:7681 \ -v /path/to/cert.pem:/certs/cert.pem:ro \ -v /path/to/key.pem:/certs/key.pem:ro \ -e TTYD_SSL_CERT=/certs/cert.pem \ -e TTYD_SSL_KEY=/certs/key.pem \ ghcr.io/oorabona/web-shell:latest
For integration with authentication proxies (OAuth2 Proxy, Authelia, etc.):
bashdocker run -d -p 7681:7681 \ -e TTYD_AUTH_HEADER="X-Forwarded-User" \ ghcr.io/oorabona/web-shell:latest
bashdocker run -d -p 7681:7681 -p 2222:2222 \ -e ENABLE_SSH=true \ -e SSH_PUBLIC_KEY="ssh-ed25519 AAAA... user@host" \ ghcr.io/oorabona/web-shell:latest # Connect via SSH ssh -p 2222 debian@localhost
Built-in health check via ttyd token endpoint:
GET http://localhost:7681/token → {"token": "..."}
Web Shell is designed as a building block for web hosting platforms, providing browser-based terminal access to container environments. Combined with other containers from this project:
┌──────────────────────────────────────────────────────────┐ │ Client Browser │ │ ┌───────────┐ ┌────────────┐ ┌──────────────────┐ │ │ │ Web App │ │ phpMyAdmin │ │ Web Terminal │ │ │ │ :80/:443 │ │ :8080 │ │ :7681 (ttyd) │ │ │ └─────┬─────┘ └─────┬──────┘ └──────┬───────────┘ │ └────────┼───────────────┼────────────────┼────────────────┘ │ │ │ ┌────────┼───────────────┼────────────────┼────────────────┐ │ ┌─────▼─────┐ ┌──────▼─────┐ ┌──────▼───────────┐ │ │ │ OpenResty │ │ PHP-FPM │ │ Web Shell │ │ │ │ (proxy) │ │ WordPress │ │ (tools + shell) │ │ │ └───────────┘ └────────────┘ └──────────────────┘ │ │ ┌───────────┐ ┌────────────┐ │ │ │ PostgreSQL│ │ Vector │ │ │ │ (database)│ │ (logs) │ │ │ └───────────┘ └────────────┘ │ │ Docker Host │ └──────────────────────────────────────────────────────────┘
chpasswd and sshd, but ttyd spawns shells as the configured SHELL_USERSHELL_PASSWORD at runtime (account is locked without it)TTYD_CREDENTIAL or place behind an auth reverse proxy--writable flag enables terminal input — remove for read-only sessions| Component | Version | Source | Monitoring |
|---|---|---|---|
| ttyd | 1.7.7 | https://github.com/tsl0922/ttyd | upstream-monitor |
| Debian (base) | trixie | ghcr.io/oorabona/debian | upstream |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务