Fără Descriere

Yuki Takei 97b7585f9d Merge pull request #1081 from weseek/imprv/disable-grantselector-on-root-page 6 ani în urmă
.github d1f0f9ec84 Revert "GitBook: [master] 12 pages modified" 7 ani în urmă
.vscode 223b1a840d increase debugger timeout 7 ani în urmă
bin f7948641f7 fix shrink-emojione-strategy.js 7 ani în urmă
config f7dba51672 modify config.dev.js 6 ani în urmă
public ff7e96709d remove passport logo 6 ani în urmă
resource 78e72401a4 add & rename ldap.group_search_filter_detail[2-4] 6 ani în urmă
src 2e37fadecf add migration file 6 ani în urmă
tmp b875cefd69 add tmp/plugins dir 9 ani în urmă
.babelrc 92b1603939 add babel-plugin-transform-runtime to use async/await on client-side 7 ani în urmă
.editorconfig 2d42c72e58 add .editorconfig 9 ani în urmă
.eslintignore 986be23471 apply to src/client/js/util 7 ani în urmă
.eslintrc.js 267336d963 install jest 6 ani în urmă
.gitignore 579a1dd007 update .gitignore 7 ani în urmă
.prettierignore 2a9ccb8898 apply prettier-stylelint 7 ani în urmă
.prettierrc 4c699fe833 apply stylelint 7 ani în urmă
.stylelintrc.json 0cca8e3293 fix rule-empty-line-before for stylelint 7 ani în urmă
CHANGES.md 3421a8e39f update docs 6 ani în urmă
LICENSE 282f6c3101 Update LICENSE 8 ani în urmă
Procfile dbc71db496 fix Procfile 8 ani în urmă
README.md 79360fe4b3 update docs 6 ani în urmă
THIRD-PARTY-NOTICES.md 3f3b847f18 insert final newline 6 ani în urmă
app.json 9abd0794bc update heroku settings 7 ani în urmă
package.json c25bc0fe08 :+1: version and update docs 6 ani în urmă
wercker.yml cc1261fed9 organize wercker.yml 7 ani în urmă
yarn.lock deed0cf2b9 Merge remote-tracking branch 'origin/master' into fix/http-strategy 6 ani în urmă

README.md

Documentation / Demo

GROWI

wercker status dependencies status devDependencies Status docker pulls

Features

Quick Start for Production

Using Heroku

  1. Go to https://heroku.com/deploy
  2. (Optional) Input INSTALL_PLUGINS to install plugins

Using docker-compose

git clone https://github.com/weseek/growi-docker-compose.git growi
cd growi
docker-compose up

See also weseek/growi-docker-compose

On-premise

Migration Guide from Crowi is here.

Dependencies

  • Node.js v10.x (DON'T USE 11.x)
  • npm 6.x
  • yarn
  • MongoDB 3.x

See confirmed versions.

Optional Dependencies

How to start

Build and run the app

git clone https://github.com/weseek/growi.git
cd growi
yarn
MONGO_URI=mongodb://MONGO_HOST:MONGO_PORT/growi npm start

DO NOT USE npm install, use yarn instead.

If you launch growi with ElasticSearch, add environment variables before npm start like following:

export MONGO_URI=mongodb://MONGO_HOST:MONGO_PORT/growi
export ELASTICSEARCH_URI=http://ELASTICSEARCH_HOST:ELASTICSEARCH_PORT/growi
npm start

For more info, see Developers Guide.

Command details

|command|desc| |--|--| |npm run build:prod|Build the client| |npm run server:prod|Launch the server| |npm start|Invoke npm run build:prod and npm run server:prod|

How to upgrade

git pull
yarn
npm start

How to install plugins

  • Stop server if server is running
  • yarn add to install plugin or npm install
  • npm start to build client app and start server

Examples

yarn add growi-plugin-lsx
npm start

For more info, see Developers Guide on docs.growi.org.

Environment Variables

  • Required
    • MONGO_URI: URI to connect to MongoDB.
  • Option
    • NODE_ENV: production OR development.
    • PORT: Server port. default: 3000.
    • NO_CDN: If true, system doesn't use CDN, all resources will be downloaded from CDN when build client, and served by the GROWI Express server. default: false.
    • 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. Visit /api-docs.
  • Option to integrate with external systems
    • HACKMD_URI: URI to connect to HackMD(CodiMD) server.
    • HACKMD_URI_FOR_SERVER: URI to connect to HackMD(CodiMD) server from GROWI Express server. If not set, HACKMD_URI will be used.
    • PLANTUML_URI: URI to connect to PlantUML server.
    • BLOCKDIAG_URI: URI to connect to blockdiag server.
  • Option (Overwritable in admin page)
    • APP_SITE_URL: Site URL. e.g. https://example.com, https://example.com:8080
    • 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.
    • SAML_ENABLED: Enable or disable SAML
    • 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

Documentation

Contribution

Found a Bug?

If you found a bug in the source code, you can help us by submitting an issue to our GitHub Repository. Even better, you can submit a Pull Request with a fix.

Missing a Feature?

You can request a new feature by submitting an issue to our GitHub Repository. If you would like to implement a new feature, firstly please submit the issue with your proposal to make sure we can confirm it. Please clarify what kind of change you would like to propose.

  • For a Major Feature, firstly open an issue and outline your proposal so it can be discussed.
    It also allows us to coordinate better, prevent duplication of work and help you to create the change so it can be successfully accepted into the project.
  • Small Features can be created and directly submitted as a Pull Request.

Translation

We have some Transifex Projects.

Please join to our team!

Language on GitHub

You can write issues and PRs in English or Japanese.

Discussion

If you have questions or suggestions, you can join our Slack team and talk about anything, anytime.

License

  • The MIT License (MIT)
  • See LICENSE file.