LinuxServer.io提供的Nextcloud容器,用于搭建私有云存储、文件同步与共享平台。
收藏数: 848
下载次数: 323296426
类型:
linuxserver/nextcloudNextcloud 是一款开源的私有云存储与协作平台,允许用户在自选服务器(家庭、数据中心或服务提供商)上存储、同步和共享文件,并通过桌面或移动设备访问。本镜像是由 LinuxServer.io 团队构建的容器化版本,提供便捷的部署和管理方式。
通过Docker Manifest实现多平台支持,拉取 lscr.io/linuxserver/nextcloud:latest 即可自动匹配对应架构,也可通过标签指定:
| 架构 | 支持状态 | 标签格式 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
| 标签 | 支持状态 | 描述 |
|---|---|---|
| latest | ✅ | Nextcloud稳定版发布 |
| develop | ✅ | Nextcloud测试版(仅预发布版本) |
| previous | ✅ | 上一个主要版本的稳定发布 |
通过 https://<your-ip>:443 访问Web界面,初始配置参考 Nextcloud官方文档。
容器内运行Nextcloud命令行工具(occ)无需前缀,直接执行:
bashdocker exec -it nextcloud occ maintenance:mode --off
/config和/data卷会保留数据,启动脚本自动检测版本差异并触发升级)需修改 config/www/nextcloud/config/config.php 添加以下配置:
php'enable_previews' => true, 'enabledPreviewProviders' => [ 'OC\Preview\PNG', 'OC\Preview\JPEG', 'OC\Preview\GIF', 'OC\Preview\BMP', 'OC\Preview\XBitmap', 'OC\Preview\MP3', 'OC\Preview\TXT', 'OC\Preview\MarkDown', 'OC\Preview\OpenDocument', 'OC\Preview\Krita', 'OC\Preview\HEIC', ],
修改后需重新登录生效(Nextcloud默认禁用HEIC预览以避免性能或隐私问题,启用需自行评估风险)。
若使用自定义应用目录,需通过卷挂载暴露目录:
yamlvolumes: - /path/to/your_custom_apps_folder:/app/www/public/your_custom_apps_folder
然后在 config.php 中设置:
php"path" => OC::$SERVERROOT . "/your_custom_apps_folder",
镜像默认使用自签名证书(协议为https),若反向代理验证证书,需禁用容器证书检查。
yaml--- services: nextcloud: image: lscr.io/linuxserver/nextcloud:latest container_name: nextcloud environment: - PUID=1000 # 容器内用户ID(需与宿主机目录权限匹配) - PGID=1000 # 容器内组ID - TZ=Etc/UTC # 时区(如Asia/Shanghai) volumes: - /path/to/nextcloud/config:/config # 配置文件存储 - /path/to/data:/data # 用户数据存储 ports: - 443:443 # Web访问端口(宿主机:容器) restart: unless-stopped
bashdocker run -d \ --name=nextcloud \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -p 443:443 \ -v /path/to/nextcloud/config:/config \ -v /path/to/data:/data \ --restart unless-stopped \ lscr.io/linuxserver/nextcloud:latest
| 参数 | 功能描述 |
|---|---|
-p 443:443 | WebUI访问端口映射(宿主机端口:容器端口) |
-e PUID=1000 | 容器内用户ID,用于权限映射(通过id your_user命令获取宿主机用户ID) |
-e PGID=1000 | 容器内组ID,同上 |
-e TZ=Etc/UTC | 容器时区,如Asia/Shanghai(完整列表见时区数据库) |
-v /config | 持久化配置文件存储路径 |
-v /data | 用户数据存储路径 |
通过 FILE__ 前缀可从文件加载环境变量,例如:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
容器会将 /run/secrets/mysecretvariable 文件内容作为 MYVAR 环境变量的值。
通过 -e UMASK=022 可覆盖容器内服务的默认umask值(注意:umask是权限掩码,并非直接设置权限,具体参考umask说明)。
卷挂载时,宿主机目录权限需与容器内用户权限匹配,避免权限问题。通过以下命令获取宿主机用户的PUID/PGID:
bashid your_user
示例输出:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
其中 uid=1000 为PUID,gid=1000 为PGID。
可通过Docker Mods扩展容器功能:
bashdocker exec -it nextcloud /bin/bash
bashdocker logs -f nextcloud
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' nextcloud
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/nextcloud:latest
bash# 更新镜像 docker-compose pull nextcloud # 重启容器 docker-compose up -d nextcloud # 清理旧镜像 docker image prune
bash# 更新镜像 docker pull lscr.io/linuxserver/nextcloud:latest # 停止并删除旧容器 docker stop nextcloud && docker rm nextcloud # 重新创建容器(保留卷数据) docker run -d [原参数...] lscr.io/linuxserver/nextcloud:latest # 清理旧镜像 docker image prune
推荐使用 Diun 接收更新通知,不建议使用自动更新容器的工具。
如需自定义镜像:
bashgit clone [***] cd docker-nextcloud docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/nextcloud:latest .
跨架构构建(如x86_64构建ARM镜像)需先注册qemu-static:
bashdocker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
然后使用对应架构的Dockerfile(如 -f Dockerfile.aarch64)。
previous标签用于上一主版本config.php启用HEIC预览)site-confs/default.conf)site-confs/default.conf)/config/nginx/site-confs/default.conf)noindex, nofollowsite-confs/default.conf),修复LDAP连接php8测试标签site-confs/default.conf)site-confs/default.conf)site-confs/default.conf)site-confs/default.conf)site-confs/default.conf)site-confs/default.conf)以下是 linuxserver/nextcloud 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务