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:
- A Klutch.sh account
- A GitHub account with a repository for your configuration
Deploying WikiDocs on Klutch.sh
Create Your Repository
Create a new GitHub repository with a Dockerfile:
FROM php:8.2-apache
# Install required extensionsRUN apt-get update && apt-get install -y \ libzip-dev \ unzip \ && docker-php-ext-install zip
# Enable Apache mod_rewriteRUN a2enmod rewrite
WORKDIR /var/www/html
# Download WikiDocsRUN 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 directoryRUN mkdir -p /var/www/html/datasets && chown www-data:www-data /var/www/html/datasets
EXPOSE 80Push 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.