An efficient web server for TiddlyWikis.

Overview

Tiddlywiki Server

Contributor Covenant Matrix Join the chat at https://gitter.im/tiddly-wiki-server/community

This is a web backend for TiddlyWiki. It uses TiddlyWiki's web server API to save tiddlers in a [SQLite database]. It should come with a slightly altered empty TiddlyWiki that includes an extra tiddler store (for saved tiddlers) and the $:/plugins/tiddlywiki/tiddlyweb plugin (which is necessary to make use of the web backend).

Motivation

TiddlyWiki 5 has a NodeJS based webserver that re-uses much of the front-end JavaScript for maximum compatibility. However, this server needs about 70 MB of memory to start, and can easily consume 100 MB or more. This is fine for running on a workstation, but a cheap VPS quickly gets crowded running services of this size.

In rudimetnary benchmarks it looks like tiddly-wiki-server uses about 10 MB of memory (with no optimizations), which I find much more manageable.

Setup

To create a Tiddlywiki backed by this server:

  1. Build or install the executable on your server (e.g. by checking out the repo and running cargo install --path .).
  2. Set up the directory you want to run the server in: a. Copy the empty.html.template file into the directory. b. Create a files/ folder to hold [static files].
  3. Run tiddly-wiki-server.

Contributing

The most valuable way to contribute to this project is currently testing: try to setup a Tiddlywiki with it and see if it behaves the way you'd expect. The server aims to have feature parity with the first-party NodeJS backend; any discrepancy is a potential bug, which I'd be very grateful to have reported!

Code of Conduct

Contributors are expected to abide by the Contributor Covenant.

You might also like...
A multiplayer web based roguelike built on Rust and WebRTC
A multiplayer web based roguelike built on Rust and WebRTC

Gorgon A multiplayer web-based roguelike build on Rust and WebRTC. License This project is licensed under either of Apache License, Version 2.0, (LICE

A telnet chat server written in Rust, running on Lunatic.
A telnet chat server written in Rust, running on Lunatic.

Lunatic.chat A telnet chat server written in Rust, running on Lunatic. If you just would like to try it out, join the hosted version with: # US server

server security proxy write by Rust

server-security-proxy server security proxy write by Rust how to use config toml file

Imagine your SSH server only listens on an IPv6 address, and where the last 6 digits are changing every 30 seconds as a TOTP code...

tosh Imagine your SSH server only listens on an IPv6 address, and where the last 6 digits are changing every 30 seconds as a TOTP code... Inspired fro

A working demo of RustDesk server implementation

A working demo of RustDesk server implementation This is a super simple working demo implementation with only one relay connection allowed, without NA

A Matrix Server Stats bot
A Matrix Server Stats bot

A bot running trough the matrix network to find all rooms.

A standalone libp2p rendezvous server binary.

Standalone Rendezvous Server A standalone libp2p rendezvous server binary. Usage Run the rendezvous_server: rendezvous_server --secret-file PATH-TO-S

Lightning Optimizing Opening Server

Lightning Optimizing Opening Server (loptoš ~ naughty boy/brat/hooligan/..., not to be confused with lopta == ball) WARNING: ULTRA-EXPERIMENTAL SOFTWA

pam-send-slack-message is a program that publishes messages on slack when a linux server is accessed through ssh.

pam-send-slack-message pam-send-slack-message is a program that publishes messages on slack when the linux server is accessed through ssh. Installatio

Comments
  • Explain differences from standard TiddlyWiki

    Explain differences from standard TiddlyWiki

    The readme mentions:

    It should come with a slightly altered empty TiddlyWiki that includes an extra tiddler store (for saved tiddlers)

    What does this mean?. I can see the empty.html.template ... But there is no info what has been changed.

    From my point of view it shouldn't be needed at all. It would be nice if the server would work with a default wiki.

    documentation 
    opened by pmario 13
  • Add a Gitter chat badge to README.md

    Add a Gitter chat badge to README.md

    nathanielknight/tiddly-wiki-server now has a Chat Room on Gitter

    @nathanielknight has just created a chat room. You can visit it here: https://gitter.im/tiddly-wiki-server/community.

    This pull-request adds this badge to your README.md:

    Gitter

    If my aim is a little off, please let me know.

    Happy chatting.

    PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

    opened by gitter-badger 0
Releases(v0.1.0)
Owner
Nathaniel Knight
Nathaniel Knight
Multithreaded Web Server Made with Rust

Multithreaded Web Server Made with Rust The server listens for TCP connections at address 127.0.0.1:7878. Several pages can be accessed: 127.0.0.1:787

null 2 May 28, 2022
axum-server is a hyper server implementation designed to be used with axum framework.

axum-server axum-server is a hyper server implementation designed to be used with axum framework. Features Conveniently bind to any number of addresse

null 60 Sep 23, 2022
Jex Compiler Server - Server that runs Jex code

Server that compiles and runs Jex code.

furetur 3 Nov 18, 2021
Dav-server-rs - Rust WebDAV server library. A fork of the webdav-handler crate.

dav-server-rs A fork of the webdav-handler-rs project. Generic async HTTP/Webdav handler Webdav (RFC4918) is defined as HTTP (GET/HEAD/PUT/DELETE) plu

messense 24 Sep 13, 2022
A versatile and efficient proxy framework with nice features suitable for various use cases.

A versatile and efficient proxy framework with nice features suitable for various use cases.

null 1.4k Sep 23, 2022
A fast, stable, efficient, and lightweight intranet penetration, port forwarding tool supports multiple connections, cascading proxy, and transmission encryption

A fast, stable, efficient, and lightweight intranet penetration, port forwarding tool supports multiple connections, cascading proxy, and transmission encryption

editso 1.1k Sep 19, 2022
♻ A simple and efficient Gemini-to-HTTP proxy written in Rust.

September A simple and efficient Gemini-to-HTTP proxy written in Rust. Usage Docker $ docker run -d [ -e ROOT="gemini://fuwn.me" ] [ -e PORT="8080"] [

GemRest 10 Jul 2, 2022
Rust crate for configurable parallel web crawling, designed to crawl for content

url-crawler A configurable parallel web crawler, designed to crawl a website for content. Changelog Docs.rs Example extern crate url_crawler; use std:

Pop!_OS 56 Aug 22, 2021
MASQ Network 112 Sep 12, 2022
Crusty - polite && scalable broad web crawler

Broad web crawling is an activity of going through practically boundless web by starting from a set of locations(urls) and following outgoing links. Usually it doesn't matter where you start from as long as it has outgoing links to external domains.

Sergey F. 63 Sep 16, 2022