Wiki.js | A modern and powerful wiki app built on Node.js

NGPixel 46fb25c1e9 feat: admin blocks page + lazy load blocks + block-index 1 yıl önce
.devcontainer fc7c24c63f feat: blocks (wip) 1 yıl önce
.github fc7c24c63f feat: blocks (wip) 1 yıl önce
.vscode 102c23ec1e feat: locale system groundwork + various improvements 2 yıl önce
blocks 46fb25c1e9 feat: admin blocks page + lazy load blocks + block-index 1 yıl önce
dev fc7c24c63f feat: blocks (wip) 1 yıl önce
server 46fb25c1e9 feat: admin blocks page + lazy load blocks + block-index 1 yıl önce
ux 46fb25c1e9 feat: admin blocks page + lazy load blocks + block-index 1 yıl önce
.editorconfig d9dbd0f62f feat: login screen UI + server code cleanup 3 yıl önce
.eslintrc.yml 102c23ec1e feat: locale system groundwork + various improvements 2 yıl önce
.gitattributes e1f8bf59f5 fix: sidebar display 6 yıl önce
.gitignore e89f304ddb fix: handle missing locale strings files 2 yıl önce
LICENSE 5bec7ff5c5 Initial commit 9 yıl önce
README.md 5a8d95ee0c feat: editor pending asset uploads (wip) 2 yıl önce
config.sample.yml 5a60fb11b5 fix: various auth improvements + other fixes 1 yıl önce
localazy.json 102c23ec1e feat: locale system groundwork + various improvements 2 yıl önce

README.md

Wiki.js [![License](https://img.shields.io/badge/license-AGPLv3-blue.svg?style=flat)](https://github.com/requarks/wiki/blob/master/LICENSE) [![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-green.svg?style=flat&logo=javascript&logoColor=white)](http://standardjs.com/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/ngpixel?logo=github&color=ea4aaa)](https://github.com/users/NGPixel/sponsorship) [![Open Collective backers and sponsors](https://img.shields.io/opencollective/all/wikijs?label=backers&color=218bff&logo=opencollective&logoColor=white)](https://opencollective.com/wikijs) [![Chat on Slack](https://img.shields.io/badge/slack-requarks-CC2B5E.svg?style=flat&logo=slack)](https://wiki.requarks.io/slack) [![Twitter Follow](https://img.shields.io/badge/follow-%40requarks-blue.svg?style=flat&logo=twitter)](https://twitter.com/requarks) [![Reddit](https://img.shields.io/badge/reddit-%2Fr%2Fwikijs-orange?logo=reddit&logoColor=white)](https://www.reddit.com/r/wikijs/) [![Subscribe to Newsletter](https://img.shields.io/badge/newsletter-subscribe-yellow.svg?style=flat&logo=mailchimp)](https://blog.js.wiki/subscribe) ##### Next Generation Open Source Wiki

:red_square: :warning: :warning: :red_square:
THIS IS A VERY BUGGY, INCOMPLETE AND NON-SECURE DEVELOPMENT BRANCH!
USE AT YOUR OWN RISK! THERE'S NO UPGRADE PATH FROM THIS BUILD AND NO SUPPORT IS PROVIDED!
:red_square: :warning: :warning: :red_square:

The current stable release (2.x) is available at https://js.wiki


Using VS Code Dev Environment

Requirements

Usage

  1. Clone the project.
  2. Open the project in VS Code.
  3. Make sure you have Dev Containers extension installed. (On Windows, you need the WSL VS Code extension as well.)
  4. Reopen the project in container (from the popup in the lower-right corner of the screen when opening the project, or via the Command Palette (Ctrl+Shift+P or F1) afterwards).
  5. Once in container mode, make a copy of config.sample.yml and rename it to config.yml. There's no need to edit the file, the default values are ok.
  6. From the Command Palette, run the task "Create terminals":
    • Launch the Command Palette (Ctrl+Shift+P or F1)
    • Type Run Task and press Enter
    • Select the task "Create terminals" and press Enter
  7. Two terminals will launch in split-screen mode at the bottom of the screen. Server on the left and UX on the right.
  8. In the right-side terminal (UX), run the command:

    npm run build
    
  9. In the left-side terminal (Server), run the command:

    npm run start
    
  10. Open your browser to http://localhost:3000

  11. Login using the default administrator user:

    • Email: admin@example.com
    • Password: 12345678

DO NOT report bugs. This build is VERY buggy and VERY incomplete. Absolutely NO support is provided either.

Server Development

From the left-side terminal (Server), run the command:

npm run dev

This will launch the server and automatically restart upon modification of any server files.

Only precompiled client assets are served in this mode. See the sections below on how to modify the frontend and run in SPA (Single Page Application) mode.

Frontend Development

Make sure you are running npm run dev in the left-side terminal (Server) first! Requests still need to be forwarded to the server, even in SPA mode!

If you wish to modify any frontend content (under /ux), you need to start the Quasar Dev Server in the right-side terminal (UX):

npm run dev

You can then access the site at http://localhost:3001. Notice the port being 3001 rather than 3000. The app runs in a SPA (single-page application) mode and automatically hot-reload any modified component. Any requests made to the /graphql endpoint are automatically forwarded to the server running on port 3000, which is why both must be running at the same time.

Any change you make to the frontend will not be reflected on port 3000 until you run the command yarn build in the right-side terminal.

pgAdmin

A web version of pgAdmin (a PostgreSQL administration tool) is available at http://localhost:8000. Use the login dev@js.wiki / 123123 to login.

The server dev should already be available under Servers. If that's not the case, add a new one with the following settings:

  • Hostname: db
  • Port: 5432
  • Username: postgres
  • Password: postgres
  • Database: postgres

Generic Setup

Requirements

  • Node.js 18.x or later
  • PostgreSQL 11 or later

Usage

  1. Clone the project
  2. Make a copy of config.sample.yml and rename it to config.yml
  3. Edit config.yml and fill in the database details. You need an empty PostgreSQL database.
  4. Run the following commands to install dependencies and generate the client assets:

    cd server
    npm install
    cd ../ux
    npm install
    npm run build
    cd ..
    
  5. Run this command to start the server:

    node server
    
  6. In your browser, navigate to http://localhost:3000 (or the IP/hostname of the server and the PORT you defined earlier.)

  7. Login using the default administrator user:

    • Email: admin@example.com
    • Password: 12345678

DO NOT report bugs. This build is VERY buggy and VERY incomplete. Absolutely NO support is provided either.