---
# System prepended metadata

title: Getting started on Ubuntu/WSL Ubuntu

---

# Getting started on Ubuntu/WSL Ubuntu

## The first step is to install some dependencies for Ruby

```
sudo apt-get update
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev
```

## Install rbenv

```
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL

rbenv install 2.6.4
rbenv global 2.6.4
ruby -v
```

### The last step is to install Bundler

`gem install bundler`

## Installing Rails

Since Rails ships with so many dependencies these days, we're going to need to install a Javascript runtime like NodeJS and a package manager called Yarn.

To install NodeJS and Yarn, we're going to add it using the official repository:

```
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

sudo apt update
sudo apt-get install -y nodejs yarn
```

And now, without further adieu:

`gem install rails -v 5.2.2`

If you're using rbenv, you'll need to run the following command to make the rails executable available:

`rbenv rehash`

## Setting Up PostgreSQL

Pay attention to the username and password you setup during installation of Postgres as you will use this to configure your Rails applications later to login to Postgres when your Rails app runs.

```
sudo apt install postgresql-12 libpq-dev
sudo service postgresql start
```

## Install project and its dependencies

```
git clone https://github.com/rsv-ink/majestic_monolith.git
cd majestic_monolith
bundle
```

> Ask someone for the .rbenv-vars (you need the rbenv-vars plugin installed)

#### Installing rbenv-vars plugin

```
git clone https://github.com/rbenv/rbenv-vars.git $(rbenv root)/plugins/rbenv-vars
```

## Setup database
> duplicate database config and update the username to your own username

`cp config/database.example.yml config/database.yml`

```
curl https://cli-assets.heroku.com/install.sh | sh
heroku login --interactive
git remote add production https://git.heroku.com/rsv-ink-production.git
git remote add staging https://git.heroku.com/rsv-ink-staging.git
rails db:create
production backup
development restore-from production
```

## Start the application
```
rbenv rehash
rails s
sudo apt install redis-server
redis-server --daemonize yes
```