先日dev.toがGitHubに公開され、オープンソース化されました。ローカル環境の構築方法も公開されていたため、実際に試してみました。あまりPCを汚したくないので今回はdocker-composeを利用して、Dockerで環境を構築してみました。
設定
docker-compose.yml
- gemとDBのデータはvolumeに保存して永続化
- DockerHubにあったyarnが入っているrubyの適当なDockerイメージを使った
- Algolia関連の環境変数は適当に入れておく
version: '2'
volumes:
bundle:
driver: local
db_data:
driver: local
services:
db:
image: postgres
volumes:
- db_data:/var/lib/postgresql/data
expose:
- 5432
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
app:
image: electrotumbao/ruby-yarn:2.5.1
volumes:
- bundle:/usr/local/bundle
- .:/app
working_dir: /app
ports:
- 3000:3000
depends_on:
- db
environment:
RAILS_ENV: development
GITHUB_KEY: aaaa
GITHUB_SECRET: bbbb
ALGOLIASEARCH_APPLICATION_ID: 1111
ALGOLIASEARCH_SEARCH_ONLY_KEY: awefawf
ALGOLIASEARCH_API_KEY: awefawfe
tty: true
stdin_open: true
database.yml
うまいやり方があるのかちょっと分からなかったので、とりあえず直接書き換えておきます。セットアップ時にtestもマイグレーションしているっぽいのでtestも同様の設定をしておく必要があります。
host: db
username: postgres
password: postgres
手順
Dockerコンテナを起動
docker-composeしてDockerコンテナを起動し、中に入ります。
docker-compose up -d
docker-compose exec app bash
色々インストール
gem install bundler
gem install foreman
bundle install
bin/yarn
bin/setup
Algoliaは有料なので、設定に適当な値を入れているのですが、bin/setup
の際のSeedの実行でエラーになるっぽいです。ただ、マイグレーションは完了するっぽいので、無視しています。
起動
とりあえずここまでで一応最低限の設定は一通り行っていると思いますので、試しに起動してみます。専用の起動スクリプトがあるようなのでそれを使います。
bin/startup
動いたっぽいのでlocalhost:3000
にアクセスしてみます。
なんか変な画面が出てきました。
良いニュースと悪いニュースがあるんだ。悪いニュースはあんたがオフラインってことさ。いいニュースはここでは絵を書けるんだぜ
というよく分からないメッセージが出てきます。原因はよく分からないのですが、どうもserviceworkerあたりが関係あるかも知れません。
仕方がないので、とりあえずはrailsのサーバーで起動してみます。
bin/rails s
初回は表示までに時間がかかる(?)ようですが一応dev.toっぽい画面が表示されるっぽいです。
まとめ
とりあえずなんとなくdev.toの画面が表示されるところまで試してみました。是非色々な方法でローカル環境を構築してdev.toのcontributeまで試してみてください!
Top comments (0)