
本镜像为VirtualTabletop.io的官方Docker镜像,用于快速部署虚拟桌面服务器。源代码托管于https://github.com/ArnoldSmith86/virtualtabletop%EF%BC%8C%E4%B8%8E%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E4%B8%80%E8%87%B4%EF%BC%8C%60main%60%E5%88%86%E6%94%AF%E7%9A%84%E6%AF%8F%E6%AC%A1%E6%8F%90%E4%BA%A4%E9%83%BD%E4%BC%9A%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%96%B0%E9%95%9C%E5%83%8F%E3%80%82
main分支提交自动更新本地仅访问服务器
在http://localhost:8272运行默认配置的本地服务器:
bashdocker run -p 8272:8272 arnoldsmith86/virtualtabletop
自定义端口和数据持久化
在服务器80端口运行,将房间数据保存到/srv/vtt目录:
bashdocker run -e EXTERNALURL=http://mydomain.com -v /srv/vtt:/app/save -p 80:8272 arnoldsmith86/virtualtabletop
反向代理配置
通过Nginx反向代理时,设置外部URL和路径前缀:
bashdocker run -e EXTERNALURL=https://mydomain.com/vtt -e URLPREFIX=/vtt -p 8272:8272 arnoldsmith86/virtualtabletop
以下配置实现SSL termination并反向代理到Docker容器,确保WebSocket连接正常工作(假设已通过Certbot获取证书):
nginxuser www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections 768; } http { server_tokens off; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; server { listen 80 default_server; listen [::]:80 default_server; server_name virtualtabletop.io; return 301 https://virtualtabletop.io$request_uri; } server { server_name virtualtabletop.io; listen 127.0.0.1:443 ssl; ssl_certificate /etc/letsencrypt/live/virtualtabletop.io/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/virtualtabletop.io/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; client_max_body_size 200M; add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload"; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8272; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_connect_timeout 1d; proxy_send_timeout 1d; proxy_read_timeout 1d; } } }
使用自定义游戏库(需使用without-public-library标签):
bashdocker run -e ALLOWPUBLICLIBRARYEDITS=1 -v /srv/vtt-games:/app/library/games -p 8272:8272 arnoldsmith86/virtualtabletop:without-public-library
注意:
ALLOWPUBLICLIBRARYEDITS=1允许通过应用编辑游戏库,建议配置完成后移除该参数以禁用公共编辑权限。
| 变量名 | 说明 | 默认值 |
|---|---|---|
| EXTERNALURL | 服务器外部访问URL(重要) | http://localhost:8272 |
| URLPREFIX | URL路径前缀(当EXTERNALURL包含路径时需设置) | 空字符串 |
| SERVERNAME | 服务器显示名称(用于标签栏) | VirtualTabletop.io |
| ADMINURL | 管理页面URL(显示活跃房间和玩家) | null |
| ALLOWPUBLICLIBRARYEDITS | 是否允许公共库编辑 | false |
| MINIFYJAVASCRIPT | 是否压缩JavaScript | false |
| 变量名 | 说明 | 默认值 |
|---|---|---|
| PORT | 服务器端口(Docker映射时通常无需修改) | 8272 |
| FORCETRACING | 是否强制所有房间启用追踪 | false |
| SIMULATESERVERLAG | 模拟服务器延迟(毫秒) | 0 |
| CUSTOMTAB | 标签栏显示名称(默认使用SERVERNAME) | SERVERNAME的值 |
EXTERNALURL配置不一致EXTERNALURL设置完全匹配您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务