Synology DiskStation DS718+を買いました。
NASとしてだけではなく、SysLogサーバー、LDAPサーバーとしても使えて便利です。
このNASにMinioをインストールしてS3サーバーにもしてみました。
Package CenterにMinioは用意されていないのですが、Docker経由でインストール可能です。ssh
でログインしてminio
コマンドを直接実行してもいいですが、Docker経由の方がGUIベースで管理できて、Synology NAS的には楽です。
https://docs.minio.io/docs/minio-docker-quickstart-guide の内容をGUIで行います。
以下、作業メモです。自分が買ったのはDS718+ですが、他のモデルでも同じだと思います。
目次
- Dockerのインストール
- Minio用のShared Folderの作成
- Minio用のdataフォルダとconfigフォルダ作成
- Minio Docker Imageのダウンロード
- Minioの起動
- 動作確認
- HTTPS対応
Dockerのインストール
"Package Center" => "Utilities" => "Docker"でInstallボタンをクリック。
Minio用のShared Folderの作成
"Control Panel" => "Shared Folder"でCreateボタンをクリック。
"Name"はminio
にし、ゴミ箱は不要なので"Enable Recycle Bin"のチェックを外しておく。
OKボタンをクリックして作成。"Permission"もデフォルトでOK。
Minio用のdataフォルダとconfigフォルダ作成
"File Station" => "minio"を選択 => "Create" => "Create folder"でdata
を入力してフォルダ作成。同様にconfig
を入力してフォルダ作成。
Minio Docker Imageのダウンロード
"Main Menu"から"Docker"を開く。
"Registry"タブをクリックし、"Insert keywords"にminio
を入力し、minio/minio
を選択。
"Download"をクリック。Tagは好きなものを選択していいが、ここではlatest
を使用。
Minioの起動
"Image"タブをクリックし、minio/minio:latest
を選択。
"Launch"ボタンをクリック。"Container Name"にminio
を入力。
"Advanced Settings"ボタンをクリック。"Enable auto-restart"にチェックを入れる。
"Volume"タブをクリックし、"Add Folder"ボタンをクリック。
minio/data
を/data
に、minio/config
を/root/.minio
にマウントする。
"Port Settings"タブをクリックし、"Local Port"に9000
を入力。
"Environment"タブをクリックし、"Command"にminio server /data
を入力。
"Apply"ボタンをクリックして"Advanced Settings"ウィンドウを閉じる。
"Next"ボタンクリック => "Apply"ボタンクリックでminioを起動する。
"Container"タブをクリックし、minio
コンテナが"Running"になっていればOK。
minio
コンテナをクリックし、"Details"ボタンをクリック。"Log"タブを開くとAccessKey
とSecretKey
を確認できる。
動作確認
http://<Synology NASのIP>:9000
にアクセスすると、UI(Minio Browser)が表示される。
AWS CLIからアクセスする。
aws configure
でAccessKey
とSecretKey
を入力。Regionは任意で可。
foo
バケットを作成し、hello.txt
をコピーする。
$ s3_url=http://<Synology NASのIP>:9000
$ aws --endpoint-url $s3_url s3 mb s3://foo
make_bucket: foo
$ aws --endpoint-url $s3_url s3 ls
2018-01-07 12:38:01 foo
$ echo Hello > ~/hello.txt
$ aws --endpoint-url $s3_url s3 cp ~/hello.txt s3://foo/
upload: ./hello.txt to s3://foo/hello.txt
Minio Browserにログインするとコピーしたファイルを確認できる。
HTTPS対応
https://docs.minio.io/docs/generate-let-s-encypt-certificate-using-concert-for-minio
/minio/config/certs
フォルダを作成し、その下に秘密鍵はsecret.key
、公開鍵はpublic.crt
というファイル名でコピーする。
minio
コンテナの"Restart"ボタンをクリック。
https://<ドメイン名>:9000
でアクセス可能になる。