by weseek


Demo Site


wercker status dependencies status devDependencies Status docker pulls


Quick Start for Production

Using Heroku

  1. Go to
  2. (Optional) Input INSTALL_PLUGINS to install plugins

Using docker-compose

git clone growi
cd growi
docker-compose up

See also weseek/growi-docker-compose


Migration Guide from Crowi is here.


  • node 8.x (DON'T USE 9.x)
  • npm 6.x
  • yarn
  • MongoDB 3.x

See confirmed versions.

Optional Dependencies

How to start

Build and run the app

git clone
cd growi
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
npm start

For more info, see Developers Guide and Crowi documents.

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
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


yarn add growi-plugin-lsx
npm start

For more info, see Developers Guide on Wiki.

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: aws (default), local, none
  • 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)
    • 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_ENTRY_POINT: IdP entry point
    • SAML_ISSUER: Issuer string to supply to IdP
    • SAML_CERT: PEM-encoded X.509 signing certificate string to validate the response from IdP



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.


for GROWI system

We have the Transifex Project for GROWI.
Please join to our team!

for documents

We have Gitbook site, but currently Gitbook doesn't support Multi-langage.

We have to wait until it is implemented.

Language on GitHub

You can write issues and PRs in English or Japanese.


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


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