Deploy TiddlyWiki

Personal web notebook that stores notes as small linked cards

Deploy TiddlyWiki

Just deployed

/data

Deploy and Host TiddlyWiki on Railway

TiddlyWiki is a personal web notebook that stores everything as small linked notes called tiddlers rather than pages in folders. Jeremy Ruston released it in 2004 and rewrote it as TiddlyWiki 5 in 2013; it is still actively developed under a BSD licence. People run it as a zettelkasten, a project journal or a bug tracker, because any tiddler can be transcluded into another and pulled back out with a filter. That answers the problem every note app hits: something written for one purpose belongs somewhere else too.

Deploy TiddlyWiki on Railway and you get the Node.js client-server edition rather than the single-file version, so the browser saves each edit straight to the server the moment you click the tick. This template runs one service, tiddlywiki, built from github.com/gridalpha/tiddlywiki-railway on top of the official tiddlywiki npm package. A volume is mounted at /data, the wiki folder lives at /data/wiki, and every tiddler is written there as its own plain-text file. A small companion process in the same container answers the platform health check, so the wiki itself can stay behind a password. Self-host TiddlyWiki this way and there is no database to run and no external storage to wire up.

Diagram of the TiddlyWiki service and its volume on Railway

Getting Started with TiddlyWiki on Railway

Open the generated Railway domain and the browser asks for a username and password before showing anything. The username is admin unless you changed TW_USERNAME, and the password is whatever TW_PASSWORD holds — the template generates one at deploy time, so copy it from the Variables tab or set your own there. There is no registration screen and no default credential to change afterwards: a TiddlyWiki server has exactly one account.

The wiki opens on a short Getting started note. Click + at the top of the sidebar to create your first tiddler, give it a title, type some text and click the tick; the cloud icon turns solid once the server has confirmed the write. Test that round trip first: it proves the volume is mounted and writable. Sidebar search finds notes by title or full text, and $:/ControlPanel behind the gear icon renames the wiki, switches palette and installs plugins. Link notes by typing [[Another note]] anywhere — that is the whole mechanism, and everything else is built on it.

Two TiddlyWiki notes open in the story river Editing a TiddlyWiki note with the formatting toolbar TiddlyWiki sidebar search matching two notes

About Hosting TiddlyWiki

TiddlyWiki is a wiki you can reprogram from inside itself. Notes, configuration, themes and the interface are all tiddlers, so a filter that lists notes works identically on the toolbar buttons. People self-host it for that flexibility, and because one text file per note means nothing is locked in.

  • Transclusion — write a fact once, pull it into as many notes as you like
  • Filters — a small query language driving lists, tag clouds and dashboards
  • Wikitext or Markdown — the Markdown plugin ships in the box
  • Plugin library — KaTeX maths, CodeMirror editing, highlighting and maps, installed from inside the app
  • Themes and palettes — restyle the wiki from the Control Panel
  • Plain-file storage — each tiddler is a .tid file you can grep, diff or commit

The architecture is deliberately small. The tiddlywiki service runs TiddlyWiki's own Node.js server, serving the wiki over HTTP and writing each save to the attached volume. Because that server treats the wiki folder as its single source of truth, the deployment runs one replica by design, with no second writer to disagree with the first.

Why Deploy TiddlyWiki on Railway

Railway removes the parts of self-hosting that have nothing to do with writing.

  • HTTPS and a public domain are issued automatically
  • The volume persists your wiki folder across every redeploy
  • The health check watches the wiki, not just the container
  • Password protection is on from the first request
  • Deploys build from a public repository, so upgrades are one click
  • Usage-based billing suits a service that idles most of the day

Common Use Cases

  • Personal knowledge base — link atomic notes and let the connections organise them
  • Project or research journal — entries tagged by project, with filters producing per-project views
  • Team reference wiki — runbooks and onboarding notes on one password-protected URL
  • Structured lists — reading lists, recipes or contacts built from tiddler fields

Dependencies for TiddlyWiki

  • tiddlywiki (npm) — the application, installed at the 5.x major from the official package
  • node:22-bookworm-slim — the base image the service builds on
  • A Railway volume — mounted at /data, holding the wiki folder

