Self-host Wiki.js
A Node.js wiki with a modern admin area, Markdown and visual (WYSIWYG) editors, and a wide set of pluggable modules — local, social, and enterprise auth (LDAP, SAML, OIDC, CAS) with optional 2FA are all part of the free AGPL-3.0 build. It brings its own web server but no database: PostgreSQL is the recommended engine, and the other supported engines are slated to be dropped in the next major version.
Key facts
Pick Wiki.js when you want a Markdown-first wiki with a proper admin area and enterprise login — LDAP, SAML, OIDC, CAS and 2FA are all modules in the free AGPL-3.0 build, not an upsell. It ships as an official image and runs on the documented 1 GB floor, but it brings no database of its own: plan on a PostgreSQL container beside it and a dedicated subdomain in front of it.
Follow the Wiki.js deploy guide →What you need
- Any VPS with at least 1024 MB of RAM
- A domain you control — most self-hosted setups need HTTPS in front of them
- Under an hour if you've used Docker before
Paid link — we earn a commission if you shop through it.
Install
Run these commands on your server:
# Wiki.js — official image (ghcr.io/requarks/wiki:2) with PostgreSQL, from the docs' compose example
mkdir -p wikijs && cd wikijs
cat > docker-compose.yml <<'EOF'
services:
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: wiki
POSTGRES_PASSWORD: change-me
POSTGRES_USER: wikijs
restart: unless-stopped
volumes: ["db-data:/var/lib/postgresql/data"]
wiki:
image: ghcr.io/requarks/wiki:2
depends_on: [db]
init: true
environment:
DB_TYPE: postgres
DB_HOST: db
DB_PORT: 5432
DB_USER: wikijs
DB_PASS: change-me
DB_NAME: wiki
restart: unless-stopped
ports: ["80:3000"]
volumes:
db-data:
EOF
docker compose up -d # → http://SERVER_IP (the first visit runs the setup wizard: admin account + site URL)What you take on
Wiki.js is easy to run, but three things in its own documentation are worth reading before you commit: