Git Product home page Git Product logo

vagrant-for-rails-apps's Introduction

Rails Virtual Development Environment on Vagrant

Español

Configuration files to automatically set up a basic and customizable Vagrant box with the required tools to develop Rails projects.

Usage

  1. Install in your computer the software listed the "Prerequisites" section.
  2. Clone the repository into your machine.
  3. Tweak the provider and the options in the Vagrantfile.
  4. Run vagrant up and wait for the machine to be built, then vagrant reload.
  5. When the machine is ready, run vagrant ssh and move to the synced folder with cd /vagrant.
  6. You may now start a new Rails project with rails new . or adjust the Ruby and gems settings with RVM to match an existent code base.

Prerequisites

If you notice that there are delays with the synchronization of shared folders with virtualbox as the type, a better option is to use SSHFS or NFS. But usually it works well enough.

Out of the Box Included Software

  • Ubuntu Bionic: This Linux distribution is closer to the one used on the Heroku-18 stack.

  • Ruby 2.5.x (with RVM): Programming language that supports the Rails framework. The Ruby Version Manager allows to easily use different Ruby versions and gems per project.

  • Rails: And other gems to aid the development of web apps. (Current gem distributions):

    • RSpec
    • Cucumber
    • Mailcatcher
    • Pry-Byebug
    • PG
    • Redis-Rails
    • Webpacker
    • Bundler
  • Yarn and Webpacker: For Rails projects with heavy use of JavaScript.

  • Node.js: Server side JavaScript runtime. (Current stable version).

  • Postgres: Advanced SQL database. (Current Bionic distribution).

  • Redis: In-memory data structure store. (Current Bionic distribution).

  • Heroku CLI: Create and manage Heroku apps from the command line.

  • Ngrok: Exposes local servers behind NATs and firewalls to the public internet over secure tunnels.

  • ZSH Shell (With Oh-My-Zsh!) Tools to improve the experience of working with the shell.


vagrant-for-rails-apps's People

Contributors

rojo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

vagrant-for-rails-apps's Issues

Allow a central file configuration

One can modify the scripts to use different versions of the dependencies or to opt-out the installation of some packages but it would be nice to specify this from a central file that is read during the provision.

Could be JSON, YAML or env/.envrc.

Include /bin with setup scripts

It could be easier for some projects just to run curl setup-script | bash to get the working files without the git repo files overhead.

Include Direnv

This tool could be helpful in the development environment by loading the required ENV values required to be read for a project configuration.

But, seems that the distribution version is somewhat old, so it should be obtained from the developers page: https://direnv.net/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.