Giter Club home page Giter Club logo

growi-docker-compose's People

Contributors

haruhikonyan avatar luqmanhakim-grune avatar miya avatar naa0yama avatar nakamura-densan avatar onokatio avatar ryu-sato avatar shinoka7 avatar shomatan avatar sils-jk avatar skomma avatar tats-u avatar tatsuki-i avatar yuki-takei avatar yuto-oweseek avatar yuuki0xff avatar zahmis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

growi-docker-compose's Issues

`growi_backup_1`の起動に失敗してしまう

度々失礼します。

現在、今度は別案件で新規growiを立ち上げようとしているのですが、
examplesの

  • backup-mongodb-data
  • https-portal
  • integrate-with-hackmd

の設定をマージしたものをdocker-compose.override.ymlとして立ち上げようとしております。

しかし、以下のログのように、growi_backup_1こと、mongodb-awesome-backupを使ったバックアップコンテナの起動が失敗してしまい、困っている状況です。

私のローカルのMac、AWS ECS、EC2上のubuntu 18.04の3環境でいずれも同じエラーが起きて止まっております。

ubuntu@wiki:~/growi$ docker-compose up -d
Creating network "growi_default" with the default driver
Pulling backup (weseek/mongodb-awesome-backup:latest)...
latest: Pulling from weseek/mongodb-awesome-backup
ff3a5c916c92: Already exists
a47330a39bf9: Pull complete
8a340d61bbcf: Pull complete
3adfab489142: Pull complete
45195ad27f97: Pull complete
Digest: sha256:e6e0ae86470aef79d029a539d0bcb049d804df27f4c3ff9f4fd9e7dea63ce806
Status: Downloaded newer image for weseek/mongodb-awesome-backup:latest
Creating growi_elasticsearch_1 ... 
Creating growi_plantuml_1      ... done
Creating growi_mariadb_1       ... 
Creating growi_mongo_1         ... done
Creating growi_backup_1        ... error

Creating growi_elasticsearch_1 ... done
:402: container init caused \"rootfs_linux.go:58: mounting \\\"/home/ubuntu/growi/crontab/root\\\" to rootfs \\\"/var/lib/docker/overlay2/520d94796d27bba44a6dCreating growi_mariadb_1       ... done
d/etc/crontabs/root\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
Creating growi_app_1           ... done
Creating growi_hackmd_1        ... done
Creating growi_https-portal_1  ... done

ERROR: for backup  Cannot start service backup: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\\"/home/ubuntu/growi/crontab/root\\\" to rootfs \\\"/var/lib/docker/overlay2/520d94796d27bba44a6d6486fe33e2a896e2f9e48038303b7455b74e0e0f2998/merged\\\" at \\\"/var/lib/docker/overlay2/520d94796d27bba44a6d6486fe33e2a896e2f9e48038303b7455b74e0e0f2998/merged/etc/crontabs/root\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ERROR: Encountered errors while bringing up the project.

(前回同様、不具合ではなく私の勘違いの可能性もあり、その辺不明な状況でのご連絡でIssue以外に最適な場所ありましたらご指示いただければと思います)

MongoDBのバージョンアップによるmongoコンテナの無限再起動問題

6854f23 が適用されてからでしょうか、mongoコンテナが無限に再起動を繰り返すようになりました。
docker-compose logs mongoでログを確認してみた所、"reason":"95: Operation not supported"という行を発見しました。
急遽すでに作成していたdocker-compose.override.ymlを編集し、オプションimage: mongo:3.6を追加したら一応動くようになりました。
docker-compose exec mongo mongoでmongoコンテナに入り、db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )と打つと、次のような出力を得ました。(追記: docker-compose exec mongo mongo --eval 'db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )' --quiet で一気に実行可能)

{ "featureCompatibilityVersion" : { "version" : "3.4" }, "ok" : 1 }

mongo:4.0を指定した場合は、同様に再起動ループを繰り返しますが、メッセージが異なります。

IMPORTANT: Collection admin.system.version is missing an UUID. We expect all collections to have UUIDs starting in FCV 3.6. Please make sure the FCV is version 3.6 before attempting an upgrade to 4.0; see http://dochub.mongodb.org/core/4.0-upgrade-fcv for more details. If the FCV is already 3.6, please try --repair with a 3.6 binary or initial sync to fix the data files.

このことから、mongoのデータはバージョン3.4で作られ、3.6では問題なく動作したものの4.4で問題が顕在化したものと考えられます。

https://docs.mongodb.com/manual/release-notes/3.6-upgrade-standalone/
https://docs.mongodb.com/manual/release-notes/4.0-upgrade-standalone/
https://docs.mongodb.com/manual/release-notes/4.2-upgrade-standalone/
https://docs.mongodb.com/manual/release-notes/4.4-upgrade-standalone/

の手順に従って後日アップデートを行いたいと思っています。

  1. mongoのバージョンをfeatureCompatibilityVersionの次バージョンに上げて起動し直す(docker-compose up -d)
  2. mongoコンテナのmongoシェルを起動(docker-compose exec mongo mongo)
  3. featureCompatibilityVersionをコンテナのバージョンに上げる(db.adminCommand( { setFeatureCompatibilityVersion: "(バージョン)" } ))

一応GROWIのドキュメントにもこのMongoDB内データのアップデートに関しては扱われていますが、Docker Composeでも必須であることに関する言及がなかったのは残念です。

https://docs.growi.org/ja/admin-guide/admin-cookbook/upgrade-mongodb.html#mongodb-v3-6-%E3%81%8B%E3%82%89-v4-0-%E3%81%B8%E3%81%AE%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89

Docker Compose用の手順や、必要であることの言及があればよいと思います。ドキュメントに対するPRも検討中です。

開発者Wikiにも言及がありましたが、featureCompatibilityVersionが元から3.6であることと、手順が洗練されていない(わざわざBashを経由している、execdocker-composeを使っていない、画像化しているためコピペ不可)ので少し参考になったか、という程度でしょうか。
https://dev.growi.org/Tips/MongoDB%E3%81%AE%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

[7.0.1]バージョン表記が7.0.1-RC.0となる

item version
OS
GROWI 7.0.1-RC.0
node.js 20.12.0
npm 10.5.0
yarn 1.22.19
Using Docker yes
Using growi-docker-compose yes

