Building the development VM


(Moshe Katz) #1

As has been discussed previously, the VM image referenced in the Vagrantfile for local development still seems to be created and updated by hand.

Has there been any more-recent discussion about switching to building it in an automated and documented way?

One major advantage of automating the VM build is to prevent this:

Rebuilding it instead of adding onto the same image over time could be a major advantage.

Given that actually starting up the Vagrant VM uses a bunch of Chef recipes to provision, why not just do the same using Packer and Chef to build the image?

Is the reason just because no one has spent the time on it, or is there something specific that is preventing this from happening?


(Bill Ayakatubby) #2

I believe the intent is to move to a Docker-ized development environment. @Lid has been doing some awesome work getting us there:


(Moshe Katz) #3

But even then, unless we actually switch to using the Boot2Docker image and the Boot2Docker CLI, there will still need to be a Vagrantfile for those of us (like Windows people, for example) who can’t use Docker directly, and it will still have to point to some kind of VM image. Since there aren’t too many “stock” VM images that support Docker, there would still need to be some kind of image, and it would still have to be built somehow.


(Bill Ayakatubby) #4

Ah, I see what you mean. Carry on then. :thumbsup:


(Robin Ward) #5

I did this because we’re doing a hack night for Discourse and I only had a short amount of time to get it working. The plan is still to use a Docker container for development, we just haven’t had time to create it yet.


(Moshe Katz) #6

What about this concern?

Or do you plan to say “we provide Docker only; it is your own responsibility to have a VM that already supports Docker to start from”?

Please don’t do that - installing Docker is one of those tings that beginners will have trouble with, especially because the Ubuntu instructions for installing the newest version of Docker (instead of the version that happens to be in the Ubuntu repo) are another layer of work to do, and are (currently) not correct (which really should be taken up with the Docker project, but that’s a separate issue).


(Robin Ward) #7

No of course not. We haven’t started on it so I can’t say for sure how we’ll approach the VM, but on OSX docker has a very tiny linux VM it starts from. I imagine on Windows we’d do something similar, or even just use Vagrant with docker.

But there will be a VM involved for those not on linux!


(lid) #8

@kohenkatz I am using boot2docker on windows 8

boot2docker is small (20mb) and it comes with docker and git which is what you need to get the discourse docker container up and running.

You can check the guide I wrote.
How to install Discourse on Boot2Docker.

And you can follow this thread for upcoming updates