オンラインストレージを作ろうと思ったので、NextCloudを使って独自オンラインストレージの構築を目指します。専用のサーバーを購入して構築すると、失敗したときに無駄な出費になってしまうので、まずは手元にあるWindows11のWSL2上でNextCloudを構築します。この記事では、まず最も基本的なイメージ(HTTP通信+外部ストレージなし)を作っていきます。公式リポジトリにサンプルがあるので、それをそのまま利用します。nextcloud:appで参照しているdb.envファイルを作成します。password>POSTGRES_DB=nextcloudPOSTGRES_USER=nextcloud用意するファイルは以上です。下記コマンドで、Dockerコンテナをバックグラウンドで実行します。-d起動したら、ブラウザでhttp://localhost:8080/にアクセスします。下記の画面が表示されるので、管理者ユーザー名とパスワードを設定します。その後、推奨アプリをインストールするか聞かれますが、必要ならばインストールしてください。スキップしても後から入れることは可能です。ログイン後に設定のシステムに移動すると、利用されているDBやPHPのバージョンを確認できます。docker-compose.yamlに記述した通り、PostgreSQLが利用されていることが確認できますね。起動したDockerコンテナは、下記コマンドで止めることが可能です。down一度設定した管理者ユーザーは、名前付きデータボリュームに保存されているので、次に起動してももう一度設定する必要はありません。各種設定の説明dcoker-compose.yamlは公式に用意されていたものをそのまま利用しました。このままだとそれぞれが何をしているかわからないので、個人的に調べたことを書きにまとめておこうかと思います。MariaDB上記のコードではPostgreSQLを利用していますが、公式に推奨されているのはMariaDBです。公式に推奨されているDBを使いたい場合は、MariaDBを利用しているコードを利用してください。Postgresql)。個人的にはPostgreSQLへの信頼度のほうが高いのでPostgreSQLを利用していきたいと思いますし、フォーラムで下記のように言及されている通り、個人利用レベルでは差はないと思っています。instances.Redisの使い道Redisは有名なインメモリDBですが、何に使われているのでしょうか。キャッシュの用途として下記二つが挙げられています。OPacache:PHPのコードを「バイトコード」としてキャッシュしておく。アクセレレーターのこと。memcache:データキャッシュのことで、読み込んだデータなどを一時的にメモリ上に保存すること基本的なキャッシュ機能ですが、NextCloudではこれらを実現するためにRedisを利用しているみたいですね。設定方法について追々確認していこうと思います。DockerのデータボリュームについてこれはNextCloudと全く関係ないのですが、Dockerの機能としてデータボリュームというものがあります。(コンテナでデータを管理)特に、docker-compose.yamlでの下記の部分で定義されるデータボリュームは、名前付きデータボリュームとも呼ばれ、下記の例ではnextcloudと呼ばれるデータボリュームが作成され、コンテナ内の/var/www/htmlにマウントされることになります。nextcloud:/var/www/html:z公式ドキュメントに記載がありますがデータボリュームは、コンテナ間で共有・再利用が可能でDockerイメージを変更しても変わらないデータディレクトリのことです。ようするに、コンテナを落としても保持されるデータの保存場所ということですね。まとめこの記事では、ベースとなるNextCloudのDockerファイルを紹介しました。公式ドキュメント通りなので、とても簡単ですね。今後、SSL化やRAIDとの接続などを実施していきたいと思います。TwitterSharePocketHatenaLINEURLコピーこの記事を書いた人たかさん犬と暮らすクラウドエンジニア。GCPが好きだけど良く触るのはAWSとAzureです。nextcloudauthor関連記事NextCloudNextCloud導入後に設定すべきことNextCloudを導入後に実施した設定についてまとめます。我が家ではNextCloudはDockerで動かしているので、Dockerコンテナでの設定を前提としています。...NextCloudNextCloudでのフォルダとファイルの所有権とアクセス権設定NextCloudでは、/var/www/html以下のフォルダはwww-dataユーザーが所有権を持つことが推奨されています。composeを利用して導入しているときのアップデート方法です。NextCloudのDockerイメージのバージョンを更新し、下記コマンドを実行するだけです。Dockerで外付けSSD/HDDをマウントするこれまでの記事では、NextCloudの公式サンプルを利用してHTTPS通信が可能なDockerイメージの作成を行ってきました。...NextCloudWSL上でNextCloudをDockerで実行する-HTTPS通信-以前の記事では、HTTP通信でNextCloudへアクセスを行いました。