Xibo 是一个功能强大的开源数字标牌平台,包含 Web 内容管理系统和 Windows 显示播放器软件。我们提供适用于 Android、LG webOS 和 Samsung Tizen 的商业播放器选项,以及 CMS 托管和支持服务。
有关更多信息,请访问 [***]
我们于 2009 年发布了第一个开源版本 1.0.0-rc1,并且致力于将运行数字标牌网络或单个屏幕所需的一切保持开源和免费使用。
版权所有 (C) 2006-2026 Xibo Signage Ltd 及贡献者。
Xibo 是自由软件:您可以根据自由软件基金会发布的 GNU Affero 通用公共许可证(版本 3 或任何更高版本)的条款重新分发和/或修改它。
Xibo 的分发旨在希望它有用,但不提供任何保证;甚至不包含适销性或特定用途适用性的默示保证。有关更多详细信息,请参阅 GNU Affero 通用公共许可证。
您应该已经随 Xibo 收到了 GNU Affero 通用公共许可证的副本。如果没有,请访问 [***]
我们建议通过 Docker 安装官方发布版本。相关说明可在我们的文档中找到。
仅当您打算对 Xibo 进行代码更改时,才安装开发环境。从代码仓库安装不适合生产环境。
Xibo 使用 Docker 确保所有贡献者都拥有可重复的开发环境,且易于启动和运行。我们推荐的最终用户安装中使用了相同的 Docker 容器,以促进从开发到部署的一致性。
为此,本代码仓库包含一个 docker-compose.yml 文件,用于启动模型开发环境。
docker-compose.yml
开发 Docker 容器不会自动构建 PHP 或 JS 的依赖文件,这是开发人员的责任。因此,您需要以下工具:
在您的开发工作区中创建一个文件夹并克隆代码仓库。如果您打算进行更改并提交拉取请求,请先 Fork 我们的仓库并创建一个新分支。
git clone git@github.com: /xibo-cms.git xibo-cms
我们维护以下分支。要为 Xibo 贡献代码,请以 develop 分支为基础。
develop
进入新创建的文件夹
cd xibo-cms
我们建议通过 Docker 安装依赖,以确保不同开发机器上的依赖一致性。
docker run --interactive --tty --volume $PWD:/app --volume ~/.composer:/tmp composer install
此命令还将 Composer 的 /tmp 文件夹挂载到您的主目录,以便您可以利用 Composer 缓存。
/tmp
如果您已在本地安装 node:
npm install webpack -g
npm install
npm run build
或者,您可以使用 Docker 容器:
docker run -it --volume $PWD:/app --volume ~/.npm:/root/.npm -w /app node:22 sh -c "npm install webpack -g; npm install; npm run build;"
[!IMPORTANT] 仅当您打算对Xibo进行代码更改时,才安装开发环境。从代码仓库安装不适合生产环境。
Xibo 使用 Docker 确保所有贡献者拥有可重复的开发环境,且易于启动和运行。我们推荐的最终用户安装中也使用相同的 Docker 容器,以促进从开发到部署的一致性。
为此,本代码仓库包含一个 docker-compose.yml 文件,用于启动模型开发环境。
开发用 Docker 容器不会自动构建 PHP 或 JS 的依赖文件,这是开发人员的责任。因此,您需要以下工具:
在您的开发工作区中创建一个文件夹并克隆代码仓库。如果您打算进行更改并提交拉取请求,请先 Fork 我们的仓库并创建一个新分支。
git clone git@github.com: /xibo-cms.git xibo-cms
我们维护以下分支。要为 Xibo 贡献代码,请以 develop 分支为基础。
进入新文件夹
cd xibo-cms
我们建议通过 Docker 安装依赖,以确保不同开发机器上的依赖一致性。
docker run --interactive --tty --volume $PWD:/app --volume ~/.composer:/tmp composer install
此命令还将 Composer 的 /tmp 文件夹挂载到您的主目录,以便您可以利用 Composer 缓存。
如果您已在本地安装 node:
npm install webpack -g
npm install
npm run build
或者您可以使用 Docker 容器:
docker run -it --volume $PWD:/app --volume ~/.npm:/root/.npm -w /app node:22 sh -c "npm install webpack -g; npm install; npm run build;"
Xibo 的开发版本要求将代码库映射到容器中,以便主机上的更改能反映到容器中。
但是,容器本身会创建一些文件,例如 twig 缓存和库上传文件。需要创建这些位置并授予容器访问权限。
最简单的方法是创建 cache 和 library 文件夹并对其执行 chmod 777。显然这不适用于生产环境,但您不应将这些文件用于生产(我们有专门的生产容器)。
API 需要提供公钥/私钥 RSA 密钥对和加密密钥。Docker 入口点将在 /library/certs 中创建这些文件。
您可以通过在 settings-custom.php 中提供替代配置来覆盖生成的密钥路径和加密密钥。例如:
$apiKeyPaths = [
'publicKeyPath' => '/var/www/cms/custom/public.key',
'privateKeyPath' => '/var/www/cms/custom/private.key',
'encryptionKey' => ''
];
Xibo 可以在显示编辑表单中展示 OpenOOH 场地分类。要使此功能在开发环境中工作,需要https://raw.githubusercontent.com/openooh/venue-taxonomy/main/specification.json%E5%B9%B6%E5%B0%86%E5%85%B6%E6%94%BE%E7%BD%AE%E5%9C%A8%EF%BC%9A%60openooh/specification.json%60
生产/CI 容器在构建过程中添加此文件,因此它已在 Docker 镜像中可用。
使用 Docker Compose 启动容器。
docker-compose up --build -d
容器启动后,您可以使用以下详细信息登录:
U:xibo_admin
P:password
要解析翻译:
docker-compose exec web sh -c "cd /var/www/cms; rm -R ./cache"
docker-compose exec web sh -c "cd /var/www/cms; php bin/locale.php"
find ./locale ./cache ./lib ./web -iname "*.php" -print0 | xargs -0 xgettext --from-code=UTF-8 -k_e -k_x -k__ -o locale/default.pot
要导入翻译:
bzr pull lp:~dangarner/xibo/holmes-translations
转换为 mo 格式:
for i in *.po; do msgfmt "$i" -o $(echo $i | sed s/po/mo/); done
将生成的 mo 文件移动到您的 locale 文件夹中。
要生成 swagger.json 文件,请在开发容器运行时执行:
docker-compose exec web sh -c "cd /var/www/cms; vendor/bin/swagger lib -o web/swagger.json"
要了解有关应用代码以及各部分如何组合的更多信息,请参阅开发文档。
支持请求可提交至 Xibo Community Forum。与本仓库相关的已验证且可复现的 bug 可提交至 https://github.com/xibosignage/xibo/issues%E3%80%82
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务