如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Nextcloud AIO 正在积极寻找贡献者。请参见论坛帖子。
Nextcloud 官方安装方法。Nextcloud AIO 提供轻松的部署和维护,单个 Nextcloud 实例中包含了大多数功能。
包含以下内容:
ffmpeg
smbclient
nodejs
以下步骤适用于 Linux。有关特定平台的指南,请参见:
[!IMPORTANT] 这些说明假设您没有打算在 AIO 前面放置现有的 Web 服务器或反向代理(例如 Apache、Nginx、Caddy 或 Cloudflare Tunnel)。如果您计划在现有的 Web 服务器或反向代理后面运行 AIO,请遵循 AIO 反向代理文档:反向代理文档
建议您浏览附带的常见问题解答(FAQ)。尽管我们已尽力使操作简单明了,但 Nextcloud 是一个大型且灵活的平台。阅读 FAQ 将节省您的时间,尤其是在出现边缘情况时。
不必担心第一次尝试就做到完美——测试部署成本低且可随时丢弃。
[!WARNING] 不支持基于 Snap 的 Docker 安装。确保您没有使用基于 Snap 的 Docker 安装(通常仅适用于 Ubuntu)。要检查,请运行:
sudo docker info | grep "Docker Root Dir" | grep "/var/snap/docker/"
如果您看到以下输出:
/var/snap/docker/
您应该迁移到标准 Docker 安装并在继续之前删除基于 Snap 的软件包:在 Ubuntu 上安装 Docker。
[!WARNING] 为避免数据丢失或服务中断,仅在确定没有在其中运行任何现有容器后,再删除 Docker snap。
有关迁移现有容器的说明,请查阅官方 Docker 文档或其他指南。确定安全后,使用以下命令删除基于 Snap 的 Docker 安装:
sudo snap remove docker
如果需要 IPv6 支持,请按照以下指南启用:Docker IPv6 support for AIO
如果需要 IPv6 支持,请按照以下指南启用:Docker IPv6 support for AIO
AIO 使用一个特殊的 mastercontainer 来编排 Nextcloud 堆栈的各个部分。要启动 AIO,请使用以下命令启动 mastercontainer:
AIO 使用一个特殊的 mastercontainer 来编排 Nextcloud 堆栈的各个部分。要启动 AIO,请使用以下命令启动 mastercontainer:
# 适用于 Linux 且未预先部署 Web 服务器或反向代理的情况:
sudo docker run \
--init \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
--publish 80:80 \
--publish 8080:8080 \
--publish 8443:8443 \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
ghcr.io/nextcloud-releases/all-in-one:latest
sudo docker run — 启动一个新的 Docker 容器。如果您的用户在 docker 组中,可以省略 sudo。--init — 在容器内运行一个 init 进程以处理僵尸进程。--sig-proxy=false — 防止在附加的终端中按 Ctrl+C 停止容器。--name nextcloud-aio-mastercontainer — 容器名称。不要更改此名称;mastercontainer 更新依赖于此名称。--restart always — 确保容器随 Docker 守护进程自动重启。--publish 80:80 — 将容器的 80 端口映射到主机的 80 端口(用于获取证书时的 ACME http-challenge,以及运行在 mastercontainer 内的 AIO 界面)。如果在反向代理后面运行 AIO,则不需要此端口。--publish 8080:8080 — 将 AIO 界面(自签名证书)发布到主机的 8080 端口。如果 8080 端口已被占用,您可以映射到不同的主机端口(例如 --publish 8081:8080)。--publish 8443:8443 — 将带有有效证书的 AIO 界面发布到主机的 8443 端口(要求 80 和 8443 端口可访问,且有一个域名指向您的服务器)。如果在反向代理后面运行 AIO,则不需要此端口。--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config — 将 mastercontainer 配置存储在命名的 Docker 卷中。不要更改此卷名称;内置备份依赖于此名称。--volume /var/run/docker.sock:/var/run/docker.sock:ro — 挂载 Docker 套接字(只读),以便 mastercontainer 可以管理其他容器。在 Windows/macOS 上或使用 rootless Docker 时,此路径可能需要调整;请参见特定平台的文档。如果更改套接字路径,还需相应设置 WATCHTOWER_DOCKER_SOCKET_PATH。如果您不想暴露套接字,请参见手动安装文档:Manual install without docker socket accessghcr.io/nextcloud-releases/all-in-one:latest — mastercontainer 镜像。可以通过环境变量设置其他选项(例如 --env NEXTCLOUD_DATADIR="/mnt/ncdata" 以在首次启动时更改 Nextcloud 的数据目录)。有关更多选项,请参见自定义部分和示例 compose 文件:compose.yaml
如果您希望 Nextcloud 的数据目录位于默认 Docker 卷以外的位置,请参见本 README 中的“如何更改 Nextcloud 数据目录的默认位置”:How to change the default location of Nextcloud's Datadir
对于生产环境使用(以及便于升级和变更),我们建议使用示例 Compose 文件而非 docker run。
docker run- 初始启动后,通过 IP 地址在该服务器的 8080 端口打开 Nextcloud AIO 界面,例如:
[!IMPORTANT] 通过 8080 端口访问 AIO 界面时,请使用 IP 地址(而非域名)。通过域名访问可能暂时有效,但由于 HSTS 机制,后续很可能会出现问题。
8080 端口使用自签名证书,您必须在浏览器中接受该证书。
如果您的防火墙/路由器转发了 80 和 8443 端口,并且您将域名指向服务器,也可以自动获取有效证书。在这种情况下,使用为此目的专用的端口(8443)访问 AIO 界面,例如:
如果启用 Nextcloud Talk,请在防火墙/路由器中为 Talk(TURN)容器开放 3478/TCP 和 3478/UDP 端口。3478/TCP``3478/UDP## 常见问题(FAQ)
目录 哪里可以找到更多文档?工作原理是什么?如何贡献?支持多少用户?
哪里可以找到更多文档?
工作原理是什么?
如何贡献?
支持多少用户?
网络相关 是否支持反向代理?防火墙/路由器中必须开放哪些端口?使用端口说明 Cloudflare(代理/隧道)注意事项 如何在 Cloudflare Tunnel 后运行 Nextcloud?如何通过 Tailscale 运行 Nextcloud?如何使用 ACME DNS 挑战运行 Nextcloud?如何在本地运行 Nextcloud?不想要域名,或需要在局域网内进行内网访问。可以使用 IP 地址而非域名运行 Nextcloud 吗?可以在离线或空气隔离系统中运行 AIO 吗?Nextcloud 是否支持自签名证书?可以将 AIO 与多个域名一起使用吗?是否支持除默认 443 之外的 Nextcloud 端口?可以在域名的子目录中运行 Nextcloud 吗?如何在本地访问 Nextcloud?如何覆盖某些域名的本地 DNS 解析或向容器添加额外主机?如何跳过域名验证?如何解决 Fedora Linux、RHEL OS、CentOS、SUSE Linux 等系统的防火墙问题?如何修复内部或保留 IP 地址错误?如何调整 Docker 网络的 MTU 大小
是否支持反向代理?
防火墙/路由器中必须开放哪些端口?
使用端口说明
Cloudflare(代理/隧道)注意事项
如何在 Cloudflare Tunnel 后运行 Nextcloud?
如何通过 Tailscale 运行 Nextcloud?
如何使用 ACME DNS 挑战运行 Nextcloud?
如何在本地运行 Nextcloud?不想要域名,或需要在局域网内进行内网访问。
可以使用 IP 地址而非域名运行 Nextcloud 吗?
可以在离线或空气隔离系统中运行 AIO 吗?
Nextcloud 是否支持自签名证书?
可以将 AIO 与多个域名一起使用吗?
是否支持除默认 443 之外的 Nextcloud 端口?
可以在域名的子目录中运行 Nextcloud 吗?
如何在本地访问 Nextcloud?
如何覆盖某些域名的本地 DNS 解析或向容器添加额外主机?
如何跳过域名验证?
如何解决 Fedora Linux、RHEL OS、CentOS、SUSE Linux 等系统的防火墙问题?
如何修复内部或保留 IP 地址错误?
如何调整 Docker 网络的 MTU 大小
基础设施相关 支持哪些 CPU 架构?不推荐的 VPS 提供商 推荐的 VPS 存储选项说明 SELinux 启用时是否有已知问题?
支持哪些 CPU 架构?
不推荐的 VPS 提供商
推荐的 VPS
存储选项说明
SELinux 启用时是否有已知问题?
自定义相关 如何调整内部使用的 Docker API 版本?如何调整 AIO 组件的日志级别?如何更改 Nextcloud 数据目录(Datadir)的默认位置?如何配置自定义 UID/GID?如何将 appdata 文件夹从数据目录移至 SSD 以提高性能?如何将文件/安装存储在单独的驱动器上?如何限制 AIO 的资源使用?如何允许 Nextcloud 容器访问主机上的目录?如何调整 Talk 端口?如何调整 Nextcloud 的上传限制?如何调整 Nextcloud 的最大执行时间?如何调整 Nextcloud 的 PHP 内存限制?如何更改首次启动时安装的 Nextcloud 应用?如何向 Nextcloud 容器永久添加 OS 软件包?如何向 Nextcloud 容器永久添加 PHP 扩展?人脸识别应用的 pdlib PHP 扩展如何处理?如何为 Nextcloud 启用硬件加速?使用适用于 AMD、Intel 的开源驱动 MESA 和适用于 Nvidia 的新驱动 Nouveau 使用适用于 Nvidia 的专有驱动 ⚠️ 测试版 如何保留已禁用的应用?如何信任用户定义的证书颁发机构(CA)?如何禁用 Collabora 的 Secc...
如何调整内部使用的 Docker API 版本?
如何调整 AIO 组件的日志级别?
如何更改 Nextcloud 数据目录(Datadir)的默认位置?
如何配置自定义 UID/GID?
如何将 appdata 文件夹从数据目录移至 SSD 以提高性能?
如何将文件/安装存储在单独的驱动器上?
如何限制 AIO 的资源使用?
如何允许 Nextcloud 容器访问主机上的目录?
如何调整 Talk 端口?
如何调整 Nextcloud 的上传限制?
如何调整 Nextcloud 的最大执行时间?
如何调整 Nextcloud 的 PHP 内存限制?
如何更改首次启动时安装的 Nextcloud 应用?
如何向 Nextcloud 容器永久添加 OS 软件包?
如何向 Nextcloud 容器永久添加 PHP 扩展?
来自真实用户的反馈,见证轩辕镜像的优质服务