weseek/growi-docker-compose

HackMD統合に失敗する

pnnc205j opened this issue · 3 comments

エラーが出て、HackMDの統合に失敗してしまいます。どの時点で失敗しているかなど調べる方法はないでしょうか。

/SandboxStart to edit with HackMD を押すと、次のようなエラーが出てしまいます。
Integration with HackMD process failed
他のページでも同様です。docker-composeのログには次のように出てきます。

app_1            | [2018-11-12T03:04:59.208Z] ERROR: growi:routes:hackmd/102 on 6d0c229287c0: Request failed with status code 503
app_1            |   Error: Request failed with status code 503
app_1            |       at createError (/opt/growi/node_modules/axios/lib/core/createError.js:16:15)
app_1            |       at settle (/opt/growi/node_modules/axios/lib/core/settle.js:18:12)
app_1            |       at IncomingMessage.handleStreamEnd (/opt/growi/node_modules/axios/lib/adapters/http.js:201:11)
app_1            |       at emitNone (events.js:111:20)
app_1            |       at IncomingMessage.emit (events.js:208:7)
app_1            |       at endReadableNT (_stream_readable.js:1064:12)
app_1            |       at _combinedTickCallback (internal/process/next_tick.js:139:11)
app_1            |       at process._tickCallback (internal/process/next_tick.js:181:9)
app_1            | [2018-11-12T03:04:59.210Z]  INFO: express/102 on 6d0c229287c0: ::ffff:10.25.215.249 <-- POST /_api/hackmd.integrate HTTP/1.1 200 61 http://10.25.181.198:3000/Sandbox Firefox 62.0 Windows 10.0.0 10.986935 ms (req_id=eeab9cdc-4148-43cb-96c2-db8e555e8c49)

特にサーバーの負荷は高くなく、GROWIだけを動かしている状態です。HackMDへの直接アクセスはできる状態です。

docker-compose.yml への変更は次の通りです。

-      - 127.0.0.1:3000:3000    # localhost only by default
+      - 3000:3000    # localhost only by default

-      # - FILE_UPLOAD=local     # activate this line if you use local storage of server rather than AWS
+      - FILE_UPLOAD=local     # activate this line if you use local storage of server rather than AWS

-      # - HACKMD_URI=http://    # activate this line and specify HackMD server URI which can be accessed from GROWI client browsers
-      # - HACKMD_URI_FOR_SERVER=http://hackmd:3000  # activate this line and specify HackMD server URI which can be accessed from this server container
+      - HACKMD_URI=http://10.25.181.198:3100    # activate this line and specify HackMD server URI which can be accessed from GROWI client browsers
+      - HACKMD_URI_FOR_SERVER=http://hackmd:3000  # activate this line and specify HackMD server URI which can be accessed from this server container

docker-compose.override.yml は次の通りです。

-       - GROWI_URI=http://CHANGE-HERE
+       - GROWI_URI=http://10.25.181.198:3000

-       - 127.0.0.1:3100:3000   # localhost only by default
+       - 3100:3000   # localhost only by default

GROWIは新規で立ち上げており、ひととおり試行錯誤した後に、下記のコマンドで立ち上げなおしたものです。growi-docker-compose は最新版(f06288d)を利用しています。

docker-compose down -v 
docker-compose build --no-cache
docker-comopse up

@pnnc205j こんにちは。この issue 立っていることに今気付きました。反応遅くなってしまってすみません。

GROWI のサーバーから HackMD への通信で 503 が出ているということみたいですが、両方共 docker container ですから、ちょっとおかしいですね…

GROWI の container (app_1) の内部から http://hackmd:3000 にアクセス出来るかどうかって検証できますか?

@pnnc205j watch されてないようなので close します。(こちらが気付くのが遅くなってしまって申し訳ないです)

Slack で随時導入の相談は受け付けていますので、もし再チャレンジする際はお気軽にお越しください。
https://growi-slackin.weseek.co.jp/

ありがとうございます。反応が遅くなってしまってすみません。
色々ためしてみて、解決したので一応ご報告します。

原因は二つありました。

  1. proxy の設定
  • 外部接続のためproxyをDockerfile内に設定していたのですが、そのせいでコンテナ間の通信に失敗していました。
  1. サイトURL設定
  • 管理>アプリ設定>サイトURL設定>Databseで httpから始まるURLを指定しますが、そこでサイトURLの末尾に / を付けてしまうとHackMDで GROWIの記事内容を読み込めなくなり、変更も反映されなくなってしまうようです。
    • 例: http://example.com/