Ask A Question


You’re not receiving notifications from this thread.

Who is using Hashicorp Otto?

Jay Killeen asked in General

Hi All,

I've recently gotten back into my rails development after some Salesforce related projects at my work. In that time I had to format my laptop from Ubuntu to Windows 10.

I've been struggling on my Windows 10 machine because it just isn't as easy as installing gems to a UNIX machine and building a rails app (like everyone else is doing on MAC).

I started to learn Vagrant so I could run things up in a VirtualBox instead running Ubuntu. This was great but I also wanted to get off of Heroku because I just can't afford to spend money on convenience.

Enter Hashicorp Otto. I've been playing around with this for the last week or so and it is looking like a real tool belt replacement.

Is anyone else using it out there? What have you found so far? I have run into a few struggles installing Postgresql correctly on an existing app and also had to delete some of my old Vagrantfiles because they seemed to be getting in the way (ie Otto installing Ruby 1.9.8 or something instead of 2.2 which was specified in my Gemfile).

Anyway thought I would get some of the conversations flowing and also suggest a video on how to get Otto up and running and maybe an example of how easy it is to go from new app, to dev machine building and then deploying to something cheap like Digital Ocean.


I have a question up on StackOverflow as well if anyone is interested in commenting.

The idea I have is that, because I am on a Windows machine, I am limited to using Rails Installer to build an app on Windows. But what if I want to be on a Window machine, spin up a dev environment using Otto with the bare minimum requirements and then rails new from inside that dev environment.

This would then allow me to bypass any potential issues being on Windows.


I'm using Otto and also Docker for spinning up dev environments. Besides what you've listed, what are your major roadblocks?


Cheers James.

I've never used AWS, mainly just digital ocean or Heroku (depending on how much cash I have to spent on a project). So right now I can't even deploy as the credentials screen is a bit ambiguous.

It is asking me to provide a path to my public key file which defaults to .ssh/id_pub.rsa. As I am on a WIndows Machine I guess my VM machine isn't picking up my key or isn't able to correctly pass it over to Otto.

I see there is a pull request though for a digital ocean infra but it is being delayed until a convention is agreed for other infra providers.

Mitchell mentioned on The Changelog episode though the 0.1.3 would be a major dev ready release though so waiting eagerly for that to come.

Are you using AWS for your infra or just pushing to Github and have a CI pick it up?


My workflow is git -> github -> capistrano -> bare metal (work) git -> github -> capistrano -> digital ocean (personal projects). I am working on setting up CircleCI at work, but that would require us to actually have test coverage, which we don't.

I'm a bit confused on your statements about AWS and the pub key. Are you trying to deploy from your Otto VM instance to somewhere? If so, you'll need to generate a new ssh key on the VM and add that to github or whatever repo you're using so that it can auth and pull the repo/make changes.

If you can clarify a bit, I'll be happy to help where I can.


I am using Otto. I have one error I am currently battling, plus one workflow question. First the error: I get an error when Otto attempts to install mysql2 gem. This error occurs when I run otto build

otto: An error occurred while installing mysql2 (0.3.20), and Bundler cannot continue.
otto: Make sure that `gem install mysql2 -v '0.3.20'` succeeds before bundling.

I also have a basic workflow question. I want to use the standard AWS infra, nothing fancy (yet). I currently have my app setup to deploy with capistrano previous to otto. Does otto replace cap deploy and all processes? Currently my cap deploy handles migrations, adding cron tab updates (using whenever gem), restarting nginx and passenger, shared vs current file placement etc. What does this all look like in Otto?


Has anyone had issues with using mysql2 gem with otto?


One more (potentially embarrassing) otto question: How do I update the Otto tool?

I am currently on Otto 0.1.2, the project is currently on version 0.2.1. As a last ditch effort to solve this problem, I figured, maybe it will "just work" if I am using the most current version.

Typing otto -h
Shows a list of commands, none of which relate to updating the tool itself.

Join the discussion
Create an account Log in

Want to stay up-to-date with Ruby on Rails?

Join 82,329+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.