このページは、NextCloud で NFS を使う際の注意点と Docker Compose のサンプルについて書かれています。
NextCloud コンテナー #
NextCloud の Docker コンテナーは Docker Hub で公式に公開されております。 また、Docker Compose を使った基本的な設定もそこに説明されております。
NFS を使うときの注意点 #
NextCloud で使用する NFS の設定をする際に “no_root_squash” オプションを付ける必要があります。 これがないと NextCloud コンテナーを起動する際に Permission denied のエラーが出て、立ち上がりません。 この原因は、NextCloud コンテナー内で root ユーザーがディレクトリーの権限を変更しようとすることに起因しているのではないかと思われます。 NextCloud の設定やデータ用のディレクトリーの所有者は www-data ユーザーに変更されます。
OpenMediaVault での NFS の設定例 #
メニューから「Services ⇒ NFS」を開き、「Shares」タブを表示します。
「Add」もしくは「Edit」ボタンから編集画面を開き、次のように設定すればよいです。
Docker Compose のサンプル #
このサンプルでは NextCloud 用のデータベースとして、PostgreSQL を使用しています。 PostgreSQL 用のデータも NFS を利用しており、NextCloud 用の NFS と同様に “no_root_squash” オプションを利用しています。
version: '3.2'
services:
db:
image: postgres
restart: always
volumes:
- db:/var/lib/postgresql
environment:
- POSTGRES_DB=nextcloud
- POSTGRES_USER=nextcloud
- POSTGRES_PASSWORD=nextcloud
app:
image: nextcloud
restart: always
ports:
- 8080:80
volumes:
- nextcloud:/var/www/html
- nextcloud-config:/var/www/html/config
- nextcloud-apps:/var/www/html/custom_apps
- nextcloud-themes:/var/www/html/themes
- nextcloud-data:/var/www/html/data
environment:
- POSTGRES_DB=nextcloud
- POSTGRES_USER=nextcloud
- POSTGRES_PASSWORD=nextcloud
- POSTGRES_HOST=db
- REDIS_HOST=redis
redis:
image: redis
restart: always
volumes:
db:
driver_opts:
type: nfs
o: "addr=<NFS server addr>,hard,nfsvers=4"
device: ":/<NFS path>"
nextcloud:
driver_opts:
type: nfs
o: "addr=<NFS server addr>,hard,nfsvers=4"
device: ":/<NFS path>"
nextcloud_config:
driver_opts:
type: nfs
o: "addr=<NFS server addr>,hard,nfsvers=4"
device: ":/<NFS path>"
nextcloud_apps:
driver_opts:
type: nfs
o: "addr=<NFS server addr>,hard,nfsvers=4"
device: ":/<NFS path>"
nextcloud_themes:
driver_opts:
type: nfs
o: "addr=<NFS server addr>,hard,nfsvers=4"
device: ":/<NFS path>"
nextcloud_data:
driver_opts:
type: nfs
o: "addr=<NFS server addr>,hard,nfsvers=4"
device: ":/<NFS path>"