TiddlyWiki has no database, cache or object-storage dependency; its persistence layer is the filesystem. That is why the volume is the one thing the template cannot do without.

Environment Variables Reference

VariableDefaultWhat it does
TW_USERNAMEadminThe single account that can read and write the wiki
TW_PASSWORDgeneratedThat account's password; set your own to choose it
TW_SITE_TITLEMy TiddlyWikiWiki title, applied on the first boot only
TW_READERSemptySet to (anon) to publish a read-only wiki
TW_GZIPyesCompress responses; the payload drops to about 500 KB
TW_PATH_PREFIXemptyServe the wiki under a sub-path

TW_SITE_TITLE and TW_SITE_SUBTITLE seed tiddlers when the wiki folder is created and are ignored afterwards, so the Control Panel renames an existing wiki.

Deployment Dependencies

Hardware Requirements for Self-Hosting TiddlyWiki

ResourceMinimumRecommended
CPU0.5 vCPU1 vCPU
RAM256 MB512 MB
Storage1 GB volume5 GB volume
RuntimeNode.js 20+Node.js 22

TiddlyWiki holds the whole wiki in memory, so RAM scales with how much you have written rather than with traffic. A few thousand text notes fit inside 512 MB; storage is dominated by images you paste in.

Self-Hosting TiddlyWiki

TiddlyWiki installs as a global npm package. These commands create a wiki folder and start the server with a password:

npm install -g tiddlywiki
tiddlywiki mywiki --init server
tiddlywiki mywiki --listen host=0.0.0.0 port=8080 username=admin password=changeme

--listen takes name=value pairs rather than flags: gzip=yes, readers=(anon) to let anyone read while only you write, path-prefix=/wiki. In a container the Dockerfile is three instructions:

FROM node:22-bookworm-slim
RUN npm install -g tiddlywiki
CMD ["tiddlywiki", "/data/wiki", "--listen", "host=0.0.0.0", "port=8080"]

Mount a volume at /data and back it up by copying /data/wiki — ordinary text, so git works well.

How Much Does TiddlyWiki Cost to Self-Host?

TiddlyWiki is free and open source under the BSD 3-Clause licence, with no paid tier, seat limits or feature gating, and every plugin in the official library is free too. The only cost on Railway is infrastructure: a small container that idles most of the day, plus the volume holding your notes. Unlike a subscription, it does not cost more as you write more.

FAQ

What is TiddlyWiki?

An open-source personal web notebook built around tiddlers — small, individually addressable notes that link to and embed each other. It runs either as a single HTML file or, as here, a Node.js server.

What does this Railway template deploy?

One service running TiddlyWiki's Node.js server, with a volume at /data holding the wiki folder. There is no database or supporting service to configure, and the wiki is password-protected from the first request.

Why does the template include a volume instead of a database?

TiddlyWiki's storage format is one plain-text file per note in a wiki folder, and the volume is that folder. Without it your notes would vanish on the next deploy, since a container's filesystem is discarded each time.

How do I sign in to my self-hosted TiddlyWiki?

The browser prompts for HTTP basic auth on the first request. Use TW_USERNAME, which defaults to admin, and the password in TW_PASSWORD, which the template generates at deploy time and shows in the Variables tab.

Can I make my TiddlyWiki public to read but private to edit?

Yes. Set TW_READERS to (anon) and redeploy. Anonymous visitors can then read every note while writes still require your password.

How do I back up or migrate a self-hosted TiddlyWiki?

Copy the /data/wiki directory. It holds one .tid file per note plus a tiddlywiki.info manifest, so it can go into git or another TiddlyWiki server unchanged. TiddlyWiki 5 has one set of credentials rather than per-user logins, so several editors share the single account.


Template Content

More templates in this category

View Template
Libredesk - Complete Setup
Complete self-hosted omnichannel customer support desk.

codestorm
1
View Template
Paperless-ngx
Paperless-ngx — document management with OCR and full-text search

INAPP
1
View Template
Instatic CMS - Postgres
Design, build and manage powerful static sites from state-of-the-art CMS

Instatic
160