TiddlyWiki
TiddlyWiki is a personal wiki and a non-linear notebook for organising and sharing complex information.
License
TiddlyWiki is published under a permissive BSD 3-Clause License.
Prerequisites
If you want to use TiddlyWiki with your own domain you need to setup your domain first:
[isabell@stardust ~]$ uberspace web domain list
isabell.uber.space
[isabell@stardust ~]$
Installation
Install the Node package
TiddlyWiki is installed via Nodes package manager npm:
[isabell@stardust ~]$ npm install -g tiddlywiki
[...]
+ tiddlywiki@5.1.23
added 1 package from 1 contributor in 5.102s
[isabell@stardust ~]$
Check if TiddlyWiki is installed by typing:
[isabell@stardust ~]$ tiddlywiki --version
5.1.23
[isabell@stardust ~]$
Create a new wiki
The following commands creates a folder in your home directory for TiddlyWiki. After that, a new wiki folder (named mynewwiki
in this example) containing server-related components is created.
[isabell@stardust ~]$ mkdir tiddlywiki
[isabell@stardust ~]$ cd tiddlywiki
[isabell@stardust tiddlywiki]$ tiddlywiki mynewwiki --init server
Copied edition 'server' to mynewwiki
[isabell@stardust tiddlywiki]$ ls
mynewwiki
[isabell@stardust tiddlywiki]$
Setup a web backend
Note
TiddlyWiki is running on port 8080.
To make the application accessible from the outside, configure a web backend:
[isabell@stardust ~]$ uberspace web backend set / --http --port <port>
Set backend for / to port <port>; please make sure something is listening!
You can always check the status of your backend using "uberspace web backend list".
[isabell@stardust ~]$
Configure permissions
By default, anonymous users can read and edit the tiddlers.
To restrict the permissions, add a users file named myusers.csv
into the tiddlywiki folder:
[isabell@stardust ~]$ cd tiddlywiki
[isabell@stardust tiddlywiki]$ touch myusers.csv
Use your favorite editor to add a comma separated list of usernames and passwords (as cleartext) into the created file. The first header row username,password
must be added.
username,password
jane,do3
andy,sm1th
roger,m00re
You can assign the users to the group readers
(reading access only) or to the group writers
(writing access) in the service configuration (see next step).
Setup TiddlyWiki as service
You should set up a service that keeps TiddlyWiki alive while you are gone. Create the file ~/etc/services.d/tiddlywiki.ini
with the following content:
[program:tiddlywiki]
command=tiddlywiki %(ENV_HOME)s/tiddlywiki/mynewwiki --listen host=0.0.0.0 credentials=%(ENV_HOME)s/tiddlywiki/myusers.csv readers=jane,andy writers=andy
autostart=true
autorestart=true
stopsignal=INT
After creating the configuration, tell supervisord to refresh its configuration and start the service:
[isabell@stardust ~]$ supervisorctl reread
SERVICE: available
[isabell@stardust ~]$ supervisorctl update
SERVICE: added process group
[isabell@stardust ~]$ supervisorctl status
SERVICE RUNNING pid 26020, uptime 0:03:14
[isabell@stardust ~]$
If it’s not in state RUNNING, check your configuration.
Access your TiddlyWiki
Now point your Browser to your installation URL https://isabell.uber.space
.
Update
Note
Check the update feed regularly to stay informed about the newest version.
Use the npm tool to update the TiddlyWiki installation:
[isabell@stardust ~]$ supervisorctl stop tiddlywiki
tiddlywiki: stopped
[isabell@stardust ~]$ npm update -g tiddlywiki
[...]
[isabell@stardust ~]$ supervisorctl start tiddlywiki
tiddlywiki: started
[isabell@stardust ~]$
Backup
Backup the following directories:
~/tiddlywiki/
Debugging
In case of problems, the log file ~/logs/supervisord.log
is the first point for you.
Moreover, the tiddlywiki
binary offers the --verbose
parameter.
Tested with TiddlyWiki 5.1.23, Uberspace 7.9.0.0
Written by: GodMod <godmod@eqdkp-plus.eu>