(Accessing https://{GROWI_HOST}/admin helps you to fill in above versions)

症状

期待する結果

  • 7.0.1となる

[7.0.8] 500 Internal Server Error となる

症状

  • アップデート手順に従って、containerイメージを更新、起動したところ、500 Internal Server ErrorとなりGROWIを使用できない。

image

期待する結果

  • 起動する。

log

app-1  | {"name":"growi","hostname":"6461aa566b31","pid":15,"level":50,"msg":"Unhandled Rejection: Promise: Promise {\n  <rejected> Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@codemirror/state' imported from /opt/growi/apps/app/.next/server/pages/[[...path]].js\n      at packageResolve (node:internal/modules/esm/resolv
e:854:9)\n      at moduleResolve (node:internal/modules/esm/resolve:927:18)\n      at defaultResolve (node:internal/modules/esm/resolve:1157:11)\n      at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:383:12)\n      at ModuleLoader.resolve (node:internal/modules/esm/loader:352:25)\n      at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:227:38)\n      at ModuleLoader.import (node:internal/modules/esm/loader:315:34)\n      at defaultImportModuleDynamically (no
de:internal/modules/esm/utils:194:31)\n      at importModuleDynamicallyCallback (node:internal/modules/esm/utils:216:12)\n      at 26939 (/opt/growi/apps/app/.next/server/pages/[[...path]].js:1:34693) {\n    code: 'ERR_MODULE_NOT_FOUND'\n  },\n  [Symbol(webpack exports)]: { v: [Getter] },\n  [Symbol(webpack queues)]: [Function
 (anonymous)],\n  [Symbol(webpack error)]: Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@codemirror/state' imported from /opt/growi/apps/app/.next/server/page
s/[[...path]].js\n      at packageResolve (node:internal/modules/esm/resolve:854:9)\n      at moduleResolve (node:internal/modules/esm/resolve:927:18)\n      at defaultResolve (node:internal/modules/esm/resolve:1157:11)\n      at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:383:12)\n      at ModuleLoader.resolve (node:internal/modules/esm/loader:352:25)\n      at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:227:38)\n      at ModuleLoader.import (node:inter
nal/modules/esm/loader:315:34)\n      at defaultImportModuleDynamically (node:internal/modules/esm/utils:194:31)\n      at importModuleDynamicallyCallback (node:internal/modules/esm/utils:216:12)\n      at 26939 (/opt/growi/apps/app/.next/server/pages/[[...path]].js:1:34693) {\n    code: 'ERR_MODULE_NOT_FOUND'\n  }\n} Reason: 
Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@codemirror/state' imported from /opt/growi/apps/app/.next/server/pages/[[...path]].js\n    at packageResolve (no
de:internal/modules/esm/resolve:854:9)\n    at moduleResolve (node:internal/modules/esm/resolve:927:18)\n    at defaultResolve (node:internal/modules/esm/resolve:11
57:11)\n    at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:383:12)\n    at ModuleLoader.resolve (node:internal/modules/esm/loader:352:25)\n    at 
ModuleLoader.getModuleJob (node:internal/modules/esm/loader:227:38)\n    at ModuleLoader.import (node:internal/modules/esm/loader:315:34)\n    at defaultImportModul
eDynamically (node:internal/modules/esm/utils:194:31)\n    at importModuleDynamicallyCallback (node:internal/modules/esm/utils:216:12)\n    at 26939 (/opt/growi/app
s/app/.next/server/pages/[[...path]].js:1:34693) {\n  code: 'ERR_MODULE_NOT_FOUND'\n}","time":"2024-05-30T16:47:21.137Z","v":0}                    
app-1  | {"name":"growi","hostname":"6461aa566b31","pid":15,"level":50,"msg":"Unhandled Rejection: Promise: Promise {\n  <rejected> Error [ERR_MODULE_NOT_FOUND]: Ca
nnot find package '@codemirror/state' imported from /opt/growi/apps/app/.next/server/pages/[[...path]].js\n      at packageResolve (node:internal/modules/esm/resolv
e:854:9)\n      at moduleResolve (node:internal/modules/esm/resolve:927:18)\n      at defaultResolve (node:internal/modules/esm/resolve:1157:11)\n      at ModuleLoa
der.defaultResolve (node:internal/modules/esm/loader:383:12)\n      at ModuleLoader.resolve (node:internal/modules/esm/loader:352:25)\n      at ModuleLoader.getModu
leJob (node:internal/modules/esm/loader:227:38)\n      at ModuleLoader.import (node:internal/modules/esm/loader:315:34)\n      at defaultImportModuleDynamically (no
de:internal/modules/esm/utils:194:31)\n      at importModuleDynamicallyCallback (node:internal/modules/esm/utils:216:12)\n      at 26939 (/opt/growi/apps/app/.next/
server/pages/[[...path]].js:1:34693) {\n    code: 'ERR_MODULE_NOT_FOUND'\n  },\n  [Symbol(webpack exports)]: Object [Module] {\n    copyLineDown: [Getter],\n    cop
yLineUp: [Getter],\n    cursorCharLeft: [Getter],\n    cursorCharRight: [Getter],\n    cursorDocEnd: [Getter],\n    cursorDocStart: [Getter],\n    cursorGroupLeft: 
[Getter],\n    cursorGroupRight: [Getter],\n    cursorLineBoundaryBackward: [Getter],\n    cursorLineBoundaryForward: [Getter],\n    cursorLineBoundaryLeft: [Getter
],\n    cursorLineBoundaryRight: [Getter],\n    cursorLineDown: [Getter],\n    cursorLineEnd: [Getter],\n    cursorLineStart: [Getter],\n    cursorLineUp: [Getter],
\n    cursorMatchingBracket: [Getter],\n    cursorPageDown: [Getter],\n    cursorPageUp: [Getter],\n    cursorSyntaxLeft: [Getter],\n    cursorSyntaxRight: [Getter]
,\n    defaultKeymap: [Getter],\n    deleteCharBackward: [Getter],\n    deleteCharForward: [Getter],\n    deleteGroupBackward: [Getter],\n    deleteGroupForward: [G
etter],\n    deleteLine: [Getter],\n    deleteToLineEnd: [Getter],\n    deleteToLineStart: [Getter],\n    emacsStyleKeymap: [Getter],\n    indentLess: [Getter],\n  
  indentMore: [Getter],\n    indentSelection: [Getter],\n    indentWithTab: [Getter],\n    insertBlankLine: [Getter],\n    insertNewlineAndIndent: [Getter],\n    mo
veLineDown: [Getter],\n    moveLineUp: [Getter],\n    selectAll: [Getter],\n    selectCharLeft: [Getter],\n    selectCharRight: [Getter],\n    selectDocEnd: [Getter
],\n    selectDocStart: [Getter],\n    selectGroupLeft: [Getter],\n    selectGroupRight: [Getter],\n    selectLine: [Getter],\n    selectLineBoundaryBackward: [Gett
er],\n    selectLineBoundaryForward: [Getter],\n    selectLineBoundaryLeft: [Getter],\n    selectLineBoundaryRight: [Getter],\n    selectLineDown: [Getter],\n    se
lectLineEnd: [Getter],\n    selectLineStart: [Getter],\n    selectLineUp: [Getter],\n    selectPageDown: [Getter],\n    selectPageUp: [Getter],\n    selectParentSyn
tax: [Getter],\n    selectSyntaxLeft: [Getter],\n    selectSyntaxRight: [Getter],\n    simplifySelection: [Getter],\n    splitLine: [Getter],\n    standardKeymap: [
Getter],\n    toggleBlockComment: [Getter],\n    toggleBlockCommentByLine: [Getter],\n    toggleComment: [Getter],\n    toggleLineComment: [Getter],\n    transposeC
hars: [Getter]\n  },\n  [Symbol(webpack queues)]: [Function (anonymous)],\n  [Symbol(webpack error)]: Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@codemirror
/state' imported from /opt/growi/apps/app/.next/server/pages/[[...path]].js\n      at packageResolve (node:internal/modules/esm/resolve:854:9)\n      at moduleResol
ve (node:internal/modules/esm/resolve:927:18)\n      at defaultResolve (node:internal/modules/esm/resolve:1157:11)\n      at ModuleLoader.defaultResolve (node:inter
nal/modules/esm/loader:383:12)\n      at ModuleLoader.resolve (node:internal/modules/esm/loader:352:25)\n      at ModuleLoader.getModuleJob (node:internal/modules/e
sm/loader:227:38)\n      at ModuleLoader.import (node:internal/modules/esm/loader:315:34)\n      at defaultImportModuleDynamically (node:internal/modules/esm/utils:
194:31)\n      at importModuleDynamicallyCallback (node:internal/modules/esm/utils:216:12)\n      at 26939 (/opt/growi/apps/app/.next/server/pages/[[...path]].js:1:
34693) {\n    code: 'ERR_MODULE_NOT_FOUND'\n  }\n} Reason: Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@codemirror/state' imported from /opt/growi/apps/app/.
next/server/pages/[[...path]].js\n    at packageResolve (node:internal/modules/esm/resolve:854:9)\n    at moduleResolve (node:internal/modules/esm/resolve:927:18)\n
    at defaultResolve (node:internal/modules/esm/resolve:1157:11)\n    at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:383:12)\n    at ModuleLoader
