Wiki
Self-hosting

Quick start (Docker)

Get a running instance on localhost or a LAN in a few minutes.

Wiki is a self-hosted Docker Compose stack: web (:3001), server (:3000), collab (:1234) and postgres. There is no managed cloud target — you run it on your own host.

Only one hard requirement

Docker with the Compose plugin. Database migrations run automatically inside the stack (a one-shot migrate service) — no Node, pnpm, or Bun needed to install, update, or operate it.

The guided installer

git clone https://github.com/lucabmn/Wiki.git && cd Wiki
curl -fsSLo installer "https://github.com/lucabmn/Wiki/releases/latest/download/nilovon-wiki-installer-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m | sed 's/x86_64/x64/;s/aarch64/arm64/')"
chmod +x installer && ./installer      # → "Installieren"

The installer is a self-contained terminal wizard. It:

Generates strong secrets and writes the .env file.
Builds the images and starts the stack — migrations run automatically inside it.
Waits for the health checks to pass.

Then open http://localhost:3001 and register the first user — onboarding creates the first organization.

From a checkout with the dev toolchain, pnpm dev:tui runs the same wizard. See The installer.

Manual install (without the script)

cp .env.example .env    # fill in every required secret (DB, auth, and S3)
                        # generate each with: openssl rand -base64 48
docker compose up -d --build

Placeholder or low-entropy secrets are rejected at startup by design.

Convenience scripts

From the repository root:

pnpm docker:up      # build + start the full stack
pnpm docker:logs    # tail logs
pnpm docker:down    # stop

A note on cookies over plain HTTP

Plain-HTTP installs issue auth cookies with SameSite=Lax, so login also works on a LAN IP. TLS is only mandatory when the web app and API live on different registrable domains — that's the production path.

Next

On this page