
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Jabra Xpress是专为IT专业人员设计的软件解决方案,通过一系列智能工具远程管理Jabra产品。更多信息请访问[]
Jabra Xpress可作为云服务使用(访问并注册Jabra托管实例[] 管理员版。
注意:v5.4.24001后的重大变更
必须使用SSL/安全连接,且需要第一方Cookie。此变更为安全增强措施,所有凭据均需通过证书验证的连接与后端容器通信。此后,本地存储不再保存凭据。此变更要求配置受信任的SSL证书。更多配置信息请参见SSL配置部分。
免责声明
Docker可用性和许可声明:
- 企业和客户需自行确认Docker是否适用于其特定系统。
- 有关许可的任何问题,请直接联系Docker支持。
- Jabra支持无法为本地IT系统提供指导,且对非先决条件中指定的解决方案的支持将受限。
Nginx证书支持:
- docker-compose.yml示例仅提及.pem格式,但Nginx支持的所有证书格式均适用。有关证书相关支持,请查阅Nginx官方文档。
完整的Jabra Xpress设置需要SQL数据库来存储Xpress用户账户和配置。以下提供的Docker示例不包含此设置,需单独使用首选方式部署。
先决条件:
完整的Jabra Xpress设置包含以下镜像:
此外,设置还需两个数据库:
使用相同版本的镜像可获得最佳效果。混合使用不同版本的镜像可能导致解决方案无法正常工作。例外情况:fds.api和jabra-xpress-assets有独立的版本控制。
部分功能需要额外部署以下镜像。不部署此镜像将导致对应功能禁用:
| Docker镜像 | 标签 |
|---|---|
| https://hub.docker.com/r/gnaudio/fds.api | latest https://hub.docker.com/u/gnaudio ** |
| https://hub.docker.com/r/gnaudio/jabra-xpress-assets | latest https://hub.docker.com/u/gnaudio** |
(**) 请始终在镜像页面查看最新可用标签。此处提及的版本已确认可用于本设置,但如需特定资源,可使用更新版本。
(***) 使用latest标签时,需确认部署中镜像已正确更新。在某些环境中,latest标签可能无法正常工作,导致Docker容器无法自动更新。
2025年2月11日
性能和稳定性改进
更多发布说明,请参见[***]
服务运行所需的设置如下:
| 设置名称 | 值描述 | 说明 |
|---|---|---|
| ENDPOINT | jabra-xpress-api实例的URL 示例: http://localhost:85 | 即使前端与后端部署在同一机器,也需使用外部URL。因为当前端用户从其他机器访问时,前端将在用户上下文中通过外部方式调用后端。 |
若Jabra Xpress已通过docker-compose部署,可将以下服务添加到docker-compose文件中,并替换相关值:
yamlfrontend: image: docker.xuanyuan.run/gnaudio/jabra-xpress-frontend:v5.7.02901 environment: - "ENDPOINT=http://localhost:85" ports: - "80:80"
若使用docker run部署,命令如下:
bashdocker run -p 80:80 -d --env ENDPOINT="http://localhost:85" docker.xuanyuan.run/gnaudio/jabra-xpress-frontend:v5.7.02901
除以下步骤外,可访问https://hub.docker.com/r/gnaudio/jabra-xpress-databaseconsoletool%E8%8E%B7%E5%8F%96%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%E3%80%82
在部署Docker镜像的机器上,为用户添加SQL连接字符串:
示例: "Server=tcp:sqlserver,1433;Initial Catalog=xpress;User ID=USERID;Password=USER-PASSWROD;Connection Timeout=30;"
访问https://hub.docker.com/r/gnaudio/jabra-xpress-databaseconsoletool%E5%B9%B6%E8%BF%90%E8%A1%8C%E8%AF%A5%E9%95%9C%E5%83%8F%E3%80%82%E8%BF%90%E8%A1%8C%E6%97%B6%E4%BD%BF%E7%94%A8%E7%A9%BASQL%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E8%BF%9E%E6%8E%A5%E5%AD%97%E7%AC%A6%E4%B8%B2%E3%80%82
按照迁移步骤操作。若操作完成且无错误输出,可继续下一步。
单台机器部署Jabra Xpress可通过以下docker-compose配置实现。此配置包含完整的服务设置,所有所需服务均以Docker容器形式提供。
免责声明: 以下配置仅为指导。具体设置高度依赖基础设施。若无本地配置专业知识,建议使用云版Xpress。
自v5.4.24001起,SSL为必填项。docker-compose需更新以包含Nginx(或其他网关服务器)作为API网关。
Nginx网关配置文件:
confevents { worker_connections 4096; ## 默认:1024 } http { server { listen 443 ssl; listen [::]:443 ssl; server_name localhost; ssl_certificate /etc/nginx/server.pem; ssl_certificate_key /etc/nginx/server.key; location / { proxy_pass "http://¤HOST-NAME¤:80/"; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; } location /api/ { proxy_pass "http://¤HOST-NAME¤:85/"; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; } location /fds/ { proxy_pass "http://¤HOST-NAME¤:82/"; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; } location /analytics/ { proxy_pass "http://¤HOST-NAME¤:88/"; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; } error_page 500 502 503 504 /50x.html; } }
SSL配置的docker-compose.yml
yamlservices: nginx: image: docker.xuanyuan.run/nginx:latest volumes: - ¤FILE-PATH¤/nginx.conf:/etc/nginx/nginx.conf - ¤CERTIFICATE-PATH¤/¤CERTIFICATE-FILE¤.pem:/etc/nginx/server.pem - ¤CERTIFICATE-PATH¤/¤CERTIFICATE-FILE¤.key:/etc/nginx/server.key command: [nginx-debug, "-g", "daemon off;"] ports: - "443:443" mongodb: image: docker.xuanyuan.run/mongo:latest assets: image: docker.xuanyuan.run/gnaudio/jabra-xpress-assets:v¤CONTAINER-VERSION¤ frontend: image: docker.xuanyuan.run/gnaudio/jabra-xpress-frontend:v¤CONTAINER-VERSION¤ environment: - "ENDPOINT=https://¤HOST-NAME¤/api" ports: - "80:80" backend: image: docker.xuanyuan.run/gnaudio/jabra-xpress-api:v¤CONTAINER-VERSION¤ environment: - "ConnectionStrings:XpressDatabaseSqlServer=¤CONNECTION-STRING¤" - "ConnectionStrings:MongoDb=mongodb://mongodb/raw" - "DefaultAnalyticsEndpoint=https://¤HOST-NAME¤/analytics/api/v1/Analytics" - "JDODownload=http://assets/" - "NetworkEndpoint=https://¤HOST-NAME¤/api" - "SDK:fwURL_base=http://¤HOST-NAME¤:82" - "SDK:fsURL_base=http://¤HOST-NAME¤:82" - "Security:PackageTokens:IssuerKey=¤SET_CUSTOM_VALUE¤" - "Security:ClientTokens:IssuerKey=¤SET_CUSTOM_VALUE¤" - "Security:TokenProtection:Key=¤SET_CUSTOM_VALUE¤" - "ASPNETCORE_URLS=http://+:8080" ports: - "85:8080" depends_on: - mongodb - assets - sdkbackend restart: on-failure sdkbackend: image: docker.xuanyuan.run/gnaudio/fds.api:¤CONTAINER-VERSION¤ environment: - "Storage:SDKCopyUrl=https://¤HOST-NAME¤/fds" ports: - "82:80" analytics: image: docker.xuanyuan.run/gnaudio/jabra-xpress-analytics:v¤CONTAINER-VERSION¤ environment: - "ConnectionStrings:MongodbServer=mongodb://mongodb/raw" - "Security:PackageTokens:IssuerKey=¤SET_CUSTOM_VALUE¤" - "Security:ClientTokens:IssuerKey=¤SET_CUSTOM_VALUE¤" - "Security:TokenProtection:Key=¤SET_CUSTOM_VALUE¤" ports: - "88:8080" depends_on: - mongodb analytics-cron: image: docker.xuanyuan.run/gnaudio/jabra-xpress-analytics-cron:v¤CONTAINER-VERSION¤ environment: - "MONGODBCONNECTIONSTRING=mongodb://mongodb/raw" depends_on: - mongodb
v5.4.24001之前的无SSL配置docker-compose.yml
yamlversion: '3.8' services: mongodb: image: docker.xuanyuan.run/mongo:latest assets: image: docker.xuanyuan.run/gnaudio/jabra-xpress-assets:v¤CONTAINER-VERSION¤ frontend: image: docker.xuanyuan.run/gnaudio/jabra-xpress-frontend:v¤CONTAINER-VERSION¤ environment: - "ENDPOINT=http://¤HOST-NAME¤:85" ports: - "80:80" backend: image: docker.xuanyuan.run/gnaudio/jabra-xpress-api:v¤CONTAINER-VERSION¤ environment: - "ConnectionStrings:XpressDatabaseSqlServer=¤CONNECTION-STRING¤" - "ConnectionStrings:MongoDb=mongodb://mongodb/raw" - "DefaultAnalyticsEndpoint=http://¤HOST-NAME¤:88/api/v1/Analytics" - "JDODownload=http://assets/" - "NetworkEndpoint=http://¤HOST-NAME¤:85" - "SDK:fwURL_base=http://¤HOST-NAME¤:82" - "SDK:fsURL_base=http://¤HOST-NAME¤:82" - "Security:PackageTokens:IssuerKey=¤SET_CUSTOM_VALUE¤" - "Security:ClientTokens:IssuerKey=¤SET_CUSTOM_VALUE¤" - "Security:TokenProtection:Key=¤SET_CUSTOM_VALUE¤" ports: - "85:8080" depends_on: - mongodb - assets - sdkbackend restart: on-failure sdkbackend: image: docker.xuanyuan.run/gnaudio/fds.api:¤CONTAINER-VERSION¤ environment: - "Storage:SDKCopyUrl=http://¤HOST-NAME¤:82" ports: - "82:80" analytics: image: docker.xuanyuan.run/gnaudio/jabra-xpress-analytics:v¤CONTAINER-VERSION¤ environment: - "ConnectionStrings:MongodbServer=mongodb://mongodb/raw" - "Security:PackageTokens:IssuerKey=¤SET_CUSTOM_VALUE¤" - "Security:ClientTokens:IssuerKey=¤SET_CUSTOM_VALUE¤" - "Security:TokenProtection:Key=¤SET_CUSTOM_VALUE¤" ports: - "88:8080" depends_on: - mongodb analytics-cron: image: docker.xuanyuan.run/gnaudio/jabra-xpress-analytics-cron:v¤CONTAINER-VERSION¤ environment: - "MONGODBCONNECTIONSTRING=mongodb://mongodb/raw" depends_on: - mongodb
启动Xpress设置的命令
$ docker-compose up
现在可通过http://¤HOST-NAME¤/访问Jabra Xpress。
| Docker镜像 | 推荐标签 |
|---|---|
| https://hub.docker.com/r/gnaudio/fds.api | 5.1.964 |
| https://hub.docker.com/r/gnaudio/jabra-xpress-assets | v5.3.09401 |
| Docker镜像 | 推荐标签 |
|---|---|
| https://hub.docker.com/r/gnaudio/fds.api | 5.1.964 |
| https://hub.docker.com/r/gnaudio/jabra-xpress-assets | v5.3.09401 |
| Docker镜像 | 推荐标签 |
|---|---|
| https://hub.docker.com/r/gnaudio/fds.api | 5.1.964 |
| https://hub.docker.com/r/gnaudio/jabra-xpress-assets | v5.3.09401 |
| Docker镜像 | 推荐标签 |
|---|---|
| https://hub.docker.com/r/gnaudio/fds.api | 5.1.964 |
| https://hub.docker.com/r/gnaudio/jabra-xpress-assets | v5.1.*** |
完整Xpress设置所需的其他镜像
| Docker镜像 | 推荐标签 |
|---|---|
| https://hub.docker.com/r/gnaudio/fds.api | 5.1.880 |
| https://hub.docker.com/r/gnaudio/jabra-xpress-assets | v5.12.06601 |
完整Xpress设置所需的其他镜像
| Docker镜像 | 推荐标签 |
|---|---|
| https://hub.docker.com/r/gnaudio/fds.api | 5.1.639 |
| https:// |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务