.resolve (node:internal/modules/esm/loader:352:25)\n    at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:227:38)\n    at ModuleLoader.import (node:int
ernal/modules/esm/loader:315:34)\n    at defaultImportModuleDynamically (node:internal/modules/esm/utils:194:31)\n    at importModuleDynamicallyCallback (node:inter
nal/modules/esm/utils:216:12)\n    at 26939 (/opt/growi/apps/app/.next/server/pages/[[...path]].js:1:34693) {\n  code: 'ERR_MODULE_NOT_FOUND'\n}","time":"2024-05-30
T16:47:21.137Z","v":0}                   
app-1  | Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438                                  
app-1  |  ⨯ Error: Cannot find module 'react-dropzone'                            
app-1  | Require stack:                  
app-1  | - /opt/growi/apps/app/.next/server/pages/[[...path]].js                  
app-1  | - /opt/growi/node_modules/next/dist/server/require.js                    
app-1  | - /opt/growi/node_modules/next/dist/server/next-server.js                
app-1  | - /opt/growi/node_modules/next/dist/server/next.js                       
app-1  | - /opt/growi/apps/app/dist/server/crowi/index.js                         
app-1  | - /opt/growi/apps/app/dist/server/app.js                                 
app-1  |     at Module._resolveFilename (node:internal/modules/cjs/loader:1145:15)                                                                                  
app-1  |     at /opt/growi/node_modules/next/dist/server/require-hook.js:55:36                                                                                      
app-1  |     at Module._load (node:internal/modules/cjs/loader:986:27)            
app-1  |     at Module.require (node:internal/modules/cjs/loader:1233:19)                                                                                           
app-1  |     at mod.require (/opt/growi/node_modules/next/dist/server/require-hook.js:65:28)                                                                        
app-1  |     at require (node:internal/modules/helpers:179:18)                    
app-1  |     at 56358 (/opt/growi/apps/app/.next/server/pages/[[...path]].js:1:32490)                                                                               
app-1  |     at t (/opt/growi/apps/app/.next/server/webpack-runtime.js:1:128)                                                                                       
app-1  |     at 98768 (/opt/growi/apps/app/.next/server/chunks/1340.js:1:27941)                                                                                     
app-1  |     at t (/opt/growi/apps/app/.next/server/webpack-runtime.js:1:128) {                                                                                     
app-1  |   code: 'MODULE_NOT_FOUND',     
app-1  |   requireStack: [               
app-1  |     '/opt/growi/apps/app/.next/server/pages/[[...path]].js',             
app-1  |     '/opt/growi/node_modules/next/dist/server/require.js',               
app-1  |     '/opt/growi/node_modules/next/dist/server/next-server.js',           
app-1  |     '/opt/growi/node_modules/next/dist/server/next.js',                  
app-1  |     '/opt/growi/apps/app/dist/server/crowi/index.js',                    
app-1  |     '/opt/growi/apps/app/dist/server/app.js'                             
app-1  |   ]                             
app-1  | }          

Is environment variable SAML_ENABLED working?

I would like to have saml configured when starting growi with docker-compose.

see Environment Variables, SAML_ENABLE SAML_ENABLED appears to be supported.

However, even with SAML_ENABLE=true SAML_ENABLED=true, the External auth button does not appear in the sign-in window.

Do I need to set it up in the GUI?

Thank you.

FILE_UPLOAD=localの際にファイルがアップロードできない

Environment

  • [OS]Ubuntu 16.04.2 LTS
  • [crowi-plus] 2.0.0
  • [Docker] 17.06.0-ce
  • [docker-compose] 1.14.0

How to reproduce? (再現手順)

  1. ページを編集する
  2. ファイルをブラウザにドラッグ&ドロップする

What happens? (症状)

  • symptom
    (Uploading file...)の文字列のみ挿入される

What is the expected result? (期待される動作)

  • expected result
    ファイルがアップロードされ、自動的にリンクが生成される

Note

  • /data/uploadsディレクトリを作成すると問題解消
    • /data/uploadsが存在していない
    • build時のmkdirでエラーになっている様子はない

Bug: ルートへのポータルが作成できない

はじめまして。 weseek/growi-docker-compose をクローンし、docker-composeを利用してGrowiを試験導入していますが、ルートへのポータル作成ができず悩んでいます。

  • localhost:3000 にアクセスし、右上の Create Portal ボタンを押すと、エディタ画面に遷移しますが、文字入力する場所がありません。
  • 何も入力できていませんが、とりあえず更新 ボタンを押すと Error occured HackmdEditor component has not initialized と出ます。
  • 他の場所 localhost:3000/test/ などにはページを作成できています。
  • この時点で docker-compose.yml の変更点は PASSWORD_SEED のみ

