NextCloudを建ててみる

NextCloudとは

無料で使えてデザインもいいクラウドストレージソフトです
ホームページはここ

こんな感じになります

サーバー環境

dockerで建てるのであまり関係ありませんが
os:ubuntu20.04
spec:
今回はGoogleCloudPlatform、略してgcpの無料で使えるvpsを試してみました
f1-micro(共有1core、600mbくらい)
結論からいうとおすすめしません

やってくよ

dockerのインストールの仕方は別の記事にかいてます
作成したdocker-compose.ymlはこちら
使用する際はパスワードを変更してください

version: "3"

services:
        db:
                image: mariadb
                container_name: cloud_db
                restart: always
                environment:
                        - MYSQL_ROOT_PASSWORD=root_passward
                        - MYSQL_PASSWORD=passward
                        - MYSQL_DATABASE=nextcloud
                        - MYSQL_USER=nextcloud

        cloud:
                image: nextcloud
                container_name: cloud
                restart: always
                ports:
                        - 80:80
                        - 443:443
                volumes:
                        - ./nextcloud:/var/www/html
                environment:
                        - MYSQL_PASSWORD=passward
                        - MYSQL_DATABASE=nextcloud
                        - MYSQL_USER=nextcloud
                        - MYSQL_HOST=db:3306

sudo docker-compose up -dで起動!
今回はデータベースをmariaDBにしましたがお手軽にsqlite使用して建てることも出来ます(sqlite用のdocker-compose)

vpsのポートを開けてドメインを紐ずけてアクセス出来ました(初期設定終了後です)

初期設定

docker-composeでデータベース情報を入れたので最初に好きなユーザー名とパスワードを入れて指示に従うだけで初期設定出来ちゃいます
凄い簡単

この勢いでhttps対応させよう

sudo docker exec -it cloud bash
apt update
apt install python3-certbot-apache
certbot --apache -d <ドメイン> -m <自分のメールアドレス>

最後のコマンドを実行したら英語で

  1. 利用規約に同意するか(同意必須です)
  2. let’s encript(certbotを作ってるとこ)からnewsを受け取るか
  3. httpでアクセスしてくるときは自動的にhttpsに変えるか(変えてくれる方(2)をおすすめします)

まとめ

ということでdockerでnextcloudを建ててhttpsまで対応させるやり方を紹介しました
出来ましたか?
私のスペックでは明らかに不足していて読み込みがかなり遅く、たまにアクセス出来なくなるという致命的なことが発生してしまいました
前にも共有cpuのサーバーを使ったことがありましたがやはり駄目ですね
何とかして快適に動作するように試行錯誤しておきます

ree