/wiki

Wiki.js | A modern, lightweight and powerful wiki app built on NodeJS, Git and Markdown

Primary LanguageCSSGNU Affero General Public License v3.0AGPL-3.0

Wiki.js

Release License Backers on Open Collective Sponsors on Open Collective Downloads Docker Pulls
Build Status Codacy Badge Standard - JavaScript Style Guide Chat on Gitter Twitter Follow
Planning Board

A modern, lightweight and powerful wiki app built on NodeJS, Git and Markdown

Requirements

Wiki.js can run on virtually all platforms where Node.js can (Windows, Mac, Linux, etc.).

  • Node.js 6.11.1 or later
  • MongoDB 3.2 or later
  • Git 2.7.4 or later
  • An empty Git repository (optional)

Read the full prerequisites article for full details.

Docker / Cloud Install

A docker image is available on Docker Hub.
You can also use a Dockerfile (see example) or Docker Compose (see example) to run Wiki.js.
Docker Image

Deploy to Heroku using this pre-built deployment template:
Deploy to Heroku

Deploy to IBM Cloud Foundry using this pre-built deployment template (thanks to @seafre):
Deploy to IBM Cloud

Demo

The legacy Wiki.js documentation site is actually running Wiki.js! Check it out ยป

We do not provide a demo with write access because of potential security / spam issues. The best way to try it is to install it on your own server / computer. It's easy!

Milestones

Current and upcoming milestones (major features only, see the changelog for complete list of features and bug fixes):

๐Ÿ“‘ See project board to keep track of current progress.

1.0.102 - Stable

Progress

Note: As 2.0 is under development, no new features are being developed in the 1.0 branch.

  • Added: Open ID Connection provider (thanks to @sazulo)
  • Added: Turkish locale is now available (thanks to @MrSimsek)
  • Fixed: Paths in git commits are no longer escaped (thanks to @EricFromCanada)
  • Fixed: Fixed potential bug when uploading certain images (thanks to @Gnurdle)

2.0.0 - Dev

Progress

Goals:

  • Decouple front-end and back-end completely.
  • All operations and queries will be made via GraphQL API.
  • New fully responsive layout, with better customization capabilities.
  • Full localization support, especially for non-latin languages.
  • Modular approach to auth, editors, logging, search and storage.

Release Date: Q4 2018

Breaking Changes:

  • MongoDB is being phased out in favor of PostgreSQL/MySQL/MSSQL/SQLite + Redis. An upgrade tool will be provided to migrate existing data to the new system.
  • Node.js 10 LTS or later will be the minimum supported version.

2.0 Milestone:

  • GraphQL API
  • Migrate to Objection.js + Redis datastore
  • Telemetry for analytics and crash reporting (Optional and fully anonymized)
  • Docker support + Auto compile/publish to Docker Hub
  • Make use of all available CPU cores, distributed jobs queue
  • Modular authentication providers (+ new Auth0, Discord and Twitch providers)
  • Persist system settings to database instead of file-based
  • Shared kernel for both app and setup
  • Improved installation wizard
  • Modular logging providers
  • New Login page
  • Two-Factor Authentication (2FA)
  • New Navigation Concept
  • New Admin Area
    • UI
    • Locales
    • Manage Groups
    • Manage Users
    • Manage Authentication Strategies
    • Manage Editors
    • Manage Logging
    • Manage Navigation
    • Manage Rendering ๐Ÿš€
    • Manage Search Engines
    • Manage Storage Targets
    • System Info
    • Developer Tools
    • Contribute
  • New Cache Engine
  • Requarks Graph :octocat:
    • Countries
    • Locales + translations
  • Modular editors
    • Markdown editor
      • Core Editor
      • Live Preview
      • Toolbar
    • Operations
      • Create
      • Update
      • Move / Rename
      • Delete
    • Dialogs
      • Properties
      • Image + File Manager
  • Modular content parsers/renderers
    • Markdown
    • HTML
  • Modular search engines
    • DB
  • Modular storage engines
    • Git
    • Local Disk
  • Multilingual versions of the same page (i18n)
  • History / Revert to previous version ๐Ÿš€
  • User Groups + Better permissions management
  • Tags per document / folder

๐Ÿš€ = Currently in development

2.1 Milestone

  • Comments / Discussion per document
  • Profile page per user
  • Diagrams as code (Mermaid module)
  • Themes
  • Additional search engines
    • AWS CloudSearch
    • Algolia
    • Azure Search
    • Elasticsearch
    • Manticore Search
    • Solr
    • Sphinx Search
  • Additional storage engines
    • Dropbox
    • Google Drive
    • Amazon S3
    • Azure Blob Storage
    • DigitalOcean Spaces
    • Onedrive
    • Owncloud
    • SCP (SSH)
  • Modular Editor: TinyMCE (wysiwyg)
  • Kubernetes / Helm Installation

TBD Milestone

  • Better simultaneous user editing handling
  • High Availability support (multiple concurrent instances)

Gitter

Want to discuss features, ideas or issues? Join our gitter channel. We are very active and friendly!
Chat on Gitter

Twitter

Follow our Twitter feed to learn about upcoming updates and new releases!
Twitter Follow

T-Shirts Shop

Want to donate to this project but get something in return as well? Check out our amazing t-shirts for men, women and kids, as well as other goodies: Wiki.js Shop

Translations

We are looking for translators to make Wiki.js available in multiple languages. If your language is not listed below and would like to contribute to this project, contact us on our gitter channel and we'll provide you with the necessary tool to add translations, no coding required!

Languages that are already translated:

Special Thanks

Algolia
Algolia for providing access to their incredible search engine.

Browserstack
Browserstack for providing access to their great cross-browser testing tools.

Cloudflare
Cloudflare for providing their great CDN, SSL and advanced networking services.

DigitalOcean
DigitalOcean for providing hosting of the Wiki.js documentation site.

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! ๐Ÿ™ [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]