Bug: The app container with GROWI v4.4.7 continues to restart

以下の環境で、GRWOIのアップデート(4.4.6→4.4.7)を行い起動したところ
growi_appが再起動し続けて、GROWIにアクセスできない状態になりました。
対応方法ありましたら、ご教示いただけますでしょうか?

$ docker version
Client: Docker Engine - Community
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:53:39 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.8
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.6
  Git commit:       75249d8
  Built:            Fri Jul 30 19:52:00 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.9
  GitCommit:        e25210fe30a0a703442421b0f60afac609f950a3
 runc:
  Version:          1.0.1
  GitCommit:        v1.0.1-0-g4144b63
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

$  docker-compose version
docker-compose version 1.27.4, build 40524192
docker-py version: 4.3.1
CPython version: 3.7.7
$ cat /etc/os-release
NAME="CentOS Stream"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Stream 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_SUPPORT_PRODUCT_VERSION="CentOS Stream"
$ docker ps
CONTAINER ID   IMAGE                                COMMAND                  CREATED         STATUS                         PORTS                NAMES
44129f496240   growi-docker-compose_app             "dockerize -wait tcp…"   8 minutes ago   Restarting (0) 3 seconds ago                        growi-docker-compose_app_1
c257dc26178e   growi-docker-compose_elasticsearch   "/usr/local/bin/dock…"   8 minutes ago   Up 8 minutes                   9200/tcp, 9300/tcp   growi-docker-compose_elasticsearch_1
6caf5dfa2ade   mongo:4.4                            "docker-entrypoint.s…"   10 hours ago    Up 8 minutes                   27017/tcp            growi-docker-compose_mongo_1

Growiへのマイグレーションで Error: Cannot find module 'normalize-path' というエラーが発生。

お世話になります。
https://github.com/weseek/growi-docker-compose/wiki/Migrate-from-crowi-plus-docker-compose
に従い、マイグレーションを試みたところ、下記エラーが発生し困っております。

以下が類似の問題のようですが、私の環境(ホストがubuntu16.04)ではGrowiの3.2.x系と3.1.x系は試したものすべて全滅でした(3.0.x系はまだ試していません)。
#13

Dockerということであまり考えづらいとは思うのですが、環境依存の何かがあるのでしょうか?

ubuntu:~/crowi-plus$ docker-compose up -d
Creating network "crowiplus_default" with the default driver
Building app
Step 1/6 : FROM weseek/growi:3
3: Pulling from weseek/growi
4fe2ade4980c: Already exists
eeb7d76f44e7: Already exists
e35f88fcc259: Already exists
a6e42d06e5b7: Already exists
76e3a313d935: Already exists
48ffa976c41c: Already exists
a084f2bca408: Already exists
192825940cf6: Already exists
Digest: sha256:6bd17f5c212749eefeca7ce2aefa781c5497367df04ee516c88477d447eba196
Status: Downloaded newer image for weseek/growi:3
 ---> d46bc5510b11
Step 2/6 : ENV APP_DIR /opt/growi
 ---> Running in 8c2b3f8db79f
 ---> 29fe6586a203
Removing intermediate container 8c2b3f8db79f
Step 3/6 : ENV DOCKERIZE_VERSION v0.3.0
 ---> Running in a176d31aff4c
 ---> 01564a15ee2e
Removing intermediate container a176d31aff4c
Step 4/6 : RUN apk add --no-cache --virtual .dl-deps curl     && curl -SL https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz         | tar -xz -C /usr/local/bin     && apk del .dl-deps
 ---> Running in d6e7ce88a17c
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
(1/6) Installing ca-certificates (20171114-r3)
(2/6) Installing nghttp2-libs (1.32.0-r0)
(3/6) Installing libssh2 (1.8.0-r3)
(4/6) Installing libcurl (7.61.1-r1)
(5/6) Installing curl (7.61.1-r1)
(6/6) Installing .dl-deps (0)
Executing busybox-1.28.4-r1.trigger
Executing ca-certificates-20171114-r3.trigger
OK: 8 MiB in 22 packages
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   625    0   625    0     0   1237      0 --:--:-- --:--:-- --:--:--  1237
100 2436k  100 2436k    0     0  1005k      0  0:00:02  0:00:02 --:--:-- 1280k
(1/6) Purging .dl-deps (0)
(2/6) Purging curl (7.61.1-r1)
(3/6) Purging libcurl (7.61.1-r1)
(4/6) Purging ca-certificates (20171114-r3)
WARNING: Ignoring APKINDEX.adfa7ceb.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.efaa1f73.tar.gz: No such file or directory
Executing ca-certificates-20171114-r3.post-deinstall
(5/6) Purging nghttp2-libs (1.32.0-r0)
(6/6) Purging libssh2 (1.8.0-r3)
Executing busybox-1.28.4-r1.trigger
OK: 6 MiB in 16 packages
 ---> 625bf66d18b8
Removing intermediate container d6e7ce88a17c
Step 5/6 : WORKDIR ${APP_DIR}
 ---> 9943df33e176
Removing intermediate container 9eed49c3b752
Step 6/6 : RUN npm run build:prod
 ---> Running in deb2cc7bb2c6

> [email protected] prebuild:prod /opt/growi
> npm run plugin:def


> [email protected] plugin:def /opt/growi
> node bin/generate-plugin-definitions-source.js

module.js:550
    throw err;
    ^

