Skip to content

Deploying WikiDocs

Introduction

WikiDocs is a flat-file wiki and documentation system that uses Markdown for content creation. It provides a clean, modern interface for creating hierarchical documentation without requiring any database. WikiDocs is perfect for project documentation, knowledge bases, and technical wikis.

Key highlights of WikiDocs:

  • Flat-File Storage: All content stored as Markdown files for easy versioning and backup
  • Hierarchical Structure: Organize documentation in nested folders with automatic navigation
  • Markdown Support: Full Markdown with extensions for code highlighting and diagrams
  • Modern Interface: Clean, responsive design with dark mode support
  • Search: Full-text search across all documentation
  • PDF Export: Generate PDF versions of your documentation
  • Authentication: Optional password protection for private wikis
  • Customizable: Theme support and custom CSS options

This guide walks through deploying WikiDocs on Klutch.sh using Docker with persistent storage.

Why Deploy WikiDocs on Klutch.sh

Deploying WikiDocs on Klutch.sh provides several advantages:

No Database Management: Flat-file storage eliminates database administration overhead.

Version Control Ready: Markdown files can be easily tracked with Git for change history.

HTTPS by Default: Automatic SSL certificates protect your documentation.

Persistent Storage: Your content survives container restarts with Klutch.sh volumes.

Prerequisites

Before deploying WikiDocs on Klutch.sh, ensure you have:

Deploying WikiDocs on Klutch.sh

    Create Your Repository

    Create a new GitHub repository with a Dockerfile:

    FROM php:8.2-apache
    # Install required extensions
    RUN apt-get update && apt-get install -y \
    libzip-dev \
    unzip \
    && docker-php-ext-install zip
    # Enable Apache mod_rewrite
    RUN a2enmod rewrite
    WORKDIR /var/www/html
    # Download WikiDocs
    RUN curl -L https://github.com/Zavy86/WikiDocs/archive/refs/heads/main.zip -o wikidocs.zip \
    && unzip wikidocs.zip \
    && mv WikiDocs-main/* . \
    && rm -rf WikiDocs-main wikidocs.zip \
    && chown -R www-data:www-data /var/www/html
    # Create data directory
    RUN mkdir -p /var/www/html/datasets && chown www-data:www-data /var/www/html/datasets
    EXPOSE 80

    Push to GitHub

    Push your Dockerfile to your GitHub repository.

    Create a New Project on Klutch.sh

    Navigate to the Klutch.sh dashboard and create a new project.

    Create a New App

    Within your project, create a new app and connect your GitHub repository.

    Configure HTTP Traffic

    Set the traffic type to HTTP with port 80.

    Attach Persistent Volume

    Add a persistent volume mounted at /var/www/html/datasets for your wiki content.

    Deploy Your Application

    Click Deploy to build and launch your WikiDocs instance.

    Access WikiDocs

    Once deployed, access your wiki at your Klutch.sh URL. Complete the initial setup through the web interface.

Additional Resources

Conclusion

WikiDocs on Klutch.sh provides an elegant documentation solution that combines the simplicity of flat-file storage with a modern, feature-rich interface. Its hierarchical organization and Markdown support make it ideal for technical documentation and knowledge management.