概要
GitHubのWikiの機能は、無料プランかつプライベートリポジトリの場合には利用できません。そのため、小規模な社内システムなどのプログラムコードをGitHubで管理し、すべてを無料で運用しようとすると、基本的にWikiの機能は使用できない状況となります。
以上の背景を踏まえ、代替案を記載しました。
結論
最初に結論からですが、プライベートリポジトリ内に「docs」などの名称のフォルダを作成し、その配下に Markdown ファイルを配置する方法が適しています。
外部の Wiki ツールを利用して GitHub と連携する方法もありますが、追加の費用が発生したり、環境構築に手間がかかるケースが多いのが実情です。
なお、リポジトリ内に Markdown ファイルを直接配置した場合でもGitHub 上で Markdown として整形された状態で閲覧できます。
外部ツールを使用する
外部ツールを使用する場合の候補としていくつかピックアップしてみました。
Gollum
「ゴラム」と読みます。GitHubがWiki機能を提供するために利用しているエンジンです。Tom Preston‑Werner(GitHub共同創業者)を含むチームにより開発され、2009年2月16日に初版がリリースされました。現在もGitHubコミュニティや有志によってメンテナンスされています。
Gitリポジトリを直接Wikiのストレージとして利用する設計で、Markdownをはじめ、AsciiDocやMediaWiki記法にも対応しています。現在はGitHubだけでなく、GitLabなどのWikiでも広く使われています。
軽量さと低設定が魅力で、Markdown編集中心の軽量Wikiに最適です。
ただしGollumはWindowsだとJRubyでの動作が前提で、セットアップがやや手間になるります。そのため工数の観点では、ほかの方法の方が構築は簡単かもしれません。
Wiki.js
2017年頃に最初のリリース行われた比較的新しいWikiです。Requarks(後にWiki.jsへブランド名変更)が開発し、Node.jsベースで作成されています。
Wiki.jsは新世代Wikiとして高機能で拡張性が高く、モダンなUIやアクセス制御などの多機能が必要な場合に非常に優れています。
環境としては、Docker DesktopをPCにインストールして利用します。そのためWikiを共同編集する場合、Docker DesktopをインストールしているPCが起動している間だけ、他の人も編集できるような形になります。Wiki.js は Node.js で動くサーバーアプリなので、ホスト(Docker Desktop を入れているPC)が停止するとサービスも止まるため、アクセスや編集ができません。
打開策としては、ローカルPCではなく常時稼働のVPSやNASに置けば24時間利用できます(発生するのはインフラ代のみです)。
HackMD
2015年にサービスが公開された、リアルタイムで共同編集ができる Markdown エディタです。ワークスペース(SaaS)の機能も持っています。
無料プランでもGitHub連携はできますが、Pushは月20回が上限です。またチームでの編集では最大3人まで可能となっており、4人目からは有料プランになります。
終わりに
今回は小さな社内システムのドキュメント用途であったため、リポジトリ内に Markdown 形式のファイルを配置するシンプルな構成が適していました。
一方で、システムの規模や運用状況によっては、外部ツールの利用も有効な選択肢になると思われます。