Deploying Ruby on Rails with One-Click Apps

Updated by Linode Contributed by Linode

Contribute on GitHub

Report an Issue | View File | Edit File

Ruby on Rails One-Click App

Ruby on Rails is a server-side web application framework that allows web designers and developers to implement dynamic, fully featured web applications.

Deploy a Ruby on Rails One-Click App

One-Click Apps allow you to easily deploy software on a Linode using the Linode Cloud Manager. To access Linode’s One-Click Apps:

  1. Log in to your Linode Cloud Manager account.

  2. From the Linode dashboard, click on the Create button in the top right-hand side of the screen and select Linode from the dropdown menu.

  3. The Linode creation page will appear. Select the One-Click tab.

  4. Under the Select App section, select the app you would like to deploy:

    Select a One-Click App to deploy
  5. Once you have selected the app, proceed to the app’s Options section and provide values for the required fields.

The Ruby on Rails Options section of this guide provides details on all available configuration options for this app.

Ruby on Rails Options

You can configure your Drupal App by providing values for the following fields:

Field Description
Rails Application name The name for your rails application. Required.

Linode Options

After providing the app specific options, provide configurations for your Linode server:

Configuration Description
Select an Image Debian 9 is currently the only image supported by Ruby on Rails One-Click Apps, and it is pre-selected on the Linode creation page. Required.
Region The region where you would like your Linode to reside. In general, it’s best to choose a location that’s closest to you. For more information on choosing a DC, review the How to Choose a Data Center guide. You can also generate MTR reports for a deeper look at the network routes between you and each of our data centers. Required.
Linode Plan Your Linode’s hardware resources. Required.
Linode Label The name for your Linode, which must be unique between all of the Linodes on your account. This name will be how you identify your server in the Cloud Manager’s Dashboard. Required.
Root Password The primary administrative password for your Linode instance. This password must be provided when you log in to your Linode via SSH. It must be at least 6 characters long and contain characters from two of the following categories: lowercase and uppercase case letters, numbers, and punctuation characters. Your root password can be used to perform any action on your server, so make it long, complex, and unique. Required.

When you’ve provided all required Linode Options, click on the Create button. Your Ruby on Rails app will complete installation anywhere between 2-5 minutes after your Linode has finished provisioning.

Getting Started after Deployment

Access Ruby on Rails

After Ruby on Rails has finished installing, you will be able to access Ruby on Rails from the console via ssh with your Linode’s IPv4 address:

  1. SSH into your Linode and create a limited user account.

  2. Log out and log back in as your limited user account.

  3. Update your server:

    sudo apt-get update && apt-get upgrade
    
  4. Ruby comes with some pre-made scripts to get you started. One of these is a blog. To begin with the blog example, use the following command:

    rails new blog
    

    This creates a new Rails application called Blog in the blog directory.

  5. Move into the blog directory:

    cd blog
    
  6. Start the built in server with the following command, replacing the IP address with your Linode’s IP address:

    rails server --binding=198.51.100.0
    
      
    Warning: Running `gem pristine --all` to regenerate your installed gemspecs (and deleting then reinstalling your bundle if you use bundle --path) will improve the startup performance of Spring.
    => Booting WEBrick
    => Rails 4.2.7.1 application starting in development on http://198.51.100.0:3000
    => Run `rails server -h` for more startup options
    => Ctrl-C to shutdown server
    [2020-03-11 14:17:16] INFO  WEBrick 1.3.1
    [2020-03-11 14:17:16] INFO  ruby 2.3.3 (2016-11-21) [x86_64-linux-gnu]
    [2020-03-11 14:17:16] INFO  WEBrick::HTTPServer#start: pid=3089 port=3000
    
    
  7. You can visit your application by visiting the address in the browser.

    Rails Welcome Page

  8. Exit the server process with Ctrl+C.

Create a Controller and View

A controller will receive requests which are then routed and served by various actions. A view displays information.

  1. Create a controller called Welcome and an action called index:

    rails generate controller Welcome index
    
      
    create  app/controllers/welcome_controller.rb
    route   get 'welcome/index'
    invoke  erb
    create    app/views/welcome
    create    app/views/welcome/index.html.erb
    invoke  test_unit
    create    test/controllers/welcome_controller_test.rb
    invoke  helper
    create    app/helpers/welcome_helper.rb
    invoke    test_unit
    invoke  assets
    invoke    coffee
    create      app/assets/javascripts/welcome.coffee
    invoke    scss
    create      app/assets/stylesheets/welcome.scss
    
    
  2. With the text editor of your choice, edit the file app/views/welcome/index.html.erb and replace the contents with the following:

    app/views/welcome/index.html.erb
    1
    
    <h1>Hello, World! This is Ruby on Rails!</h1>
  3. Tell Rails where to find the document root. Edit the file config/routes.rb, find and uncomment the line root as shown:

    config/routes
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    Rails.application.routes.draw do
      get 'welcome/index'
    
    ...
    
      root 'welcome#index'
    
    ...
    end
  4. Start the server again:

    rails server --binding=198.51.100.0
    

    You should see your new welcome page in the web browser.

For more information on setting up a more substantial application, refer to the Ruby on Rails Getting Started Guide.

Next Steps

For more on Ruby on Rails, checkout the following guides:

More Information

You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.

Join our Community

Find answers, ask questions, and help others.

comments powered by Disqus

This guide is published under a CC BY-ND 4.0 license.