自宅で稼働しているUbuntuサーバーにSSDを増設して、NextCloudをDockerで導入しました。導入方法を記録しておきます。
はじめに
NextCloudの使用用途はミラーレスカメラで撮影した画像や、スマホで撮影した画像のバックアップです。
私は撮影した写真をGoogle Photoに画像をアップロードしていますが、容量を節約するために画質を落としています。圧縮前のオリジナルファイルをWindowsPCに置いていますが、格納しているHDDがカリカリ鳴くようになったので、危機感を覚えNextCloudをUbuntuサーバーに構築した次第です。
Nextcloudでスマートフォンの写真を自動バックアップする方法は以下をご参照ください。
構築手順
Dockerのイメージは公式イメージではなく、linuxserver.ioのイメージを使いました。理由としては、公式イメージではPUIDやPGIDなどの書き込み権限が設定できず、データフォルダのオーナーをwww-data
にしないとアップロードや編集が拒否されてできなかったためです。
docker-compose.yml
任意のフォルダにdocker-compose.ymlを作成します。例:~/docker/nextcloud/docker-compose.yml
version: '2'
volumes:
nextcloud:
db:
services:
db:
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=hoge
- MYSQL_PASSWORD=hoge
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- PUID=1000
- GUID=1000
app:
image: lscr.io/linuxserver/nextcloud:latest
restart: always
ports:
- 8080:80
links:
- db
volumes:
- ./data:/var/www/html
- /mnt/wintenSSD/nextCloudData:/mnt/wintenSSD/nextCloudData
environment:
- PUID=1000
- PGID=1000
ポイントは以下です。
- imageを
lscr.io/linuxserver/nextcloud:latest
にする PUID=1000
,GUID=1000
を追加する(idコマンドを打ち込んだときのidです)- appのvolumesに増設したSSDのマウントパスを設定する(
/mnt/wintenSSD/nextCloudData:/mnt/wintenSSD/nextCloudData
)
あと、セキュリティ的にMYSQLのパスワードはベタ書きではなく.envなどに書くのが理想ですが、外部公開しないので直接書いています。
PUIDとGUIDがユーザに設定されたことで、アップロードやファイルの編集ができるようになりました。マウントしたSSDのディレクトリのオーナーはユーザにしてください。
コンテナの立ち上げ
docker-compose.ymlを作成したら、docker-compose up -d
でコンテナをビルド&立ち上げます。コンテナの状態はdocker ps
で確認できます。
ビルドが終わり、立ち上がったらブラウザから、サーバーのアドレス:8080(例:192.168.1.60:8080
)でNextCloudを開きます。
NextCloudの設定
それではNextCloudの設定手順です。
開くと管理者アカウントを作成する画面が表示されます。
ユーザー名とパスワードを設定してください。例:admin, admin
その他はデフォルトでインストールボタンをクリックします。
するとようこそ画面が出るので、右上の+アプリ
をクリックします。
下の方にあるExternal storage support
を有効にしてください。
次に、左にあるメニューから管理 > 外部ストレージ
をクリックします。
外部ストレージをローカルに設定して、設定にdocker-compose.ymlで追加したディレクトリを入力します。利用可能はすべてのユーザーです。
設定が終わり、ホームに戻るとwintenSSD(増設SSD)が表示されています。
これで構築手順は終了です。
おわりに
もともと1TBのSSDに録画データと画像データを保存していましたが、録画ファイルが容量を圧迫してしまうため、2TBのSSDを増設してデータを分けました。
購入したSSDは2TBで1万円(!)で驚きました。11年前に買った120GBのSSD(1万5000円くらいした)は未だに現役なので、今回購入したSSDも長持ちすることを祈っております。ちなみに120GBのSSDと同時期に購入したHDDはすべてぶっ壊れました。
Be First to Comment