Growiの構築方法(Dockerでオンプレミス)

はてなブログとMarkdownと数式 - 63rabbitsのめも・めも・めも で頑張ったが数式の表示がうまく行かず手戻りが多すぎたので Growi に浮気してみた。
Mac Book Air 2018 (macOS Catalina 10.15.6)に Growi を構築した記録をメモっとく。

ダウンロード

Docker Desktop

https://www.docker.com/products/docker-desktop

ホスト環境に合わせて何れかを選択。

  • Docker Desktop for Mac
  • Docker Desktop for Windows
    Windows 10 Home (WSL2) でも使えるようになったらしい。

Growi

growi-docker-compose … code > download zip

構築手順

1.Docker Desktop をインストール。

2.growi-docker-compose.zip を解凍。

3.ターミナルを開き、解凍後のフォルダ内(docker-compose.yml の在る場所)に移動。

4.docker-compose.yml をつぎのように修正。(ここはお好みで設定)

    :
    :
# - FILE_UPLOAD=mongodb   
- FILE_UPLOAD=local     
- MATHJAX=1             
# - PLANTUML_URI=http:// 
# - HACKMD_URI=http://    
# - HACKMD_URI_FOR_SERVER=http://hackmd:3000  
# - FORCE_WIKI_MODE='public'    
- FORCE_WIKI_MODE='private'   
    :
    :

設定ファイル : docker-compose.yml

変数 意味
FILE_UPLOAD local 添付ファイルをコンテナ内の下記に保存する。
/data/uploads/attachment
MATHJAX 1 数式記述(Mathjax)を有効にする。
FORCE_WIKI_MODE private Wikiを公開しない。(プライベート・モード)

【注意】FILE_UPLOAD で「コンテナ内の…」と書いたが、/data は永続化のためにコンテナの外のボリュームをマウントしている。 ところで Docker Deskop for Mac では Docker Engine をVMで動かしている。/data の実体はこのVMの中にある。

[Docker for Mac] Docker Volumeの実態がどこにあるのか、探してみた|w0o0ps|note

5.下記コマンドを実行する。

docker-compose up

6.ブラウザからGrowi(http://localhost:3000)にアクセスしユーザ兼管理者を登録する。

7.Wiki管理 > アプリ設定 > サイトURL設定 で Ddatabase 欄にhttp://localhost:3000を設定する。

以上で構築は終わり。

その後、コンテナの起動/停止はDocker Desktop の Dashboard で行うことができる。

あとがき

Dockerを初めて使った。Vmwareなどの仮想化と比べると驚くほど軽いことにびっくり。

はてなブログとMarkdownと数式

旧から新Google Sites へ移行したけど使いにくい。
下記を主眼に新しいサイトを探したところ「はてなブログ」に行き着いた。
数式の前後に若干のコードが必要だが満足できる結果が得られたので使い方をメモっとく!

  • Markdownで書ける。
  • \TeXで数式を書ける。
  • Typoraで書いて貼り付けられたらベスト。

1.Markdownを使うには

はてなブログの 設定 を開き編集モードをMarkdownモードにする。
(このページはMarkdownで書いている。)

f:id:rabbits63:20201120223503j:plain

2.数式を使うには

1.はてなブログデザイン>カスタマイズ>ヘッダを開く。

f:id:rabbits63:20201120223837j:plain


2.つぎのHTMLを貼り付ける

<!-- Mathjaxを使うための設定 -->
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    tex2jax: {
      inlineMath: [['$','$'], ['\\(','\\)']],
      displayMath: [ ['$$','$$'], ["\\[","\\]"] ]
    }
  });
</script>
<script type="text/javascript" async
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
<!-- Mathjaxを使うための設定 -->

3.「変更を保存する」を押す。

3.Markdownモードでの数式の書き方

インライン数式

計算式は$f(x)=x^{2}$である。  

計算式は$f(x)=x^{2}$である。

ブロック数式

計算式は$$f(x)=x^{2}$$である。  

計算式は$$f(x)=x^{2}$$である。

または

計算式は、
<pre>
[tex:

f(x)=x^2

]
</pre>
である。

計算式は、



f(x)=x^2


である。

4.テーマ

数式を強調しすぎないので、個人的には「Block Memo」が好き!

Epic, Wideboardも良さげ。

5.問題点

数式ブロックが変換されない。

2020-11-21 問題発生
<pre>[tex: 数式 ]</pre> の後方にコードブロック( ` x3個で挟む)を記述すると数式に変換されない。なんで?

回避策

原因は不明だが、下記の記述法で問題を回避できる。

<p align="center">[tex: 数式 ]</p>

全体的に数式が変換されない場合がある。

解決策 最初の数式だけつぎの形式で書くと全体が変換される。
[tex: 数式 ]

べき乗が正しく表示されない。

解決策 べき乗を波括弧で括る。

x^2 -> x^{2}

-を含む式が正しく表示されない。

解決策 -の前後に半角空白を入れる。

L-1 -> L - 1




参考にしたブログ(ありがとうございます!!)

cartman0.hatenablog.com

o-treetree.hatenablog.com