Error: Cannot find module 'normalize-path'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._resolveFilename (/opt/growi/node_modules/module-alias/index.js:43:29)
    at Function.Module._load (module.js:475:25)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/opt/growi/bin/generate-plugin-definitions-source.js:9:19)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] plugin:def: `node bin/generate-plugin-definitions-source.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] plugin:def script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-11-21T07_33_49_525Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] prebuild:prod: `npm run plugin:def`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] prebuild:prod script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-11-21T07_33_49_543Z-debug.log
ERROR: Service 'app' failed to build: The command '/bin/sh -c npm run build:prod' returned a non-zero code: 1

HackMDを統合できない

#18 を受け、HackMDを入れればポータルを作れるのかと思い挑戦しました。
yaml ファイルはREADMEに従い以下のように変更しました。
結果、HackMDを直接利用することは可能ですが、GrowiからはHackMDを利用できていません。

# docker-compose.yml
environment:
    - HACKMD_URI=http://192.168.5.38:3100
    - HACKMD_URI_FOR_SERVER=http://hackmd:3000

# docker-compose.override.yml
environment:
    - GROWI_URI=http://192.168.5.38:3000
ports:
    - 3100:3000   # localhost only by default

HackMDエディタで既存記述が表示できない・更新できない

[質問]

host

item version
GROWI 3.3.9
node.js 8.15.0
npm 6.4.1
yarn 1.12.3

Client

item version
OS Windows 10
browser Chrome

docker-composeで建てています。HackMDとの統合を試しているのですが、HackMD エディタを起動させたときに、既に存在する記述は表示されず、「←Start by entering a title here...」の新規作成のような画面になります。またHackMDエディタの画面で画面右下の[更新]ボタンを押しても、効いていないようです。

他の変更点としてはホストOS側ポートを3001でアクセスできるようにしています。
(3000に戻しても関係ありませんでした)

追記: ホストOS側にgrowiのボリュームをマウントしています.

## docker-compose.yml
    ports:
      - 3001:3000
      
environment:
    - HACKMD_URI=http://localhost:3100
    - HACKMD_URI_FOR_SERVER=http://hackmd:3000


volumes:
   growi_data:
      driver_opts:
        type: none
        device: /home/vagrant/growi/_data/growi_data
        o: bind
   mongo_configdb:
      driver_opts:
        type: none
        device: /home/vagrant/growi/_data/mongo_configdb
        o: bind
   mongo_db:
      driver_opts:
        type: none
        device: /home/vagrant/growi/_data/mongo_db
        o: bind
   es_data:
      driver_opts:
        type: none
        device: /home/vagrant/growi/_data/es_data
        o: bind
   es_plugins:
      driver_opts:
        type: none
        device: /home/vagrant/growi/_data/es_plugins
        o: bind


## docker-compose.override.yml
environment:
    - GROWI_URI=http://localhost:3001
ports:
    - 3100:3000   # localhost only by default

growiページ(/test/hackmdtest)を開いたときのdocker-compose log:

app_1            | [2019-02-26T02:58:45.754Z]  INFO: express/70 on e0a736df6076: ::ffff:10.0.2.2 <-- GET /test/hackmdtest HTTP/1.1 200 41859 - Chrome 72.0 Windows 10.0.0 42.380274 ms (req_id=087d9fd1-f7db-4421-a064-a2ef7ee05962)
app_1            | [2019-02-26T02:58:46.537Z]  INFO: express/70 on e0a736df6076: ::ffff:10.0.2.2 <-- GET /_api/bookmarks.get?page_id=5c749e9c08727b0047e88c6e HTTP/1.1 304 - http://localhost:3001/test/hackmdtest Chrome 72.0 Windows 10.0.0 6.222763 ms (req_id=74680f75-7a1a-45d2-8ce0-6972030e1c76)
app_1            | [2019-02-26T02:58:46.548Z]  INFO: express/70 on e0a736df6076: ::ffff:10.0.2.2 <-- GET /_api/comments.get?page_id=5c749e9c08727b0047e88c6e HTTP/1.1 304 - http://localhost:3001/test/hackmdtest Chrome 72.0 Windows 10.0.0 15.921974 ms (req_id=eb2b58fb-a16b-45c9-abf3-facb63a6f7c5)
app_1            | [2019-02-26T02:58:46.563Z]  INFO: express/70 on e0a736df6076: ::ffff:10.0.2.2 <-- GET /_api/attachments.list?page_id=5c749e9c08727b0047e88c6e HTTP/1.1 304 - http://localhost:3001/test/hackmdtest Chrome 72.0 Windows 10.0.0 4.583104 ms (req_id=9b5ea1e7-8a80-4171-8d34-b45cd4d46111)
app_1            | [2019-02-26T02:58:46.634Z]  INFO: express/70 on e0a736df6076: ::ffff:10.0.2.2 <-- POST /_api/pages.seen HTTP/1.1 200 51 http://localhost:3001/test/hackmdtest Chrome 72.0 Windows 10.0.0 8.587667 ms (req_id=414ceba1-5e12-4ee3-bfc2-1a3379e4e38c)

[Start to edit with HackMD]ボタンをクリックして、HackMDエディタを開いたときのdocker-compose log:

hackmd_1         | 2019-02-26T03:01:22.327Z - info: ::ffff:172.20.0.6 - - [26/Feb/2019:03:01:22 +0000] "GET /Rk76xk0NS0ukLgJvJWNYGg HTTP/1.1" 200 44509 "-" "axios/0.18.0"
hackmd_1         |
app_1            | [2019-02-26T03:01:22.335Z]  INFO: express/70 on e0a736df6076: ::ffff:10.0.2.2 <-- POST /_api/hackmd.integrate HTTP/1.1 200 130 http://localhost:3001/test/hackmdtest Chrome 72.0 Windows 10.0.0 47.127005 ms (req_id=8d5450f9-5de0-4942-8d01-df0be44eb6ff)
hackmd_1         | 2019-02-26T03:01:22.696Z - info: ::ffff:10.0.2.2 - - [26/Feb/2019:03:01:22 +0000] "GET /Rk76xk0NS0ukLgJvJWNYGg?both HTTP/1.1" 304 - "http://localhost:3001/test/hackmdtest" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36"
hackmd_1         |
app_1            | [2019-02-26T03:01:22.744Z]  INFO: express/70 on e0a736df6076: ::ffff:10.0.2.2 <-- GET /_hackmd/load-styles HTTP/1.1 304 - - Chrome 72.0 Windows 10.0.0 3.511218 ms (req_id=67772c0a-1a88-4f9b-9fc9-1d48dee813eb)
hackmd_1         | 2019-02-26T03:01:22.856Z - info: ::ffff:10.0.2.2 - - [26/Feb/2019:03:01:22 +0000] "GET /config HTTP/1.1" 304 - "http://localhost:3100/Rk76xk0NS0ukLgJvJWNYGg?both" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36"
hackmd_1         |
app_1            | [2019-02-26T03:01:22.892Z]  INFO: express/70 on e0a736df6076: ::ffff:10.0.2.2 <-- GET /_hackmd/load-agent HTTP/1.1 304 - - Chrome 72.0 Windows 10.0.0 3.476705 ms (req_id=24484693-76d3-4cf7-97b2-22fb5f3af1dc)
hackmd_1         | 2019-02-26T03:01:24.134Z - info: ::ffff:10.0.2.2 - - [26/Feb/2019:03:01:24 +0000] "GET /me HTTP/1.1" 304 - "http://localhost:3100/Rk76xk0NS0ukLgJvJWNYGg?both" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36"
hackmd_1         |

期待する動作としては、HackMDエディタで既存の記述が表示できるようにすること、更新できるようにすることです。

LDAP認証で新規ユーザを作成しようとすると認証失敗して作成できない

もし同一事象で、解決されている方がいればご教示ください。

contos7.3にdocument通りの方法でweseek/growi-docker-composeを新規インストールしました。
機能はまだすべて確認できていないのですが、LDAP認証のテストは通っているにも関わらず
ログイン画面では新規ユーザ追加しようとすると認証失敗となり追加できません。
既存ユーザへの関連付けは問題なくできて認証も通ります。
たまにしかサーバを触れず、ログの見どころもわかっていないので、
確認の方法をご教示いただければ応答は悪いかもしれませんがログなども確認いたします。
バグなのか設定が悪いのか不明なのでこちらにかかさせていただきました。
何か情報を共有いただければ幸いです。

LDAPとして使用しているのはADでManager Bind ON
アカウント、パスワードを設定してSearch Filterは(sAMAccountName={{username}})
と設定しています。上述の通りテストは成功、新規以外の認証も成功しています。

docker-compose build fails because of missing apk

Problem

docker-compose build fails at RUN apk add --no-cache --virtual .dl-deps curl.
It seems that apk is not found on weseek/growi:4.

Environment

  • Ubuntu 20.04 on WSL2 on Windows 10 Pro
  • Docker Desktop for Windows

Log

$ docker-compose build
mongo uses an image, skipping
Building elasticsearch
[+] Building 0.8s (7/7) FINISHED                                                                                                                                                                                                                                                                                           => [internal] load build definition from Dockerfile                                                                                                                                                                                                                                                                 0.0s
 => => transferring dockerfile: 38B                                                                                                                                                                                                                                                                                  0.0s
 => [internal] load .dockerignore                                                                                                                                                                                                                                                                                    0.0s
 => => transferring context: 2B                                                                                                                                                                                                                                                                                      0.0s
 => [internal] load metadata for docker.elastic.co/elasticsearch/elasticsearch:6.8.10                                                                                                                                                                                                                                0.7s
 => [1/3] FROM docker.elastic.co/elasticsearch/elasticsearch:6.8.10@sha256:f8e21f6b2ef75dcda374da505fcb0ff4bf7e8d025f12096c498123fa4e372c1b                                                                                                                                                                          0.0s
 => CACHED [2/3] RUN bin/elasticsearch-plugin install analysis-kuromoji                                                                                                                                                                                                                                              0.0s
 => CACHED [3/3] RUN bin/elasticsearch-plugin install analysis-icu                                                                                                                                                                                                                                                   0.0s
 => exporting to image                                                                                                                                                                                                                                                                                               0.0s
 => => exporting layers                                                                                                                                                                                                                                                                                              0.0s
 => => writing image sha256:219ee1cfc15f6cf1486fa05053af833cd0b4d6eaed3cbc3d448891dcdee8cff7                                                                                                                                                                                                                         0.0s
 => => naming to docker.io/library/growi-docker-compose_elasticsearch                                                                                                                                                                                                                                                0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
Building app
[+] Building 0.5s (5/6)                                                                                                                                                                                                                                                                                                    => [internal] load build definition from Dockerfile                                                                                                                                                                                                                                                                 0.0s
 => => transferring dockerfile: 38B                                                                                                                                                                                                                                                                                  0.0s
 => [internal] load .dockerignore                                                                                                                                                                                                                                                                                    0.0s
 => => transferring context: 2B                                                                                                                                                                                                                                                                                      0.0s
 => [internal] load metadata for docker.io/weseek/growi:4                                                                                                                                                                                                                                                            0.0s
 => CACHED [1/3] FROM docker.io/weseek/growi:4                                                                                                                                                                                                                                                                       0.0s
 => ERROR [2/3] RUN apk add --no-cache --virtual .dl-deps curl     && curl -sL https://github.com/jwilder/dockerize/releases/download/v0.6.1/dockerize-alpine-linux-amd64-v0.6.1.tar.gz         | tar -xz -C /usr/local/bin     && apk del .dl-deps                                                                  0.4s
------
 > [2/3] RUN apk add --no-cache --virtual .dl-deps curl     && curl -sL https://github.com/jwilder/dockerize/releases/download/v0.6.1/dockerize-alpine-linux-amd64-v0.6.1.tar.gz         | tar -xz -C /usr/local/bin     && apk del .dl-deps:
#5 0.327 /bin/sh: 1: apk: not found
------
executor failed running [/bin/sh -c apk add --no-cache --virtual .dl-deps curl     && curl -sL https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz         | tar -xz -C /usr/local/bin     && apk del .dl-deps]: exit code: 127
ERROR: Service 'app' failed to build : Build failed

Switch to new CodiMD repository

I just saw that you are still using the old repository.

CodiMD switch to an own organization with a new repository. If you wonder why, have a look at our Vision.

We continue the community version there and I would also like to offer help to you. Is there something we can do to improve the integration between CodiMD and Growi?

Would love to hear your thoughts and feedback :)

growi_appの起動に失敗する

3.5.22がリリースされているのを確認したので、3.5.21からこの手順に従ってアップデートを行ったところ、growi_appの起動に失敗するようになりました。

logとしては以下のような出力になっています。

$ docker logs growi_app_1                                                                          
ln: /opt/growi/public/uploads: Permission denied                                                                             
ln: /opt/growi/public/uploads: Permission denied                                                                             
ln: /opt/growi/public/uploads: Permission denied                                                                             
ln: /opt/growi/public/uploads: Permission denied                                                                             
ln: /opt/growi/public/uploads: Permission denied                                                                             
ln: /opt/growi/public/uploads: Permission denied                                                                             
ln: /opt/growi/public/uploads: Permission denied                                                                             
ln: /opt/growi/public/uploads: Permission denied                                                                             
ln: /opt/growi/public/uploads: Permission denied                                   
ln: /opt/growi/public/uploads: Permission denied                                                                             
ln: /opt/growi/public/uploads: Permission denied                                              
ln: /opt/growi/public/uploads: Permission denied                                                
ln: /opt/growi/public/uploads: Permission denied                                                                             
ln: /opt/growi/public/uploads: Permission denied
ln: /opt/growi/public/uploads: Permission denied                                                                             
ln: /opt/growi/public/uploads: Permission denied

以下の修正に伴うエラーという認識で良いのでしょうか?

USER root
RUN apk add --no-cache --virtual .dl-deps curl \
&& curl -sL https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
| tar -xz -C /usr/local/bin \
&& apk del .dl-deps
USER node

この場合の対応はどのようにすればよいでしょうか?

実行環境

$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.3 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
$ docker version 
Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea838
 Built:             Wed Nov 13 07:29:52 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:       633a0ea838
  Built:            Wed Nov 13 07:28:22 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

ビルド時に rimraf でエラーが発生する

crowi-plusの公開ありがとうございます。
docker-compose版もあるとのことで、私の環境でこちらを試してみたところ、次のようなエラーが出てしまいました。


/opt/crowi-plus/node_modules/rimraf/bin.js:47
      throw er
      ^

Error: ENOTEMPTY: directory not empty, rmdir 'public/js'
    at Error (native)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] clean:js: `rimraf -- public/js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] clean:js script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-01-05T06_02_35_214Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] clean: `npm run clean:js && npm run clean:dll && npm run clean:report`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] clean script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-01-05T06_02_35_234Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build:prod: `npm run clean && webpack --config config/webpack.prod.js  --p               rogress --profile --bail`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build:prod script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-01-05T06_02_35_253Z-debug.log
