I’ve always been fascinated by TiddlyWiki, which is considered a personal wiki and non-linear notebook (Wikipedia).

The main reason that was holding me back from using it was that every time I make changes, I would need to save it explicitly or use some browser extension.

I then discovered a very nice Tiddlywiki server on NodeJs (link).

I also wanted this to be password protected and this server provides simple and easy ways to do all that.

Installation

We start off with installing the npm package tiddlywiki globally.

$> npm install -g tiddlywiki

Initialization

Navigate to a folder and then initialize the wiki

$ ~/tiddlywiki > tiddlywiki . --init server

Create the crendentials csv file

Create a users.csv file in the same folder and have the following in it

username,password
yourusername,yourpassword

Note: there are no spaces in the two lines in the file above

Start server

Now the server can be started with the necessary parameters.

$ ~/tiddlywiki > tiddlywiki . --listen credentials=usres.csv "readers=(authenticated)" writers=yourusername

This will run the server by default on localhost:8080

Nginx config

To set up this behind Nginx, the config file is straightforward.

server {
  listen       80;
  server_name    notes.example.com;

  access_log     /var/log/nginx/notes.example.com.access.log combined;

  location / {
    proxy_pass   http://127.0.0.1:8080;
    proxy_set_header    Host       $host;
    proxy_set_header    X-Real-IP    $remote_addr;
    proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;
  }
}

Roam Research type Tiddlywiki

I discovered a Tiddlywiki which gives many more features than the traditional Tiddlywiki called RR-TW5, which has since become my wiki for daily use!