NAS

Synology DS418play 上で docker を使って calibre-web を動かす

 

おおむね以下で動作する。

https://sasquatters.com/calibre-web-docker/

 

synologyのNASで動作させる場合、権限変更が必要なようで動かなかったのでその手順を書く。

 

セットアップは上記ブログの通りに実施。

 

コンテナができたら、コンテナを選択、詳細->端末から新規でbashを作成、

bashで[c.d /books] [c.hmod 777 -R ./]を実行

※ c.dは「しーでぃー」 c.hmodは「しーえっちうむおーでぃー」。XSERVERのWAFによりコマンドを書くとブロックされるので本文では[.]を入れている。

 

上記が終わったらコンテナを再起動。

nasのip:8083でアクセス可能。

 

初期設定では/booksを入力する。

ログインIDはadmin, パスワードはadmin123である。

 

 

 

Synology DS418play で dockerを動かす

SynologyのNASはdockerをサポートしています。

とはいっても、サポートしているのは[+]が付いているシリーズだけです。

playシリーズは、メモリ増設が可能で、HD画質のメディアに対応し、jシリーズに比べてスペックが高いCPUが付いていたりして素晴らしいんですが、docker公式サポートがありません。

会社でsynologyを押して[+]シリーズを買って貰ったんですが、dcokerが思ったより便利だったので、DS418playでなんとかdockerが使えないかと調べて見たところ、簡単に導入できたので紹介します。

 

まず、ダウンロードセンターにアクセスします。

NAS -> DS420+を選択し、「パッケージ」タブを開きます。

ページ内を[docker]で検索すると、[Docker]が見つかるので、「ダウンロード」を押してパッケージをダウンロードします。(私がDLできたのは「Docker-x64-18.09.0-0515.spk」です。)

ダウンロードができたところで、DSMにログインします。

DSMのパッケージセンターを開き、右上にある「手動インストール」を押します。

ファイルを選択できるので、先ほどDLしたspkを選択して、どんどん進みます。

私の時はエラー無く勝手にインストール完了、起動まで行けました。

 

これで動作していますし、パッケージセンターから閲覧も可能です。

 

念のため、本当にdockerが動作しているのか確認するために、sshで接続して動かしてみます。

 

ssh接続後、[sudo -i]

[docker run hello-world]

 

docker imageを勝手にpullして、「Hello from Docker!」が表示されたので動作確認完了です。

 

dockerが動いているのは確認できたので、Dockerfileを作成したり、docker-compose.ymlを作成したりであとは何でもできると思います。

 

dockerは知ればしるほど便利で良いですね。

最小環境なせいか色々設定が面倒ですが、そこを含めて便利で良いです。

 

 

 

 

Synology DS418Play購入

VPNを使いたいので購入してみました。

 

結果としてはプロバイダがBIGLOBEでIPv6接続の場合は使えませんでした。(これから二重ルータを試してみようとは思いますが)

 

使えませんでした、では買った意味が無いので色々やってみようかと思います。

 

色々やってみるのに、パッケージを眺めていたところ、pythonを見つけたので使ってみます。

 

パッケージをインストール

 

パッケージセンターからインストールするだけなので、解説は不要

 

 

SSHを有効化

 

  1. コントロールパネルを開く
  2. 端末とSNMPをクリック
  3. ターミナルタブの「SSHサービスを有効化する。」にチェックを入れる(ポート番号は22)

 

TeraTermでログイン

 

ホスト Synology NASのIP Address(192.168.*.*)
ユーザ名 AdministratorグループのユーザID
パスフレーズ 上のパスワード

 

こんな感じでログイン可能

 

cpuinfo

 

とりあえずcpuinfoでも見てみましょう。(抜粋)

公式HPに載ってる通りですね。

 

pythonの実行

 

test.pyという名前で、以下のファイルを作成します。

 

上記のファイルは以下に置きます。

/var/services/homes/{ユーザー名}/Drive/python

 

pythonフォルダはmkdirで作成しました。

何も考えずにやりましたが、vi(vim)が使えます。

 

実行します。

 

実行できました。

 

pythonのバージョン確認

 

忘れてたのでバージョンを確認してみます。

 

Linuxらしい感じで、python2が動いていたので、python3で実行し直します。

 

これも実行できました。

python2ってprint(“aaa”)って実行できましたっけ・・・?

 

venvを作成します

 

仮想環境が使えないと不便なんで使えるか確認します。

使えました。

 

当然ながら、バージョンは同じです。

 

ファイルにパスを入れてみます

 

 

実行します。

 

問題なさそうですね。

 

あとは、pipかな?

 

pipを使ってみます

 

(なんとなく)flaskをインストールします。

 

おー、できた。

 

Flaskの実行

 

とりあえずソースコードをでっち上げます。

 

実行します。

 

ブラウザでアクセスします。

 

アクセスできました。

 

DS416Playには(というか、SynologyのNASには)調べた感じブラウザは無いので(当たり前ですが)localhost:portは使え無いと思います。

また、DSM(SynologyのOS)は、アクセスするのにポート5000を使っている様なので、Flaskの標準デバッグポートとかぶっています。

ポートを変えてあげましょう。

 

これだけ動いてくれればだいたい何でもできそうですね。