Skip to content

pmario/MultiWikiServer

 
 

Repository files navigation

MultiWikiServer

Multiple users, multiple wikis for TiddlyWiki.

  • Bag & Recipe system for storing tiddlers.
  • User and Role management with ACL.
  • Multiple database engines supported, using Prisma.
  • Third-party OAuth and password-based login.

Flexible and Extendible

  • Plugins can add routes and hooks.
  • Abstractions everywhere, allowing flexibility.
  • The source code is fully typed and easy to navigate.
  • Admin endpoints can also be called from the CLI.

Most of these features are still in development.

How to run

The init command creates a new folder and installs what you need to get started.

  • npm init @tiddlywiki/mws@latest mws
  • cd mws
  • npm start

You can customize the defaults by modifying mws.run.mjs.

  • the server runs on port 5000. It does not use HTTPS by default, but you can enable it by specifying a key and cert.
  • A localpass.key file is created to hold the password keyfile. If this file changes, all passwords will need to be reset.
  • The data folder (wikiPath) is wiki by default.

The initial user created on first run has the username admin and password 1234.

If you run into trouble, or need help figuring something out, feel free to start a discussion. If you know what's wrong, you can also open an issue.

Updates

This is the process for updating to a new version of MWS.

  • Copy or zip your store folder to a safe backup folder.
  • npm install @tiddlywiki/mws@latest
  • Run npm start. This will update the database schema automatically if there are new changes.

If there are any database changes, MWS should pick them up and apply them. The changes are generated by prisma's builtin migration and are supposed to preserve data, but backups are still highly recommended.

Development

If you want to work on the project,

  • git clone https://github.com/TiddlyWiki/MultiWikiServer
  • npm install or npm run install-android
  • cd react-user-mgmt
  • npm install
  • cd ..
  • npm run certs - if you want https
  • npm start - this runs the build and test every time, but it's pretty fast

You can change the listeners as explained in the mws.dev.mjs file.

About

Multiple Users, Multiple Wikis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 63.9%
  • JavaScript 32.4%
  • CSS 3.3%
  • Other 0.4%