Installing prerequisites

Ruby

  1. If you don't already have a Ruby version manager, we highly recommend rbenv. Please follow their installation guide.
  2. With the Ruby version manager, install the Ruby version listed on our badge. (ie with rbenv: rbenv install 2.5.3)

Yarn

Please refer to their installation guide.

PostgreSQL

Dev.to requires PostgreSQL version 9.4 or higher. The easiest way to get started is to use Postgres.app. Alternatively, check out the official PostgreSQL site for more granular version.

For additional configuration, click here

Installing Dev.to

  1. Fork dev.to repository, ie. https://github.com/thepracticaldev/dev.to/fork
  2. Clone your forked repository, ie. git clone https://github.com/<your-username>/dev.to.git
  3. Install bundler with gem install bundler
  4. Install foreman gem with gem install foreman
  5. Install our ruby dependencies with bundle install
  6. Install our frontend dependencies with bin/yarn
  7. Setup your database

  8. Create config/database.yml by copying from the provided template (i.e. cp config/database.yml.sample config/database.yml)
  9. Update the config/database.yml file if needed.

  10. Set up your environment variables/secrets

  11. Take a look at Envfile. This file lists all the ENV variables we use and provides a fake default for any missing keys. You'll need to get your own free Algolia credentials to get your development environment running.
  12. This guide will show you how to get free API keys for additional services that may be required to run certain parts of the app.
  13. For any key that you wish to enter/replace:

  14. Create config/application.yml by copying from the provided template (ie. with bash: cp config/sample_application.yml config/application.yml). This is a personal file that is ignored in git.
  15. Obtain the development variable and apply the key you wish to enter/replace. ie:
```
GITHUB_KEY: "SOME_REAL_SECURE_KEY_HERE"
GITHUB_SECRET: "ANOTHER_REAL_SECURE_KEY_HERE"
```
  • If you are missing ENV variables on bootup, envied gem will alert you with messages similar to 'error_on_missing_variables!': The following environment variables should be set: A_MISSING_KEY..
  • You do not need "real" keys for basic development. Some features require certain keys, so you may be able to add them as you go.

  • Run bin/setup

Possible Error Messages

Error: rbenv: version '<version number>' is not installed (set by /Path/To/Local/Repository/.ruby-version) Solution: Run the command rbenv install <version number>

If you encountered any errors that you subsequently resolved, please consider updating this section with your errors and their solutions.