2018/08/08 に dev.to が OSS 化された.

dev.to is now open source

とりあえずローカルで動かすまでにやったことのメモ.

Getting Started

Getting Started が充実している.ほぼその通りに進めれば問題ない.Ruby は最新版が必要,DB は PostgreSQL.長年 Rails 触っているが地味に PostgreSQL 使ったことがなかった.

$ ruby -v
=> Ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]

$ brew install postgresql
$ postgres -V
=> postgres (PostgreSQL) 10.5
$ pg_ctl -D /usr/local/var/postgres start

# Stop
$ pg_ctl -D /usr/local/var/postgres stop
$ gem install bundler
$ gem install foreman

foreman は複数プロセスをまとめて管理できるツール. ローカル実行時は

  • Rails サーバ (puma)
  • Webpacker (webpackのラッパー,webpack の実行と hot-reload が走る)
  • Job (DelayedJob)

が実行される.

# Procfile.dev
web: bin/rails s -p 3000
webpacker: ./bin/webpack-dev-server
job: bin/rake jobs:work

Environment Variables

figaro を使って YAML ファイルで環境変数を管理している.

$ cp config/sample_application.yml config/application.yml

Algolia

サイト内コンテンツの検索で使われている.ローカル実行前に必ず設定が必要になる. DEV Docs > Getting API Keys for Dev Environment > Algolia に沿って,会員登録+ Credentials を発行する.

GitHub or Twitter

ログインを試すのに必要.ログインせずに試すのであればなくてもOK.こちらも丁寧にドキュメントに手順が記載されている.

発行したキーを application.yml に設定する.

Set up

$ bundle install
$ bin/yarn
$ bin/setup

setup 内で UserArticle などのダミーデータが生成され,ほぼ本番環境と同じ表示が再現できる.

Start

$ bin/startup

first-page-in-local.png

おまけ

オフラインになると,お絵かきができるらしいw ローカルでサーバ立ち上げて,一度ブラウザで表示した後,サーバ閉じると表示された.