コンテンツへスキップ

SynologyのNAS(DS216+II)でEclipse Cheを動かす(挫折中)

SynologyのNASにEclipse Cheを入れてみたので記録。

環境

  • Synology DS216+II

手順

  • cheユーザーを作成

コントロールパネル > ユーザー > 作成 からユーザー名cheで作成します。

2016-09-19-13_34_14-%e3%83%95%e3%82%a9%e3%83%88

  • 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
  • 表示されたURLにアクセス
    こんな画面が表示されればOK。
    2016-09-19-13_16_04-eclipse-che-_-new-project

enjoy happy coding.

と思ったのも束の間…
2016-09-19-18_13_57-eclipse-che-_-new-project
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の配置場所を指定する方法があれば教えてほしいです。