|
|
@@ -0,0 +1,142 @@
|
|
|
+
|
|
|
+growi-docker
|
|
|
+===========
|
|
|
+
|
|
|
+[](https://app.wercker.com/project/byKey/592aa5cebb59c67c4c266ce1f33b6a7e) [](https://hub.docker.com/r/weseek/growi/) [](https://hub.docker.com/r/weseek/growi/) [](https://microbadger.com/images/weseek/growi)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+Supported tags and respective Dockerfile links
|
|
|
+------------------------------------------------
|
|
|
+
|
|
|
+* [`3.5.13`, `3.5`, `3`, `latest` (Dockerfile)](https://github.com/weseek/growi-docker/blob/v3.5.13/Dockerfile)
|
|
|
+* [`3.5.13-nocdn`, `3.5-nocdn`, `3-nocdn` (Dockerfile)](https://github.com/weseek/growi-docker/blob/v3.5.13/nocdn/Dockerfile)
|
|
|
+* [`3.4.7`, `3.4`, `3`, (Dockerfile)](https://github.com/weseek/growi-docker/blob/v3.4.7/Dockerfile)
|
|
|
+* [`3.4.7-nocdn`, `3.4-nocdn`, `3-nocdn` (Dockerfile)](https://github.com/weseek/growi-docker/blob/v3.4.7/nocdn/Dockerfile)
|
|
|
+
|
|
|
+
|
|
|
+What is GROWI?
|
|
|
+-------------
|
|
|
+
|
|
|
+GROWI is a team collaboration software and it forked from [crowi](https://github.com/weseek/crowi/crowi)
|
|
|
+
|
|
|
+see: [weseek/growi](https://github.com/weseek/growi)
|
|
|
+
|
|
|
+What is growi-docker?
|
|
|
+-------------------
|
|
|
+
|
|
|
+The GROWI official docker image for production use which concludes several official plugins.
|
|
|
+
|
|
|
+- [growi-plugin-lsx](https://www.npmjs.com/package/growi-plugin-lsx)
|
|
|
+- [growi-plugin-pukiwiki-like-linker](https://www.npmjs.com/package/growi-plugin-pukiwiki-like-linker)
|
|
|
+- [growi-plugin-attachment-refs](https://www.npmjs.com/package/growi-plugin-attachment-refs)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+Requirements
|
|
|
+-------------
|
|
|
+
|
|
|
+* MongoDB (>= 3.6)
|
|
|
+
|
|
|
+### Optional Dependencies
|
|
|
+
|
|
|
+* ElasticSearch (>= 6.6)
|
|
|
+ * Japanese (kuromoji) Analysis plugin
|
|
|
+ * ICU Analysis Plugin
|
|
|
+
|
|
|
+
|
|
|
+Usage
|
|
|
+-----
|
|
|
+
|
|
|
+```bash
|
|
|
+docker run -d \
|
|
|
+ -e MONGO_URI=mongodb://MONGODB_HOST:MONGODB_PORT/growi \
|
|
|
+ weseek/growi
|
|
|
+```
|
|
|
+
|
|
|
+and go to `http://localhost:3000/` .
|
|
|
+
|
|
|
+If you use ElasticSearch, type this:
|
|
|
+
|
|
|
+```bash
|
|
|
+docker run -d \
|
|
|
+ -e MONGO_URI=mongodb://MONGODB_HOST:MONGODB_PORT/growi \
|
|
|
+ -e ELASTICSEARCH_URI=http://ELASTICSEARCH_HOST:ELASTICSEARCH_PORT/growi \
|
|
|
+ weseek/growi
|
|
|
+```
|
|
|
+
|
|
|
+
|
|
|
+### docker-compose
|
|
|
+
|
|
|
+Using docker-compose is the fastest and the most convenient way to boot GROWI.
|
|
|
+
|
|
|
+see: [weseek/growi-docker-compose](https://github.com/weseek/growi-docker-compose)
|
|
|
+
|
|
|
+
|
|
|
+Environment Variables
|
|
|
+-------------------
|
|
|
+
|
|
|
+* **Required**
|
|
|
+ * MONGO_URI: URI to connect to MongoDB.
|
|
|
+* **Option**
|
|
|
+ * NODE_ENV: `production` OR `development`.
|
|
|
+ * PORT: Server port. default: `3000`
|
|
|
+ * ELASTICSEARCH_URI: URI to connect to Elasticearch.
|
|
|
+ * REDIS_URI: URI to connect to Redis (use it as a session store instead of MongoDB).
|
|
|
+ * PASSWORD_SEED: A password seed used by password hash generator.
|
|
|
+ * SECRET_TOKEN: A secret key for verifying the integrity of signed cookies.
|
|
|
+ * SESSION_NAME: The name of the session ID cookie to set in the response by Express. default: `connect.sid`
|
|
|
+ * FILE_UPLOAD: Attached files storage. default: `aws`
|
|
|
+ * `aws` : AWS S3 (needs AWS settings on Admin page)
|
|
|
+ * `mongodb` : MongoDB GridFS (Setting-less)
|
|
|
+ * `local` : Server's Local file system (Setting-less)
|
|
|
+ * `none` : Disable file uploading
|
|
|
+ * MAX_FILE_SIZE: The maximum file size limit for uploads (bytes). default: `Infinity`
|
|
|
+ * MONGO_GRIDFS_TOTAL_LIMIT: Total capacity limit of MongoDB GridFS (bytes). default: `Infinity`
|
|
|
+ * SAML_USES_ONLY_ENV_VARS_FOR_SOME_OPTIONS: If `true`, the system uses only the value of the environment variable as the value of the SAML option that can be set via the environment variable.
|
|
|
+ * PUBLISH_OPEN_API: Publish GROWI OpenAPI resources with [ReDoc](https://github.com/Rebilly/ReDoc). Visit `/api-docs`.
|
|
|
+ * FORCE_WIKI_MODE: Forces wiki mode. default: undefined
|
|
|
+ * `public` : Forces all pages to become public
|
|
|
+ * `private` : Forces all pages to become private
|
|
|
+ * undefined : Publicity will be configured by the admin security page settings
|
|
|
+ * FORMAT_NODE_LOG: If `false`, Output server log as JSON. defautl: `true` (Enabled only when `NODE_ENV=production`)
|
|
|
+* **Option to integrate with external systems**
|
|
|
+ * HACKMD_URI: URI to connect to [HackMD(CodiMD)](https://hackmd.io/) server.
|
|
|
+ * **This server must load the GROWI agent. [Here's how to prepare it](https://docs.growi.org/management-cookbook/integrate-with-hackmd).**
|
|
|
+ * HACKMD_URI_FOR_SERVER: URI to connect to [HackMD(CodiMD)](https://hackmd.io/) server from GROWI Express server. If not set, `HACKMD_URI` will be used.
|
|
|
+ * PLANTUML_URI: URI to connect to [PlantUML](http://plantuml.com/) server.
|
|
|
+ * BLOCKDIAG_URI: URI to connect to [blockdiag](http://http://blockdiag.com/) server.
|
|
|
+* **Option (Overwritable in admin page)**
|
|
|
+ * APP_SITE_URL: Site URL. e.g. `https://example.com`, `https://example.com:8080`
|
|
|
+ * LOCAL_STRATEGY_ENABLED: Enable or disable ID/Pass login
|
|
|
+ * LOCAL_STRATEGY_USES_ONLY_ENV_VARS_FOR_SOME_OPTIONS: Prioritize env vars than values in DB for some ID/Pass login options
|
|
|
+ * SAML_ENABLED: Enable or disable SAML
|
|
|
+ * SAML_USES_ONLY_ENV_VARS_FOR_SOME_OPTIONS: Prioritize env vars than values in DB for some SAML options
|
|
|
+ * SAML_ENTRY_POINT: IdP entry point
|
|
|
+ * SAML_ISSUER: Issuer string to supply to IdP
|
|
|
+ * SAML_ATTR_MAPPING_ID: Attribute map for id
|
|
|
+ * SAML_ATTR_MAPPING_USERNAME: Attribute map for username
|
|
|
+ * SAML_ATTR_MAPPING_MAIL: Attribute map for email
|
|
|
+ * SAML_ATTR_MAPPING_FIRST_NAME: Attribute map for first name
|
|
|
+ * SAML_ATTR_MAPPING_LAST_NAME: Attribute map for last name
|
|
|
+ * SAML_CERT: PEM-encoded X.509 signing certificate string to validate the response from IdP
|
|
|
+ * OAUTH_GOOGLE_CLIENT_ID: Google API client id for OAuth login.
|
|
|
+ * OAUTH_GOOGLE_CLIENT_SECRET: Google API client secret for OAuth login.
|
|
|
+ * OAUTH_GITHUB_CLIENT_ID: GitHub API client id for OAuth login.
|
|
|
+ * OAUTH_GITHUB_CLIENT_SECRET: GitHub API client secret for OAuth login.
|
|
|
+ * OAUTH_TWITTER_CONSUMER_KEY: Twitter consumer key(API key) for OAuth login.
|
|
|
+ * OAUTH_TWITTER_CONSUMER_SECRET: Twitter consumer secret(API secret) for OAuth login.
|
|
|
+
|
|
|
+Other Documentation
|
|
|
+--------------------
|
|
|
+
|
|
|
+* [GROWI Github wiki](https://github.com/weseek/growi/wiki)
|
|
|
+ * [Questions and Answers](https://github.com/weseek/growi/wiki/Questions-and-Answers)
|
|
|
+
|
|
|
+
|
|
|
+Issues
|
|
|
+------
|
|
|
+
|
|
|
+If you have any issues or questions about this image, please contact us through [GitHub issue](https://github.com/weseek/growi-docker/issues).
|
|
|
+
|