The command '/bin/sh -c npm run build:prod' returned a non-zero code: 1

環境

OS:CentOS7
crowi-plus:2.3.2
Docker:17.09.0-ce
docker-compose:1.14.0

こちらの環境のせいでしょうか・・・?
お手数をお掛けしますが、確認をお願い致します。

HackMD統合に失敗する

エラーが出て、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

Growi3.1.3のbuild:prod時にエラーになる

Growiのメンテナンスお疲れ様です。いつもお世話になっております。

docker-composeで普段利用しているのですが、環境を再構築する際にエラーが出ました。

Dockerfileを FROM weseek/growi:3.0にすると動作するので修正まではそれで利用を続けたいと思います。

エラーの詳細は以下になります。

growi-docker-compose$ docker build . --no-cache
Sending build context to Docker daemon  140.3kB
Step 1/6 : FROM weseek/growi:3

中略

Step 6/6 : RUN npm run build:prod
 ---> Running in 4563e00bd1af

> [email protected] prebuild:prod /opt/growi
> npm run plugin:def


> [email protected] plugin:def /opt/growi
> node bin/generate-plugin-definitions-source.js

module.js:549
    throw err;
    ^

Error: Cannot find module 'normalize-path'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/opt/growi/bin/generate-plugin-definitions-source.js:7:19)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] plugin:def: `node bin/generate-plugin-definitions-source.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] plugin:def script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-06-08T04_52_16_012Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] prebuild:prod: `npm run plugin:def`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] prebuild:prod script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-06-08T04_52_16_026Z-debug.log
The command '/bin/sh -c npm run build:prod' returned a non-zero code: 1

お時間のある時で構いませんのでご対応いただけると助かります。

CentOS8の環境下での起動失敗

以下の問題についてご対応いただけると幸いです。

実行環境

# $ cat /etc/os-release

NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="8"
# docker version

Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea
 Built:             Wed Nov 13 07:25:41 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:       633a0ea
  Built:            Wed Nov 13 07:24:18 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.6
  GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc:
  Version:          1.0.0-rc8
  GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

Error

Step 3/4 : RUN bin/elasticsearch-plugin install analysis-kuromoji
 ---> Running in 47ee2bd36f42
Exception in thread "main" java.net.UnknownHostException: artifacts.elastic.co
	at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:220)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
	at java.base/java.net.Socket.connect(Socket.java:591)
	at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:285)
	at java.base/sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
	at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569)
	at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:265)
	at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:372)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1181)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1075)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:163)
	at org.elasticsearch.plugins.InstallPluginCommand.urlExists(InstallPluginCommand.java:352)
	at org.elasticsearch.plugins.InstallPluginCommand.getElasticUrl(InstallPluginCommand.java:314)
	at org.elasticsearch.plugins.InstallPluginCommand.download(InstallPluginCommand.java:254)
	at org.elasticsearch.plugins.InstallPluginCommand.execute(InstallPluginCommand.java:229)
	at org.elasticsearch.plugins.InstallPluginCommand.execute(InstallPluginCommand.java:216)
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124)
	at org.elasticsearch.cli.MultiCommand.execute(MultiCommand.java:77)
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124)
	at org.elasticsearch.cli.Command.main(Command.java:90)
	at org.elasticsearch.plugins.PluginCli.main(PluginCli.java:47)
ERROR: Service 'elasticsearch' failed to build: The command '/bin/sh -c bin/elasticsearch-plugin install analysis-kuromoji' returned a non-zero code: 1

ERROR [4/9] RUN /codimd/apply-growi-agent.sh

docker-compose up -d
[+] Building 1.4s (8/13)
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 32B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/hackmdio/hackmd:1.3.0-alpine 1.0s
=> [internal] load build context 0.0s
=> => transferring context: 73B 0.0s
=> [1/9] FROM docker.io/hackmdio/hackmd:1.3.0-alpine@sha256:c255ffc54d132c408786815a0d1013da4031b99afe629b1536f9448c43ddbdc3 0.0s
=> CACHED [2/9] COPY apply-growi-agent.sh /codimd/apply-growi-agent.sh 0.0s
=> CACHED [3/9] RUN chmod +x /codimd/apply-growi-agent.sh 0.0s
=> ERROR [4/9] RUN /codimd/apply-growi-agent.sh

[4/9] RUN /codimd/apply-growi-agent.sh:
#0 0.331 /bin/sh: /codimd/apply-growi-agent.sh: not found


failed to solve: executor failed running [/bin/sh -c /codimd/apply-growi-agent.sh]: exit code: 127

HackMD連携で常に新規ページが作成される

Environment

Host

item version
OS Ubuntu 18.04.2 LTS
GROWI 3.4.7 / 3.5.25
node.js 10.16.0
npm 6.9.0
Using Docker yes
Using growi-docker-compose yes

Client

item version
OS macOS 10.14.6
browser Google Chrome 79.0.3945.88

How to reproduce? (再現手順)

What happens? (症状)

  • 既存ページのHackMDタブを開く
  • 既存ページの内容ではなく、Start to edit with HackMDが表示される
  • Start to edit with HackMDをクリック
  • Page is not foundの表示と共に、新しいページが作成される
    • この時、Docker-ComposeのHackMDコンテナのログには"GET /new HTTP/1.1" 302 45 "-" "axios/0.19.0"と表示される
  • 新しく作成されたページを適当に編集して保存すると、HackMD側でランダムに生成されたような名前のページが作成される
  • 上記で保存したページで再度HackMDタブを開くと、再度Start to edit with HackMDが表示される
    • このとき、画面の表示が以下の画像のように、マトリョーシカのような入れ子になってしまう(わかりやすいように数回繰り返しています)
      image
  • 当初、v3.4.7でこの事象が発生し、Growiのバージョンを3.5.25に変更しても同じ事象が発生します

What is the expected result? (期待される動作)

  • 既存ページのHackMDタブを開くと、新規ページが作成されずに既存のページが編集できる
  • 画面の表示がマトリョーシカのようにならない

認証ありプロキシ環境下でHackMD統合とSlack通知が同時に動作しない

はじめまして、認証ありプロキシ環境下でgrowi-docker-composeを使用してGROWIを導入しています。
HackMD統合とSlack通知が同時に動作しない問題にぶつかっているので質問させてください。

まずはじめに、Slack通知するために環境変数でプロキシ設定を渡すようにしました。
するとSlack通知は動作しましたが、#20 と同じ現象が発生してHackMD統合でエラーが発生して統合できませんでした。
ちなみに、この状態で GROWI の container (app_1) の内部から http://hackmd:3000 にcurlでアクセスできました。
この時点でのDockerfile, docker-compose.yml, docker-compose.override.ymlの変更内容を記載します。

Dockerfile

+ ENV http_proxy=http://user:password@proxy_host:port
+ ENV https_proxy=http://user:password@proxy_host:port
+ ENV no_proxy=localhost,127.0.0.1,hackmd

docker-compose.yml

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

-      # - FILE_UPLOAD=local     # activate this line if you use local storage of server rather than AWS
-      # - MATHJAX=1             # activate this line if you want to use MathJax
-      # - PLANTUML_URI=http://  # activate this line and specify if you use your own PlantUML server rather than public plantuml.com
-      # - 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
+      - FILE_UPLOAD=local     # activate this line if you use local storage of server rather than AWS
+      - MATHJAX=1             # activate this line if you want to use MathJax
+      - PLANTUML_URI=http://10.15.0.174:13080  # activate this line and specify if you use your own PlantUML server rather than public plantuml.com
+      - HACKMD_URI=http://10.15.0.174: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.15.0.174:3000

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

次に、Dockerfileのみ変更を戻してプロキシ設定を渡すのをやめてみました。
するとHackMD統合が動くようになりましたが、Slack通知ができなくなりました。

以上のような状況ですが、認証ありプロキシ環境でHackMD統合とSlack通知の両方が動くようにするにはどのようにすればよいでしょうか?
なにかわかりましたらお教えいただけると助かります。

Error occured after install plugin

I made custom plugin and comment out the Dockerfile line below.

# install plugins if necessary
# ;;
# ;; NOTE: In GROWI v3 and later,
# ;;       2 of official plugins (growi-plugin-lsx and growi-plugin-pukiwiki-like-linker)
# ;;       are now included in the 'weseek/growi' image.
# ;;       Therefore you will not need following lines except when you install third-party plugins.
# ;;
RUN echo "install plugins" \
 && yarn add \
     growi-plugin-XXX \
     growi-plugin-YYY \
 && echo "done."
# you must rebuild if install plugin at least one
RUN npm run build:prod

after build the container, I saw below error in my growi top directory.

Error occured in mt
TypeError: Cannot convert undefined or null to object
詳細
    in mt
    in t
    in ForwardRef
    in div
    in div
    in $t
    in t
    in ForwardRef
    in div
    in div
    in p
    in div
    in t
    in $n
    in t
    in ForwardRef
    in p
    in i
    in B

how can i fix it?

Bug: The error occurs on an Elasticsearch container when initial access

Environment

Host

item version
OS Ubuntu 16.04
crowi-plus 2.3.2
node.js 6.12.2
npm 4.6.1
Using Docker yes
Using crowi-plus-docker-compose yes

(Accessing https://{CROWI_HOST}/admin helps you to fill in above versions)

How to reproduce? (再現手順)

  1. git clone https://github.com/weseek/crowi-plus-docker-compose
  2. docker-compose up
  3. access to http://localhost:3000/

What happens? (症状)

  • Elasticsearch container says
elasticsearch_1  | [2018-01-08T13:45:02,011][INFO ][o.e.c.m.MetaDataCreateIndexService] [EPpQpzz] [crowi] creating index, cause [api], templates [], shards [5]/[1], mappings [pages, users]
elasticsearch_1  | [2018-01-08T13:45:02,460][WARN ][r.suppressed             ] path: /_bulk, params: {}
elasticsearch_1  | java.lang.NullPointerException: null
elasticsearch_1  |      at org.elasticsearch.action.bulk.BulkRequest.add(BulkRequest.java:318) ~[elasticsearch-5.3.2.jar:5.3.2]
elasticsearch_1  |      at org.elasticsearch.rest.action.document.RestBulkAction.prepareRequest(RestBulkAction.java:95) ~[elasticsearch-5.3.2.jar:5.3.2]
elasticsearch_1  |      at org.elasticsearch.rest.BaseRestHandler.handleRequest(BaseRestHandler.java:64) ~[elasticsearch-5.3.2.jar:5.3.2]
elasticsearch_1  |      at org.elasticsearch.rest.RestController.dispatchRequest(RestController.java:260) ~[elasticsearch-5.3.2.jar:5.3.2]
elasticsearch_1  |      at org.elasticsearch.rest.RestController.dispatchRequest(RestController.java:199) [elasticsearch-5.3.2.jar:5.3.2]
elasticsearch_1  |      at org.elasticsearch.http.netty4.Netty4HttpServerTransport.dispatchRequest(Netty4HttpServerTransport.java:505) [transport-netty4-5.3.2.jar:5.3.2]
elasticsearch_1  |      at org.elasticsearch.http.netty4.Netty4HttpRequestHandler.channelRead0(Netty4HttpRequestHandler.java:72) [transport-netty4-5.3.2.jar:5.3.2]
elasticsearch_1  |      at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [netty-transport-4.1.7.Final.jar:4.1.7.Final]
elasticsearch_1  |      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) [netty-transport-4.1.7.Final.jar:4.1.7.Final]
elasticsearch_1  |      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) [netty-transport-4.1.7.Final.jar:4.1.7.Final]
elasticsearch_1  |      at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341) [netty-transport-4.1.7.Final.jar:4.1.7.Final]
elasticsearch_1  |      at org.elasticsearch.http.netty4.pipelining.HttpPipeliningHandler.channelRead(HttpPipeliningHandler.java:63) [transport-netty4-5.3.2.jar:5.3.2]
elasticsearch_1  |      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) [netty-transport-4.1.7.Final.jar:4.1.7.Final]
elasticsearch_1  |      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) [netty-transport-4.1.7.Final.jar:4.1.7.Final]
elasticsearch_1  |      at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341) [netty-transport-4.1.7.Final.jar:4.1.7.Final]
elasticsearch_1  |      at org.elasticsearch.http.netty4.cors.Netty4CorsHandler.channelRead(Netty4CorsHandler.java:76) [transport-netty4-5.3.2.jar:5.3.2]
(snip)

What is the expected result? (期待される動作)

  • no error occurs.

Note

  • This stacktrace is equal to the below issue?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.