Sen descrición

Yuki Takei 6cc7026ddc clean code %!s(int64=8) %!d(string=hai) anos
.github 9a326e38d6 replace "crowi-plus" with "GROWI" %!s(int64=8) %!d(string=hai) anos
bin 4eb3ba3f8d BugFix: render emoji with markdown-it-emoji %!s(int64=8) %!d(string=hai) anos
config 833b44571e show app url with eazy-logger %!s(int64=8) %!d(string=hai) anos
lib 095b7b75fb Merge remote-tracking branch 'origin/master' into rc/3.0.0 %!s(int64=8) %!d(string=hai) anos
local_modules a4ab794cd4 Use POSIX-style paths. %!s(int64=9) %!d(string=hai) anos
public 42af897a75 organize icons %!s(int64=8) %!d(string=hai) anos
resource 6cc7026ddc clean code %!s(int64=8) %!d(string=hai) anos
test f587250e0a # Feature/196, 198, 199 Grouping users %!s(int64=8) %!d(string=hai) anos
tmp b875cefd69 add tmp/plugins dir %!s(int64=9) %!d(string=hai) anos
.babelrc 48dbe895b2 Get rid of babel-preset-es2015 %!s(int64=8) %!d(string=hai) anos
.editorconfig 2d42c72e58 add .editorconfig %!s(int64=9) %!d(string=hai) anos
.eslintrc.js 6cc7026ddc clean code %!s(int64=8) %!d(string=hai) anos
.gitignore 22c5cd7f66 update .gitignore %!s(int64=8) %!d(string=hai) anos
.node-dev.json dc3af550d5 use node-dev and easy-livereload %!s(int64=9) %!d(string=hai) anos
CHANGES.md 261f961529 update docs %!s(int64=8) %!d(string=hai) anos
LICENSE 282f6c3101 Update LICENSE %!s(int64=8) %!d(string=hai) anos
Procfile dbc71db496 fix Procfile %!s(int64=8) %!d(string=hai) anos
README.md cd8031b8d7 update docs %!s(int64=8) %!d(string=hai) anos
THIRD-PARTY-NOTICES.md 9a326e38d6 replace "crowi-plus" with "GROWI" %!s(int64=8) %!d(string=hai) anos
app.js 9a326e38d6 replace "crowi-plus" with "GROWI" %!s(int64=8) %!d(string=hai) anos
app.json 095b7b75fb Merge remote-tracking branch 'origin/master' into rc/3.0.0 %!s(int64=8) %!d(string=hai) anos
package.json d801fec129 * release v-3.0.0-RC2 %!s(int64=8) %!d(string=hai) anos
webpack.config.js 750ea3d040 WIP: constructing webpack.common.config.js %!s(int64=9) %!d(string=hai) anos
wercker.yml 9a326e38d6 replace "crowi-plus" with "GROWI" %!s(int64=8) %!d(string=hai) anos
yarn.lock e9637eabfc fix eazy-logger %!s(int64=8) %!d(string=hai) anos

README.md

Crowi

Demo Site

crowi-plus Chat on Slack

wercker status dependencies status devDependencies Status docker pulls MIT License

crowi-plus is a fork of Crowi which is perfectly compatible with the official project.

Why crowi-plus?

  • Pluggable
  • Fast
    • Optimize client-side code chunks by Webpack
    • Optimize the performance when live preview
    • Adopt faster libs(date-fns, pino)
    • Using CDN
  • Secure
    • Prevent XSS (Cross Site Scripting)
    • Upgrade jQuery to 3.x and other insecure libs
    • The official Crowi status is dependencies Status devDependencies Status
  • Convenient
    • Support Authentication with LDAP / Active Directory
    • Slack Incoming Webhooks Integration
    • Miscellaneous features
  • Docker Ready
  • Docker Compose Ready
  • Support IE11 (Experimental)
  • Developer-friendly
    • Less compile time
    • LiveReload separately available by server/client code change
    • Exclude Environment-dependency (confirmed to be developable on Win/Mac/Linux)

Check out all additional features from here.

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/crowi-plus-docker-compose.git crowi-plus
cd crowi-plus
docker-compose up

See also weseek/crowi-plus-docker-compose

On-premise

Migration Guide from Official Crowi is here.

Dependencies

  • node 6.x (DON'T USE 7.x)
  • npm 4.x (DON'T USE 5.x)
  • yarn
  • MongoDB 3.x

See confirmed versions.

Optional Dependencies

How to start

Build and run the app

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

DO NOT USE npm install, use yarn instead.

If you launch crowi-plus with Redis and ElasticSearch, add environment variables before npm start like following:

export MONGO_URI=mongodb://MONGO_HOST:MONGO_PORT/crowi
export REDIS_URL=redis://REDIS_HOST:REDIS_PORT/crowi
export ELASTICSEARCH_URI=http://ELASTICSEARCH_HOST:ELASTICSEARCH_PORT/crowi
npm start

For more info, see Developers Guide and the official 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 start

How to install plugins

  • Stop server if server is running
  • yarn add to install plugin or npm install --save
    • Don't forget --save option if you use npm or crowi-plus doesn't detect plugins
  • npm start to build client app and start server

Examples

yarn add crowi-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
    • REDIS_URL: URI to connect to Redis (to session store).
    • SESSION_NAME: The name of the session ID cookie to set in the response by Express. default: connect.sid
    • ELASTICSEARCH_URI: URI to connect to Elasticearch.
    • PASSWORD_SEED: A password seed used by password hash generator.
    • SECRET_TOKEN: A secret key for verifying the integrity of signed cookies.
    • FILE_UPLOAD: aws (default), local, none

Documentation

Contribution

For development

Build and Run the app

  1. clone this repository
  2. yarn global add npm@4 to install required global dependencies
  3. yarn to install all dependencies
    • DO NOT USE npm install
  4. npm run build to build client app
  5. npm run server to start the dev server
  6. 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.