Setup metabase easily with zeit/now

其實我原本是想用 dokku 的,雖然跟著範例跑,直接用 web: java -jar 的方式,dokku 似乎都無法辨識出 java app,然後 pom.xml 我也不熟,花了一些時間試不出來就放棄了。然後突然想到最近的新起之秀 zeit/now 有支援 Dockerfile 的方式,應該可以試試看,然後就...

echo 'FROM metabase/metabase' > Dockerfile && now deploy -n NAME  

NAME 可換成你想要的 App name

等他跑完之後(註1)進 https://YOUR-APP.now.sh/setup 就可以開始玩了(那我之前試這麼久是...0rz

database

基本上你不需要特別建一個新的 DB 就可以開始使用 metabase,因為他本身有內建一個叫 H2 的簡易型資料庫,不過如果你想到資料保存、備份的問題,使用獨立的資料庫還是比較好一點。

可以參考文件,metabase 預設是建議 postgresql,但是 mysql 也在支援範圍之內。

now 有支援環境變數和一些敏感資訊的處理,可以參考這篇

// 先用 now secrets
now secrets add dbname=""  
...

// 然後可以透過 now -e @dbname 這種方始指定環境變數
now \  
-e MB_DB_TYPE=postgres \
-e MB_DB_DBNAME=@dbname \
-e MB_DB_PORT=5432 \
-e MB_DB_USER=@dbuser \
-e MB_DB_PASS=@dbpass \
-e MB_DB_HOST=@dbhost

註一
這是目前覺得 zeit/now 很缺乏的一點,就是沒有好的介面能夠除錯或是看到 console 執行的狀態,完全瞎子摸象XD(官方是說 coming soon,但是也不知道啥時才會出來)。目前的暫解,你可以用這種格式看到簡易的部署進度 https://zeit.co/{USER}/{APP}/{HASH}

zeit deploy process

部署完,如果打開網址看到 Error 502 or 500 的話就是還沒跑完安裝 (jar),等一會再試試。

Share this: