GROWIをHerokuにインストールする

# きっかけ

以前いた会社で社内wikiを使用していたんですが、
けっこう便利だったので、自分用にも欲しいと思ったのがきっかけ。
**なるべく手軽に導入する**のが目標。

別に共有する相手もいないので、ローカルに構築すればいいのだが、ウェブ上に構築してみる。

# GROWI

## wikiを選ぶ
以前使っていたのは[dokuwiki](https://www.dokuwiki.org)
機能的にはdokuwikiで十分なんだけど、同じwikiを使うのも芸がない
それにdokuwikiはデザインちょっと古いし…

おしゃれなのがいいなーと思っていたら[GROWI](https://growi.org/)を発見

https://growi.org/

![growitop.JPG](https://qiita-image-store.s3.amazonaws.com/0/322587/4c1e8d69-138e-3075-df51-d4f241b87298.jpeg)

GROWIは[CROWI](http://site.crowi.wiki/)から派生したものらしい
さっそくGROWIをインストールしてみる。

ドキュメントはこちら　→　https://docs.growi.org/
GitHubはこちら　→　https://github.com/weseek/growi

でもドキュメントの内容はあまり充実してない模様…

# HEROKU

目標はとにかくお手軽にインストールすること！

ふと、GitHubの[Quick Start for Production](https://github.com/weseek/growi#quick-start-for-production)のUsing Herokuの部分を見ると手順はたったの２つ！

これはお手軽に違いない
Herokuは使ったことがないが試してみる

![herokutop.JPG](https://qiita-image-store.s3.amazonaws.com/0/322587/b4eda21f-f418-114f-4e8b-5fad58872026.jpeg)

まず[サインアップ](https://signup.heroku.com/login)してHerokuにログイン
次にGitHubの[GROWIのページ](https://github.com/weseek/growi)に行く

![growi.JPG](https://qiita-image-store.s3.amazonaws.com/0/322587/8e5a47d1-0bca-b13c-be32-5b8a81ebd6ac.jpeg)

紫色の「Deploy to Heroku」ボタンをクリック
以下の画面が開く

![herokuup.JPG](https://qiita-image-store.s3.amazonaws.com/0/322587/d51d4be5-6bbe-5688-75c0-e12786bb6f4f.jpeg)

適当にApp nameを入力して
「Deploy app」ボタンをクリック

するとなんだかデプロイが始まった模様

途中で「クレジットカードを登録してください」みたいな感じになったからクレジットカードを登録

![deploycomp.JPG](https://qiita-image-store.s3.amazonaws.com/0/322587/475f5265-3ada-7306-b447-3ab98d4a866e.jpeg)

**デプロイ完了！**
「View」ボタンを押すとGROWIのセットアップ画面に遷移する

![growisetup.JPG](https://qiita-image-store.s3.amazonaws.com/0/322587/c7ac880a-25a1-f3d4-b313-acd7190eefd4.jpeg)

見事にGROWIを設置完了！
本当にお手軽でした

Herokuの知識もまったくなかったのですが、あっという間に実装できました。
ありがたい！

# あとで気づいた衝撃の事実

GROWIをherokuにインストールするのは恐ろしく簡単でした。
こんなの記事にするまでもないのですが…

インストール後に気づいた衝撃の事実を書きたかった。

## 1.画像のアップロードができない！

GROWIをherokuにインストールしただけでは画像のアップロードができなかった。
~~どうやら**Amazon S3にアップロードするように設定**しないといけないらしい。~~

しかもGROWIのドキュメントにその方法が書いてない！
これから追加されるようですが…

このままではせっかくインストールしたGROWIが使えない。
なんとかしなければ…

追記：
**コメントでmongodbにアップロードする設定を教えていただきました。**
詳細は[追記](#追記)をご覧ください。

## 2.独自ドメインだとhttpsで接続できない

正確には「独自ドメインだと**無料で**https接続できない」
これはちょっとだけがっかりした。

でも、個人で使うだけだし、お金を払うほどじゃないので独自ドメインをあてるのは諦めます。

## 3.Herokuは30分でスリープする

これはHerokuの仕様。
アクセスがないと30分でスリープする。

でも、今回のケースでは全く問題ない。
自分で使うだけなので、スリープから復帰するまで少し待てばいいだけの話。

スリープさせない方法もあるようなので、今後必要になったら考える。

[Herokuの無料dynoをスリープさせないで24時間稼働させる4つの方法](https://casualdevelopers.com/tech-tips/how-to-prevent-idling-of-free-dyno-on-heroku/)

# まとめ

GROWIをHerokuにインストールするのはかなり簡単！

でも、画像のアップロードの仕方を考えないと…
Amazon S3なんて触ったことないし…
Googleさんに聞いてみても、なかなか手順が載ってるサイトを紹介してくれない。

[GROWI公式のドキュメント](https://docs.growi.org/management-cookbook/fuirunoappurdo#aws-s3-henoappurdo)が出るのを待つか…
どなたか教えてくださるとうれしいです。

# 追記

「どなたか教えてくださるとうれしいです。」と書いていたら、
コメントで「環境変数オプションのうち、 `FILE_UPLOAD=mongodb` を設定するのが一番簡単」と教えていただきました。

この記事を書いた後にAmazonS3の設定に四苦八苦していたのですが、
教えていただいた方法を試したら、一発でファイルのアップロードができるようになりました。
ありがとうございます！！

以下に手順を追記します。

## 画像をアップロードする方法

まずHerokuにログインします。

![herokuconfig.JPG](https://qiita-image-store.s3.amazonaws.com/0/322587/fedc64c7-cdb6-9a94-23a7-adf9124acd2b.jpeg)

app名をクリックして`Setting`を開きます。
`Reveal Config Vars`をクリックすると、今設定されている環境変数の一覧が表示されます。
一覧の一番下に環境変数の追加フォームがあるので、`FILE_UPLOAD=mongodb`を追加する。

![configvar.JPG](https://qiita-image-store.s3.amazonaws.com/0/322587/b109fb8d-efde-2529-bbbc-d0ea9fbcec77.jpeg)
`Add`をクリック
これで設定完了！

画像をアップロードできるようになりました。
手っ取り早くGROWIを使いたい人にオススメです！

[GROWI.Cloud](https://growi.cloud/)を使うという手もありますけどね…