如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
这是一个轻量且加固的Nextcloud镜像栈,包含两个镜像:
这种拆分符合Docker单进程理念和NGINX将PHP处理分离的设计,遵循微服务架构。两者结合是最轻量化且安全的Nextcloud镜像:
卷/持久化
所有可变Nextcloud数据存储在三个目录:
| 容器内挂载路径 | Docker卷名 | 内容 |
|---|---|---|
/app/data | nc-data | 用户文件和上传 |
/app/config | nc-config | config.php和配置片段 |
/app/custom_apps | nc-apps | 用户安装的应用 |
Secrets
密码通过Docker secrets传递,挂载为只读tmpfs文件,不暴露在环境变量中。需要两个secrets:
| Secret名称 | 使用服务 | 用途 |
|---|---|---|
nextcloud_db_password | nextcloud-php-fpm, nextcloud-db | MariaDB密码 |
nextcloud_admin_password | nextcloud-php-fpm | 初始Nextcloud管理员密码 |
Docker Compose部署示例
生成密码并启动:
shprintf "NEXTCLOUD_DB_PASSWORD=%s\nNEXTCLOUD_ADMIN_PASSWORD=%s\n" \ "$(pwgen -sy 40 1)" "$(pwgen -sy 40 1)" > .env docker compose up
完整docker-compose.yml配置:
yamlservices: nextcloud-nginx: image: docker.xuanyuan.run/mwaeckerlin/nextcloud:nginx environment: WEBROOT: ports: - "8824:8080" volumes: - nc-apps:/app/custom_apps:ro networks: - php-network - collabora-network nextcloud-php-fpm: image: docker.xuanyuan.run/mwaeckerlin/nextcloud:php-fpm environment: HOST: localhost:8824 PROTOCOL: http WEBROOT: ADMIN_USER: admin MYSQL_HOST: nextcloud-db MYSQL_USER: nextcloud MYSQL_DATABASE: nextcloud secrets: - nextcloud_db_password - nextcloud_admin_password volumes: - nc-data:/app/data - nc-config:/app/config - nc-apps:/app/custom_apps - ./php-fpm/custom.config.php:/app/config/custom.config.php:ro networks: - php-network - db-network - smtp-network - collabora-network smtp-relay: image: docker.xuanyuan.run/mwaeckerlin/smtp-relay networks: - smtp-network collabora: image: docker.xuanyuan.run/collabora/code environment: server_name: localhost:8824 domain: nextcloud-nginx|localhost aliasgroup1: http://nextcloud-nginx:8080,http://localhost:8824 extra_params: --o:ssl.enable=false --o:ssl.termination=false cap_add: - MKNOD networks: - collabora-network nextcloud-db: image: docker.xuanyuan.run/mariadb:11.8 environment: MYSQL_DATABASE: nextcloud MYSQL_USER: nextcloud MYSQL_PASSWORD_FILE: /run/secrets/nextcloud_db_password MYSQL_RANDOM_ROOT_PASSWORD: "yes" secrets: - nextcloud_db_password volumes: - nc-dbdata:/var/lib/mysql networks: - db-network access-fix: image: docker.xuanyuan.run/mwaeckerlin/allow-write-access volumes: - nc-data:/app/data - nc-config:/app/config - nc-apps:/app/custom_apps secrets: nextcloud_db_password: environment: NEXTCLOUD_DB_PASSWORD nextcloud_admin_password: environment: NEXTCLOUD_ADMIN_PASSWORD volumes: nc-data: nc-config: nc-apps: nc-dbdata: networks: php-network: driver_opts: encrypted: "1" db-network: driver_opts: encrypted: "1" smtp-network: driver_opts: encrypted: "1" collabora-network: driver_opts: encrypted: "1"
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 mwaeckerlin/nextcloud 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: