昨日Twitterのタイムラインを賑わしていたTwitterライクなマイクロSNSサービス?のオープンソース版的なソフトウェア「MASTODON」を自宅サーバーに導入してみました。
必要なのは、PostgreSQL, nodejs, iojs, redis, ruby-2.4.1, rails, nginxということで、早速セットアップしてみました。
このドキュメントでもDockerを使う説明ばかりだったのですが、ここでは自前で導入しました。
というわけで、覚えている限りでの作業メモ。
前提ソフトウェアのインストール
PostgreSQL, redis, nginxはArchLinuxでpacmanから導入
# pacman -S redis postgresql, nginx
nodejs, iojsはnvmから導入
実際のコマンドは後程書きます。(たぶん)
ruby-2.4.1はrvmから導入
実際のコマンドは後程書きます。(たぶん)
railsなどは、rvmから導入したrubyのgemで導入
(nodejsインストール)
(iojsインストール)
(ruby2.4.1インストール)
(bundle rake railsをgemからインストール)
$ export NODE_ENV=production
$ export RAILS_ENV=production
.env.productionを.env.production.sampleを元に編集
$ bundle install
$ bundle exec rails db:setup
$ bundle exec rails assets:precompile
Railsフロントエンド起動
$ rails server
SideKick(バックグラウンドJOB実行用)起動
$ bundle exec sidekiq -P ${pidfile} -L ${logfile} -c 5 -q default -q mailers -q pull -q push
WebSocket用nodejs起動
npm start
あとは、これらをSupervisorやsystemctlから実行できるようにShellScript作ったり、リバースプロキシ&SSL処理用にnginxやcertbot、バックエンド用にredis、mailgun、postgreSQLなどがあり色々大変。