Wiki.js
A modern, open-source wiki built on Node.js. Fast, feature-rich, and designed for teams.
yaml
docker-compose.yml
services:
db:
image: postgres:15-alpine
container_name: wikijs-db
environment:
POSTGRES_DB: ${POSTGRES_DB:-wiki}
POSTGRES_USER: ${POSTGRES_USER:-wikijs}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-wikijsrocks}
logging:
driver: none
restart: unless-stopped
volumes:
- db-data:/var/lib/postgresql/data
healthcheck:
test:
- CMD-SHELL
- pg_isready -U ${POSTGRES_USER:-wikijs} -d ${POSTGRES_DB:-wiki}
interval: 10s
timeout: 5s
retries: 5
networks:
- wikijs-net
wiki:
image: ghcr.io/requarks/wiki:2
container_name: wikijs
depends_on:
db:
condition: service_healthy
environment:
DB_TYPE: postgres
DB_HOST: db
DB_PORT: 5432
DB_USER: ${POSTGRES_USER:-wikijs}
DB_PASS: ${POSTGRES_PASSWORD:-wikijsrocks}
DB_NAME: ${POSTGRES_DB:-wiki}
restart: unless-stopped
ports:
- ${WIKI_HTTP_PORT:-3000}:3000
- ${WIKI_HTTPS_PORT:-3443}:3443
volumes:
- wiki-data:/wiki/data
- wiki-assets:/wiki/assets
healthcheck:
test:
- CMD-SHELL
- wget -qO- http://localhost:3000/healthz || exit 1
interval: 30s
timeout: 10s
retries: 3
networks:
- wikijs-net
volumes:
db-data:
name: wikijs-db-data
wiki-data:
name: wikijs-data
wiki-assets:
name: wikijs-assets
networks:
wikijs-net:
name: wikijs-net
driver: bridge
.ENV
.env example
# =============================================================================
# Wiki.js — Environment Variables
# =============================================================================
# ─── Database ────────────────────────────────────────────────────────────────
POSTGRES_DB=wiki
POSTGRES_USER=wikijs
POSTGRES_PASSWORD=wikijsrocks
# Example alternatives (commented):
POSTGRES_DB=mywiki
POSTGRES_USER=mywikijs
POSTGRES_PASSWORD=P@ssw0rd!2024
# ─── Network Ports ───────────────────────────────────────────────────────────
# Wiki.js HTTP port (maps to container port 3000)
WIKI_HTTP_PORT=3000
# Wiki.js HTTPS port (maps to container port 3443)
WIKI_HTTPS_PORT=3443
# Example alternatives:
WIKI_HTTP_PORT=8080
WIKI_HTTPS_PORT=8443
# ─── First-run Admin Account ─────────────────────────────────────────────────
# Set these BEFORE first startup to auto-create an admin account.
ADMIN_EMAIL=[email protected]
ADMIN_PASSWORD=changeme123
ADMIN_NAME=Wiki Admin
# ─── Site URL ─────────────────────────────────────────────────────────────────
BASE_URL=https://wiki.yourdomain.com
deployment
Quick Start
- Create a working directory named after the service.
- Copy the compose file and generated `.env` into that directory.
- Review the variables and replace placeholders with real values.
- Run `docker compose up -d`.
mkdir wiki-postgres
cd wiki-postgres
# create docker-compose.yml
# create .env
docker compose up -d