Nextcloudサーバーを実行しています。 Linux上で実行されているDockerコンテナの束です。
期待どおりに動作し、クライアントコンピュータ全体でファイルを同期します。しかし、サーバーが特定のアカウントに簡単にアクセスできることを願っています。
たとえば、組み込みの同期機能を持たないプログラム用の分散データストアを実装する簡単な方法としてNextcloudフォルダを使用します。データがローカルファイルにあるかのようにプログラムを実行しましたが、ファイルはNextcloudフォルダにあり、私のすべてのコンピュータで同期されました。非常に便利でサーバー自体でプログラムを実行するのが難しい点を除いて、何年も何の問題もなく使用してきました。
NextcloudデータストアはDockerボリュームであり、そのURLを見つけてそこからファイルにアクセスできることを知っています。これは、次の理由で理想的ではありません。
道路はあまりきれいではありません。
パスが安定しているかどうかはわかりません。
このようにファイルを変更すると、変更がデータベース内で追跡されないため、Nextcloudが混乱することになると思います。
アカウントのサーバー側暗号化を有効にすると、問題が発生する可能性があります。
また、サーバーにNextcloudクライアントをインストールすることも検討しました。これはうまくいくかもしれませんが、使用されているハードドライブの容量が2倍になるので、私のアカウントはかなり大きいので(〜50 GB)これを避けたいと思います。
答え1
NextcloudデータストアはDockerボリュームであり、そのURLを見つけてそこからファイルにアクセスできることを知っています。これは、次の理由で理想的ではありません。
Dockerを実行してボリュームを使用している場合は、より良いマウントポイントを提供するのはどうですか?これはdocker-compose、docker Desktop、またはdocker runですか?
個人的に私はComposeを使用しているので、私の例の1つは次のとおりです。
---
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のドキュメントを参照し、手動バックアップとリカバリに関するドキュメントを読んでいれば問題ありません。新しいドッカースタックを新しいインスタンスとデータベースと組み合わせてから、別のインスタンスからデータをインポートするだけです。同じ資格情報を使用して新しいデータベースを作成する限り、問題はありません。