Skip to content
This repository has been archived by the owner on Dec 26, 2019. It is now read-only.
/ growi-docker Public archive

⚓ growi-docker - The repos to build docker image of GROWI

License

Notifications You must be signed in to change notification settings

weseek/growi-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚠️ DEPRECATED

The files to generate the official GROWI docker images are now hosted in here.

growi-docker

wercker status docker-build-automated docker-pulls

GROWI-x-docker

Supported tags and respective Dockerfile links

What is GROWI?

GROWI is a team collaboration software and it forked from crowi

see: weseek/growi

What is growi-docker?

The GROWI official docker image for production use which concludes several official plugins.

Requirements

  • MongoDB (>= 3.6)

Optional Dependencies

  • ElasticSearch (>= 6.6)
    • Japanese (kuromoji) Analysis plugin
    • ICU Analysis Plugin

Usage

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:

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

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. 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) 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
    • 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

Issues

If you have any issues or questions about this image, please contact us through GitHub issue.