Deployment guide

TiddlyWiki

Overview

TiddlyWiki is an open-source, self-contained personal wiki and non-linear notebook. Instead of rigid pages, everything you write is captured as a small, individually addressable note called a tiddler. Tiddlers link, tag and transclude each other freely, so a knowledge base grows the way you think.

This SecureAnyCloud image runs TiddlyWiki's own built-in Node.js server (the tiddlywiki npm package, pinned to a stable release) as a dedicated tiddlywiki system user. Each tiddler is stored as a file under the server wiki folder at /var/lib/tiddlywiki/mywiki, and nginx fronts the server on port 80. TiddlyWiki's own HTTP Basic Authentication protects access, and a unique admin password is generated on the first boot of every VM. There is no default login.

What you get:

  • TiddlyWiki 5.4.x running on its built-in Node.js server as the tiddlywiki system user
  • Node.js 22 LTS preinstalled from the NodeSource apt repository
  • The TiddlyWiki notebook UI on :80, fronted by nginx
  • TiddlyWiki's built-in HTTP Basic Authentication requiring a per-VM credential for every read and write
  • A unique admin password generated on first boot and recorded in a root-only file
  • tiddlywiki.service and nginx.service as enabled, active systemd units
  • An unauthenticated /healthz endpoint for Azure Load Balancer health probes
  • 24/7 SecureAnyCloud support

Prerequisites

You need an active Azure subscription, an SSH key pair, and a VNet with a subnet in the target region.

Standard_B2s (2 vCPU / 4 GiB RAM) is a comfortable starting size, because TiddlyWiki is a lightweight single-user notebook server.

Configure the network security group (NSG) to allow inbound 22/tcp from your management network and 80/tcp. TiddlyWiki serves plain HTTP on port 80. For production, terminate TLS in front of it with your own domain and consider adding 443/tcp (see Maintenance).

Step 1 - Deploy from the Azure Marketplace

Sign in to the Azure Portal, choose Create a resource, search the Marketplace for TiddlyWiki by SecureAnyCloud, and select Create.

On the Basics tab, pick your subscription, resource group, region and size. Under Administrator account, choose SSH public key and paste your key. Under Inbound port rules, allow SSH (22) and HTTP (80).

Then select Review + create and Create.

Step 2 - Deploy from the Azure CLI

Accept the Marketplace terms once per subscription, then create the VM and open port 80.

# Accept the Marketplace terms once per subscription (required before the first CLI deploy)
az vm image terms accept --urn sac1647283583153:tiddlywiki-ubuntu-24-04:default:latest
az vm create \
  --resource-group <your-rg> \
  --name tiddlywiki \
  --image sac1647283583153:tiddlywiki-ubuntu-24-04:default:latest \
  --size Standard_B2s \
  --admin-username azureuser \
  --ssh-key-values ~/.ssh/id_ed25519.pub \
  --vnet-name <your-vnet> --subnet <your-subnet> \
  --public-ip-sku Standard
az vm open-port --resource-group <your-rg> --name tiddlywiki --port 80 --priority 1010

Step 3 - Connect to your VM

Connect over SSH as azureuser.

ssh azureuser@<vm-public-ip>

Step 4 - Confirm the services are running

Check the service states and the installed versions:

systemctl is-active tiddlywiki.service nginx.service tiddlywiki --version node --version

Both systemd units report active. tiddlywiki.service runs TiddlyWiki's Node.js server, bound to the loopback connector 127.0.0.1:8080. nginx.service fronts it on port 80.

Step 5 - Retrieve your login credentials

The appliance's access gate is TiddlyWiki's built-in HTTP Basic Auth, with the user admin. The password is generated on the first boot of your VM and written to a root-only file. Read it with sudo:

sudo cat /root/tiddlywiki-credentials.txt

The file contains TIDDLYWIKI_URL, TIDDLYWIKI_USERNAME and TIDDLYWIKI_PASSWORD. Store the password somewhere safe. It is the key to your wiki.

