【Nextcloud(Docker)】初心者が自宅ファイルサーバを建てるためにやったこと
はじめに
ファイルサーバを建てるにあたって、割と簡単に実現できそうで、かなり便利そうなNextcloudを採用することにしました。
ただし、手動インストール作業で手間取ったり、次回建てるときに手順書通りに進まなかったりするのが嫌なので、Docker環境にこだわりました。
ネット上に確認できる情報では不満・不十分な部分があったので、自分なりに改良しています。
なお、試しに使ってみたかっただけなので、最低限の設定にしてあります。
手順
- Docker環境でNextcloudを建てる
- GUIで各種設定をする
- ポート開放をする
- クライアントソフトを導入する。
1. Docker環境でNextcloudを建てる
以下の2ファイルを同一ディレクトリに用意します。
version: "3"
services:
db:
image: mariadb:10.5
restart: unless-stopped
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volumes:
- type: volume
source: db
target: /var/lib/mysql
env_file:
- ./db.env
app:
image: nextcloud:22.2.0-apache
restart: unless-stopped
ports:
- 8080:80
volumes:
- type: volume
source: app
target: /var/www/html
environment:
- MYSQL_HOST=db
env_file:
- ./db.env
depends_on:
- db
volumes:
db:
name: nextcloud_db
app:
name: nextcloud_app
ボリューム名指定が重要です。
未指定だと、親ディレクトリ名が含まれたボリュームが作成されます。
そのため、親ディレクトリ名を変えるだけで過去のデータが引き継げなくなってしまうため、指定しておくとよいでしょう。
また、個人的にはバインドマウントを利用したかったのですが、少なくともWindows環境においてレスポンスが著しく悪化したためボリュームマウントとしました。
MYSQL_ROOT_PASSWORD=password
MYSQL_USER=nextcloud
MYSQL_PASSWORD=password
MYSQL_DATABASE=nextcloud
PHP_UPLOAD_LIMIT=2048M
NEXTCLOUD_TRUSTED_DOMAINS=「ポート開放する場合はサーバアドレスを入力」
デフォルトでは、1ファイルあたりの最大アップロードサイズが512MBです。
PHP_UPLOAD_LIMIT
を指定することで、これを2048MBまで拡張します。
作成されたコンテナの /usr/local/etc/php/conf.d/nextcloud.ini
を見てみると、 PHP_UPLOAD_LIMIT
という環境変数を参照していたことが確認できたため、このようにしました。
公式ドキュメントや他サイトで確認したわけではないので、他にいい方法があるのかもしれませんが、これで正常に動作はしています。
2. GUIで各種設定をする。
しばらく待つと、 http://localhost:8080
にて次のような画面が表示されます。
適当なユーザ名とパスワードで管理者アカウントを作成します。
あとはユーザアカウントを作成するなど、その他自由に設定していきます。
3. ポート開放をする
最も厄介だった作業です。
我が家は集合住宅向けのプロバイダ契約であって、グローバルなIPv4アドレスが割り当てられていませんでした。
また、我が家の契約ではIPv6 over IPv4でVPNが利用できないようで、VPNも断念しました。
仕方がないので、IPv6のポート開放で妥協しました。
幸いにも、自分の周りのネットワークはすべてIPv6に対応しているので、問題なくファイル共有できそうですが、しかし気軽に他人とリンクによるファイル共有などはしにくい欠点は残ります。
ポート開放手順はおま環なので省略します。
ネットワークの知識が全く無くて困っているのなら、設定するのが難しい上に危ない自体になりかねないので、一旦ローカルで遊ぶに留めるのが吉だろうと思います。
4. クライアントソフトを導入する
NextcloudにはPCやモバイル向けのクライアントソフトウェアがあり、これらを導入することで、OneDriveなどのクラウドストレージなどと変わらない利便性を享受できます。
さいごに
サーバ・ネットワーク周りに関してはズブの素人でしたが、今回の作業を通していろいろと勉強になりました。
直近の目標は、RAIDを組んで冗長化するなど、ファイルサーバとしての信頼性を高めていきたいと思います。
参考文献
「Nextcloud Docker-Compose」などと検索して出てくる記事たくさん
Author And Source
この問題について(【Nextcloud(Docker)】初心者が自宅ファイルサーバを建てるためにやったこと), 我々は、より多くの情報をここで見つけました https://qiita.com/ryoheiszk/items/68159bd4fb349b5958a6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .