The wiki that loads pages in a blink.
A Markdown-based wiki, based around speed and simplicity.
Recordkeeper was designed for the Not-yet-named Server, a Minecraft SMP. The name is inspired by the idea of a keeper of stories from eras past, or if you're so inclined, the history buff employee at the local library. This software is meant to be lightweight and ✨fast✨, while still providing the basic features needed for a public wiki.
Installing Recordkeeper is very simple.
Docker is the easiest way to install Recordkeeper on your server.
Copy the following Compose file to your server or computer, and name it compose.yaml:
services:
recordkeeper:
image: ghcr.io/aelithron/recordkeeper:latest
container_name: recordkeeper
environment:
WEBEDITOR: false
WEBEDITOR_PASSWORD: "<Set a password here>"
ports:
- "3000:3000"
volumes:
- ./wiki:/app/wiki
restart: unless-stoppedThen, simply run docker compose up -d in the directory of the file, and continue to "After Installation" below.
Your wiki directory will be in the Compose file's directory.
Run the following command on your server or computer:
docker run -d \
--name recordkeeper \
-e WEBEDITOR=false \
-e WEBEDITOR_PASSWORD="<Set a password here>" \
-p 3000:3000 \
-v $(pwd)/wiki:/app/wiki \
--restart unless-stopped \
ghcr.io/aelithron/recordkeeper:latestThen, continue to "After Installation" below. Your wiki directory will be in your current directory.
This is my (ael's) personally preferred method for installing Recordkeeper!
- Download the
manifests.yamlfile. You can find it by clicking here, or in the repo (the link is just to the raw version of the one here in this repo). - Make any other needed changes for your setup, such as changing the storage location, setting a different Namespace, or increasing the number of replicas.
- Run the command
kubectl apply -f (location of your manifest).
Note: if you want to use Recordkeeper with Traefik on Kubernetes, feel free to dm me (
@aelithronon discord), i've already configured it but it's a bit too unique to put here.
Finally, continue to "After Installation" below. Your wiki directory is at /usr/share/recordkeeper/wiki by default.
Congrats on installing Recordkeeper! It will create a folder called wiki, which will store all of your Markdown files for wiki pages (location in your installation method's instructions). Also, the server exposes itself on port 3000 by default.
- Docker Note: DO NOT edit the right side of the volume mount, Recordkeeper won't be able to find your files! You can move the left side if you want, though.
- Kubernetes Note: DO NOT edit the
mountPathon the container spec! If you alter the storage method, make sure that the mountPath in the Pod is always/app/wiki, or Recordkeeper won't be able to find your files! You can alter the host location or storage method if you want, however.
If enabling the Web Editor, alter your installation method's Environment Variables to contain:
WEBEDITOR_PASSWORDset to a valid passwordWEBEDITORset totrue
If you are a Kubernetes user enabling the Web Editor: uncomment the Secret and set a (Base64-encoded) password. Also, make sure to set WEBEDITOR to "true" in the Deployment's spec.
- Downloader (simple script that compiles all of the pages and turns them into a zip file for the user)
- Enforce no subfolders (subfolders break the sidebar, so this will enforce the rule in the web editor API and make the sidebar ignore subfolders and their pages)
- Built-in image hosting (either by implementing my company's image server or a custom Recordkeeper image server)
- Unit testing (the project already contains Jest's infrastructure but doesn't yet have proper tests)
This project uses some Font Awesome and Twemoji icons throughout.
The phrase "The wiki that loads pages in a blink." is a marketing term, from when I noticed I could blink in roughly the same time it took for Recordkeeper to load a page. It requires that you are on a good connection, physically close to the server hosting Recordkeeper, and that the server also has a good connection and adequate CPU/RAM. However, due to our SSR-based loading for public pages as well as our low usage of React client components, we are one of (if not the) fastest wiki softwares out there.
if you want support or need to ask any questions, feel free to dm me! @aelithron on discord, i should respond fairly quickly!
(i put support at the bottom because the readme explains most things fine, though i don't mind dms, even for simple questions.)