Step 6 - Confirm the health endpoint

nginx serves an unauthenticated health endpoint for load balancers and probes:

curl -s http://localhost/healthz

It returns ok. This endpoint never requires authentication, so it is safe for an Azure Load Balancer health probe.

Step 7 - Confirm the login password is enforced

Because a password is set on first boot, an unauthenticated request to the wiki is rejected with HTTP 401. Nobody reaches your notes without the password:

curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1/

It prints 401. A wrong password is also rejected with 401. Only the per-VM password from Step 5 returns 200:

curl -s -o /dev/null -w '%{http_code}\n' -u 'admin:<TIDDLYWIKI_PASSWORD>' http://127.0.0.1/

This prints 200. TiddlyWiki requires this credential for every read and every write, so the wiki is never world-readable or world-writable.

Step 8 - Sign in to your wiki

Browse to http://<vm-public-ip>/. Your browser prompts for HTTP Basic Auth credentials. Enter admin and the password from Step 5.

TiddlyWiki then loads its notebook view. The story river on the left shows your open tiddlers, starting with a GettingStarted note. The sidebar on the right gives you the new-tiddler, control panel and save controls, a search box, and the Open, Recent, Tools and More tabs.

Step 9 - Create and edit a note

Click the + (new tiddler) button at the top of the sidebar. TiddlyWiki opens an edit view. Give the note a title, add tags, and type its body with the formatting toolbar (bold, italic, headings, lists, links, images and more).

Click the check mark to save. The change is written straight back to the server wiki folder on your VM.

Step 10 - Search across your wiki

Type into the search box at the top of the sidebar to find tiddlers instantly. TiddlyWiki matches on titles and full text as you type and shows the results in a live dropdown. This is how you navigate a growing knowledge base without any folder hierarchy.

Step 11 - Adjust settings in the Control Panel

Open the Control Panel (the gear icon in the sidebar) to configure your wiki. You can set the title and subtitle, choose which tiddlers open at startup, and manage appearance and themes, plugins, saving and keyboard shortcuts. The Info tab confirms the running TiddlyWiki version and the admin sign-in username.

Step 12 - Confirm where your wiki is stored

Every tiddler is saved as a file under the server wiki folder on your VM, so your notes persist across reboots and are captured with the disk. List the folder:

sudo ls -la /var/lib/tiddlywiki/mywiki

You see the tiddlywiki.info server configuration and a tiddlers directory that holds one file per note. Back up /var/lib/tiddlywiki to preserve your whole wiki.

Maintenance

  • Login password: the Basic Auth password is generated on first boot and stored in /root/tiddlywiki-credentials.txt. To change it, run sudo sh -c 'printf "%s" "NEW_PASSWORD" > /var/lib/tiddlywiki/.tw-password' && sudo chown tiddlywiki:tiddlywiki /var/lib/tiddlywiki/.tw-password && sudo systemctl restart tiddlywiki.
  • Your wiki data: all notes live under /var/lib/tiddlywiki/mywiki/tiddlers, one file per tiddler. Back up /var/lib/tiddlywiki to preserve your content and password.
  • Upgrades: TiddlyWiki is installed globally via npm. To upgrade a running VM, run sudo npm install -g tiddlywiki@latest, then sudo systemctl restart tiddlywiki.
  • TLS: TiddlyWiki serves plain HTTP on port 80. Front it with TLS (for example certbot with your own domain) before running it in production.
  • Security patches: unattended-upgrades remains enabled, so the OS keeps receiving security updates automatically.
  • License: TiddlyWiki is BSD 3-Clause licensed. This image ships the open-source TiddlyWiki. The SecureAnyCloud charge covers packaging, security patching, image maintenance and support.

Support

SecureAnyCloud provides 24/7 expert support for this image. Contact sales@secureanycloud.com.

Deploy on Azure

Launch TiddlyWiki on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.

View this image

Need Help?

Our support team is available 24/7.

sales@secureanycloud.com

Deploy on Azure