GROWI
Features
- Pluggable
- Features
- Create hierarchical pages with markdown
- Support Authentication with LDAP / Active Directory
- Slack Incoming Webhooks Integration
- Miscellaneous features
- Docker Ready
- Docker Compose Ready
- Support IE11 (Experimental)
Quick Start for Production
Using Heroku
- Go to https://heroku.com/deploy
- (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 upSee also weseek/growi-docker-compose
On-premise
Migration Guide from Crowi is here.
Dependencies
- node 8.x (DON'T USE 9.x)
- npm 5.x
- yarn
- MongoDB 3.x
See confirmed versions.
Optional Dependencies
- Redis 3.x
- ElasticSearch 5.x (needed when using Full-text search)
- CAUTION: Following plugins are required
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 startDO 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 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
yarn
npm startHow to install plugins
- Stop server if server is running
yarn addto install plugin ornpm installnpm startto build client app and start server
Examples
yarn add growi-plugin-lsx
npm startFor more info, see Developers Guide on Wiki.
Environment Variables
- Required
- MONGO_URI: URI to connect to MongoDB.
- Option
- NODE_ENV:
productionORdevelopment. - 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).
- PLANTUML_URI: URI to connect to PlantUML server.
- BLOCKDIAG_URI: URI to connect to blockdiag server.
- 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
- NODE_ENV:
- 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_GOOGLE_CALLBACK_URI: Google API callback URI for OAuth login (Set
https://${growi.host}/passport/google/callback) - OAUTH_GITHUB_CLIENT_ID: GitHub API client id for OAuth login
- OAUTH_GITHUB_CLIENT_SECRET: GitHub API client secret for OAuth login
- OAUTH_GITHUB_CALLBACK_URI: GitHub API callback URI for OAuth login (Set
https://${growi.host}/passport/github/callback)
Documentation
Contribution
For development
Build and Run the app
clonethis repositoryyarnto install all dependencies- DO NOT USE
npm install
- DO NOT USE
npm run buildto build client appnpm run serverto start the dev server- Access
http://0.0.0.0:3000
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.
Language
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.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

