MASTODON

昨日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などがあり色々大変。