SynologyのNASにEclipse Cheを入れてみたので記録。
環境
- Synology DS216+II
手順
- cheユーザーを作成
コントロールパネル > ユーザー > 作成 からユーザー名cheで作成します。
- NASにSSHログイン
Administratorグループでのみssh可能だった気がします。(うろ覚え)
入ったあと、すぐにsudo su -
してrootへ
- Dockerのバージョン確認
公式サイトによると1.8以上が必須なので、必要に応じてアップデートしてください。
# docker version
Client:
Version: 1.11.2
API version: 1.23
Go version: go1.4.2
Git commit: eabacaa-synology
Built: Sat Jun 18 19:01:00 2016
OS/Arch: linux/amd64
Server:
Version: 1.11.2
API version: 1.23
Go version: go1.4.2
Git commit: eabacaa-synology
Built: Sat Jun 18 19:01:00 2016
OS/Arch: linux/amd64
- データ用ディレクトリの作成
事前にディレクトリを作っておかないとエラーになっちゃうので、必要なディレクトリを作成します。
後述しますが/home/user/che配下に作らないとアカンみたいです。(変更できるなら教えてくだSAI!)
// シンボリックリンクの作成(/home/user/che → /volume1/homes/che になればOK)
# cd /
# mkdir home
# ln -s volume1/homes home/user
// データ格納用のディレクトリを作成
# cd /volume1/homes/che
# sudo -u che mkdir -p lib workspaces storage
- Docker起動
-e CHE_HOST_IP=XXX.XXX.XXX.XXX
にはNASに割り当てているIPを指定
# docker run --rm -t -v /var/run/docker.sock:/var/run/docker.sock -e CHE_HOST_IP=192.168.0.68 eclipse/che start
INFO: ECLIPSE CHE: Found image codenvy/che-server:latest
INFO: ECLIPSE CHE: Starting container...
INFO: ECLIPSE CHE: Server logs at "docker logs -f che-server"
INFO: ECLIPSE CHE: Server booting...
INFO: ECLIPSE CHE: Booted and reachable
INFO: ECLIPSE CHE: Use: http://192.168.0.68:8080
INFO: ECLIPSE CHE: API: http://192.168.0.68:8080/swagger
enjoy happy coding.
と思ったのも束の間…
workspaceの作成でコケるのであった。
今日はここまで…
ハマったとこメモ
GUI(Synology DSM)では実現できない?
docker run する際のオプション-v /var/run/docker.sock:/var/run/docker.sock
をGUIで指定する方法がわからなかったので、SSHでコマンドをたたくことに。
便利なんだか不便なんだか…
ディレクトリ周り
- storage, workspacesディレクトリが無いと怒られた
環境変数CHE_DATA_FOLDER、CHE_LOCAL_BINARYでディレクトリ指定ができると書いてあったので、synologyが管理しているユーザーディレクトリを指定してみました。
※ユーザー毎のディレクトリは/volume1/homes/<ユーザー名>
にあります。
# docker run --rm -t -v /var/run/docker.sock:/var/run/docker.sock -e CHE_DATA_FOLDER=/volume1/homes/che -e CHE_LOCAL_BINARY=/volume1/homes/che eclipse/che start
Error response from daemon: stat /volume1/homes/che/storage: no such file or directory
Error response from daemon: stat /volume1/homes/che/workspaces: no such file or directory
- ということで、ディレクトリを作成
# sudo -u che mkdir /volume1/homes/che/storage
# sudo -u che mkdir /volume1/homes/che/workspaces
- さらに、/home/user/che/libが無いと怒られた
# docker run --rm -t -v /var/run/docker.sock:/var/run/docker.sock -e CHE_DATA_FOLDER=/volume1/homes/che -e CHE_LOCAL_BINARY=/volume1/homes/che eclipse/che start
Error response from daemon: stat /home/user/che/lib: no such file or directory
え? /home/user/che
??
ディレクトリ指定してるのに/volume1/homes/che
を見てくれないの?
- ということで、またディレクトリを作成して起動
# sudo -u che mkdir /home/user/che/lib
# docker run --rm -t -v /var/run/docker.sock:/var/run/docker.sock -e CHE_DATA_FOLDER=/volume1/homes/che -e CHE_LOCAL_BINARY=/volume1/homes/che eclipse/che start
INFO: ECLIPSE CHE: Found image codenvy/che-server:latest
INFO: ECLIPSE CHE: Starting container...
INFO: ECLIPSE CHE: Server logs at "docker logs -f che-server"
INFO: ECLIPSE CHE: Server booting...
INFO: ECLIPSE CHE: Booted and reachable
INFO: ECLIPSE CHE: Use: http://172.17.0.1:8080
INFO: ECLIPSE CHE: API: http://172.17.0.1:8080/swagger
あ、起動した。
モヤモヤするけど、とりあえずディレクトリがあればよさそうだなぁ。
– ということで
手順に記載したとおり、NASのユーザーディレクトリ/volume1/homes
のシンボリックリンクを/home/user
に張って、環境変数を指定せずに起動することにしました。
libの配置場所を指定する方法があれば教えてほしいです。