Wiki.js logo

Wiki.js

Modern, extensible wiki engine for building and managing collaborative documentation

Alternative to: notion, confluence, gitbook, mediawiki


Wiki.js is a modern, lightweight, and powerful wiki application built on Node.js. Teams write and organize content in Markdown through a visual editor, manage structure and permissions from an extensive admin area, and authenticate with third-party providers like Google, GitHub, or Slack. Content is version-controlled and can sync with Git, making it a flexible, self-hosted alternative to hosted knowledge-base tools.

Wiki.js Docker Compose example

Self-host Wiki.js on your own server, homelab, or VPS starting from this Docker Compose example. It runs Wiki.js in Docker containers using the official postgres:15-alpine, requarks/wiki:2 images, with persistent volumes and automatic restarts preconfigured. Review the environment variables and adjust them to your setup, save the file as compose.yml (or docker-compose.yml), and start the stack with docker compose up -d.

services:
  db:
    image: postgres:15-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: "wiki"
      POSTGRES_USER: "wikijs"
      # Password for the PostgreSQL database user
      POSTGRES_PASSWORD: "wikijsrocks"
    volumes:
      - db_data:/var/lib/postgresql/data

  wiki:
    image: requarks/wiki:2
    depends_on:
      - db
    restart: unless-stopped
    environment:
      # Database driver used by Wiki.js
      DB_TYPE: "postgres"
      # Hostname of the database service
      DB_HOST: "db"
      # Port the database listens on
      DB_PORT: "5432"
      # Database user Wiki.js connects as
      DB_USER: "wikijs"
      # Password for the PostgreSQL database user
      DB_PASS: "wikijsrocks"
      # Name of the database Wiki.js uses
      DB_NAME: "wiki"

volumes:
  db_data:

Prefer a managed setup? WinterFlow installs, configures, and updates Wiki.js for you using this same Docker Compose configuration.