2018-09-03 /
@syui
cachet
bluemixでcachetというstatus pageを立ててみた
CachetHQ/Cachet
openshiftで作ったことあったのですが、動かなくなったので、今度は、bluemix(ibm cloud)のほうで試してみました。
$ git clone https://github.com/CachetHQ/Cachet
$ cd Cachet
$ git checkout v2.4
$ cat manifest.yml
applications:
- path: .
name: APP_NAME
memory: 256M
buildpack: https://github.com/cloudfoundry/php-buildpack
command: null
routes:
- route: APP_NAME.mybluemix.net
$ cat .bc-config/options.json
{
"COMPOSER_INSTALL_OPTIONS_DEBUG": [ "--no-dev", "-o"],
"PHP_VERSION": "{PHP_71_LATEST}",
"COMPOSER_VENDOR_DIR": "vendor",
"WEBDIR": "public",
"PHP_EXTENSIONS": ["bz2", "pdo", "zlib", "curl", "mcrypt", "mbstring", "mysqli", "gd", "zip", "pdo_mysql", "pdo_sqlite","iconv", "openssl" ]
}
$ cp .env.example .env
# mysqlはherokuのdbを使わせてもらうことに。bluemixでは、free(lite)で使えるdbがdb2(dashDB)とかしかないので、cachet(db:mysql)に対応していない
$ heroku create $APP_NAME
$ heroku addons:add cleardb -a $APP_NAME
$ heroku config -a $APP_NAME
mysql://${DB_USERNAME}:${DB_PASSWORD}@{DB_HOST}/${DB_DATABASE}
# url, mysqlのuriを入れていく
$ vim .env
APP_URL=https://APP_NAME.mybluemix.net
DB_DRIVER=mysql
DB_PREFIX=null
DB_HOST=
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
DB_PORT=3306
# vim .env
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
# 初期設定
$ composer install --no-dev -o
$ php artisan key:generate
# bluemixにdeployする
$ git add .
$ git commit -m "support bluemix"
$ bx cf push $APP_NAME
# logを確認
bx cf logs cachet --recent
# sshしてlogを確認
$ bx cf ssh $APP_NAME
$ cat app/storage/logs/l*
bluemixのライトプランは制限が結構きついです。使えるdb(db2)からmemory:256Mやinstans:1、そして、custom-domain:falseなど。
https://cachet.mybluemix.net