Logo

2025-08-27

Wiki.js Documentation Platform

Self-hosted Wiki.js documentation platform deployed with Docker Compose and PostgreSQL for centralized homelab project documentation.

Wiki.jsPostgreSQL 15Docker Compose
Wiki.js documentation platform interface

Wiki.js platform showing project documentation and hierarchical organization

📋 Overview

Deployed Wiki.js, a modern open-source documentation platform, using Docker Compose with PostgreSQL database for centralized homelab project documentation and knowledge management.

🎯 Challenge

Needed centralized documentation system for homelab projects with proper version control, search capabilities, and persistent storage across container restarts.

💡 Solution

Deployed Wiki.js with PostgreSQL using Docker Compose, configured persistent volumes for data retention, and established LAN-only access for secure documentation management.

🛠️ Technologies

Wiki.js

Modern, powerful wiki platform with markdown support and rich features

PostgreSQL 15

Robust relational database for scalable content management

Docker Compose

Multi-container orchestration for Wiki.js and database services

✨ Key Features

📚 **Centralized Documentation**: Single source of truth for all homelab projects

🐳 **Containerized Deployment**: Easy updates and consistent environment

💾 **Persistent Storage**: Volume mounts for data retention across restarts

🔐 **LAN-Only Access**: Secure internal network access on port 3080

🏗️ Technical Highlights

Multi-Container Orchestration

Configured Docker Compose with service dependencies, ensuring PostgreSQL is ready before Wiki.js starts, with proper networking and volume management.

Data Persistence Strategy

Implemented volume mounts for both Wiki.js data and PostgreSQL database, ensuring content survives container updates and restarts.

💻 Implementation

Docker Compose Configuration

version: '3'

services:
  wikijs:
    image: ghcr.io/requarks/wiki:latest
    ports:
      - "3080:3000"
    environment:
      DB_TYPE: postgres
      DB_HOST: db
      DB_PORT: 5432
      DB_USER: wiki
      DB_PASS: wikijsrocks
      DB_NAME: wikidb
    volumes:
      - ./wikijs-data:/wiki/data
    restart: unless-stopped

  db:
    image: postgres:15
    environment:
      POSTGRES_USER: wiki
      POSTGRES_PASSWORD: wikijsrocks
      POSTGRES_DB: wikidb
    volumes:
      - ./postgres-data:/var/lib/postgresql/data
    restart: unless-stopped

🚀 Deployment Specs

PlatformUbuntu Server 192.168.1.30
Wiki.jsghcr.io/requarks/wiki:latest
DatabasePostgreSQL 15
Port3080:3000
Volumeswikijs-data, postgres-data
Restart Policyunless-stopped

📸 Gallery

Docker Compose configuration and logs

Container orchestration setup with service dependencies

🎓 Key Learnings

  • 📚Docker Compose service dependencies and orchestration
  • 📚PostgreSQL database configuration for containerized applications
  • 📚Volume management for persistent data in Docker environments