gnu-socialをherokuで立てる[2022年度版]
gnu-socialも触ってみました。今回もherokuでdeployするヒントを書いていきたいと思います。
いろいろな変化があるものの、srcは相変わらず古い感じがします。
3.0
https://code.undefinedhackers.net/GNUsocial/gnu-social
とりあえず、bin/configure
にdockerfileを作成するscriptがありますので実行するようです。Makefileにいろんなコマンドが定義されているようですが、項目を読めばだいたい分かるでしょう。
$ git clone https://code.undefinedhackers.net/GNUsocial/gnu-social
$ cd gnu-social
$ ./bin/configure
$ make
$ sudo docker ps -a
$ paru -S php-pear
$ sudo pecl install vips
$ sudo vim /etc/php/php.ini
extension=iconv
extension=vips
以下を追記、または編集します。
"require": {
"php": "^8.1.0",
"ext-vips":"*",
"jcupitt/vips": "1.0.9"
}
$ composer update --ignore-platform-reqs
$ git add composer.*
$ heroku buildpacks:add --index 1 https://github.com/heroku/heroku-buildpack-apt
Aptfile
php-pear
herokunの場合、残念ながらphp-vips
がsupportされていません。
したがって、buildpacksを自前で用意するしかないのですが、用意してやってみたところ、peclが動作しません。
いくつか調整してみたものの、これでは実現できたとしても完全にやるべきことではないと判断し、途中でやめることにしました。
sed -i -e "s#/usr/bin/php#/app/.heroku/php-min/bin/php#g" $build_dir/.apt/usr/bin/pecl
pecl install vips
web: vendor/bin/heroku-php-nginx public/
ref : https://devcenter.heroku.com/ja/articles/php-support#using-optional-extensions
ref : https://devcenter.heroku.com/ja/articles/deploying-php
2.0
https://code.undefinedhackers.net/GNUsocial/gnu-social/src/branch/nightly
php7.4で動きますので、herokuのstack-20を使用します。これは簡単でそのまま通ります。
$ git checkout nightly
$ heroku stack:set heroku-20
ref : https://syui.cf/blog/post/2019/03/25/gnu-social