我运营一台 Nextcloud 服务器。它是一堆运行在 Linux 上的 docker 容器。
它按预期工作,可以跨客户端计算机同步文件。但是,我希望服务器能够轻松访问某些帐户。
例如,我使用 Nextcloud 文件夹作为为没有内置同步功能的程序实现分布式数据存储的简单方法。我只是让程序像数据在本地文件中一样运行,但该文件恰好位于 Nextcloud 文件夹中,并且在我的所有计算机上同步。它非常方便,我使用它多年没有出现任何问题,只是很难在服务器本身上运行该程序。
Nextcloud 数据存储是一个 Docker 卷,我知道我可以找到它的 URL 并访问那里的文件。这并不理想,因为:
道路不是很整洁
不确定路径是否稳定
我认为以这种方式更改文件会弄乱 Nextcloud,因为更改不会在其数据库中跟踪
如果我最终为帐户启用服务器端加密,可能会导致问题
我也考虑过在服务器上安装 Nextcloud 客户端。这可能会起作用,但它会使使用的硬盘空间增加一倍,我想避免这种情况,因为我的帐户相当大(~50 GB)。
答案1
Nextcloud 数据存储是一个 Docker 卷,我知道我可以找到它的 URL 并访问那里的文件。这并不理想,因为:
如果您正在运行 Docker 并使用卷,为什么不给它们一个更好的挂载点呢?这是 docker-compose、docker 桌面还是 docker run?
我个人使用 compose,所以我的一个例子是:
---
version: '3'
services:
app_name:
image: yourimage:tag
container_name: app_name
restart: unless-stopped
volumes:
- /mnt/docker/data/app_name:/config
- /mnt/docker/database/app_name:/var/lib/mysql
ports:
- 8080:80
我认为以这种方式更改文件会弄乱 Nextcloud,因为更改不会在其数据库中跟踪
只要您参考 Nextclouds 文档了解正确的文件权限,并阅读有关手动备份和恢复的文档,就不会有问题。只需将新的 docker 堆栈与新实例和数据库结合起来,然后从其他实例导入数据即可。只要您使用相同的凭据创建新数据库,就应该没问题。