Live data from Hacker News

Simple web-focused Docker-based mini-PaaS server

octohost.io

31–34 of 34 posts

Re: Simple web-focused Docker-based mini-PaaS server

#31

Could you elaborate on what you are using chef for and why you didn't use something like fig. I'm getting a bit overwhelmed by the number of meta tools around docker deployment. Also, and most importantly, how are you handling logging? Is it being persisted on the host volume or is rsyslog-streamed

Chef is being used to build the VM and put the entire thing together. But after it's built - you never need to use Chef again.

Fig didn't exist when I started this and I wanted to mirror the git push that Heroku used.

Logging is handled by Docker - and can be sent to services like Papertrail if you use something like logspout:

http://blog.froese.org/2014/05/15/docker-logspout-and-nginx/

Re: Simple web-focused Docker-based mini-PaaS server

#32

Hi. Let's pretend that I'm an intermediate developer with no knowledge about sysadmin or even deployments. How would you break this down and ELI5 [0]. How does Packer fit into all of this (assuming I'd use Digital Ocean). What's Vagrant for? What does Virtual Machine do here? Do I need these three machines on the target VPS or only on my local development machine? To add my DO keys do I need to ssh into vagrant once…

octohost is like a mini personal Heroku.

Packer is a tool that helps to build the image that octohost runs on. It installs all of the software needed and prepares the VM it runs on.

Vagrant is a tool that allows you to run different virtual machines on your local development box. It has nothing to do with production at the moment - it's just for running it locally.

The octovagrant box is pretty open - but that's because it's for running things locally. When it's installed on AWS/DO/Rackspace/Linode/etc. it's firewalled from remote people - but still is pretty open internally. I wouldn't let untrusted people push to it at the moment.

Yes - you need all of the cookbooks, but Packer will take care of that for you - you don't have to really worry about that.

If you're just using the AWS AMI that we've already built - then you can really ignore Packer and Chef - just launch the AMI and you're done.

Docker allows you to run processes inside of a container. So you can launch a set of processes from your source code and have it run on its own.

Once it's setup, you merely add a remote git target, push your code to the server and it builds and launches the code that you have pushed. It works like Heroku for simple websites.

That help at all?

Re: Simple web-focused Docker-based mini-PaaS server

#33

Is this only for websites? I'm assuming it just executes the dockerfile, and uses the run command. I have set up a hacky bash script myself to do this, but also use it for daemons which don't need to expose any ports. The theory of operation page hints that if no ports are exposed, then the container isn't launched. It would be great if the following would be possible: 1) No ports exposed. Just run some software and…

This is mainly focused on websites, but you can launch other items that don't require any ports exposed:

http://www.octohost.io/data-stores.html

I added some "magic" Dockerfile comments - this is the one to add in order to not expose anything via HTTP:

NO_HTTP_PROXY

I am not a huge fan of volumes where data is stored on the box - but you can do it the same way I've described on the page.

I think of octohost boxes as app servers - if you have data on it, you should likely have it stored elsewhere. I've used Heroku to store additional data sometimes:

http://blog.froese.org/2014/03/17/using-octohost-with-heroku...

We've also used remote MySQL servers:

https://github.com/octohost/mysql-plugin

There's lots of ways to do it.

Re: Simple web-focused Docker-based mini-PaaS server

#34
post #29

Earlier quoted context omitted.

Same here. I'm waiting for clean and nie solution to utilize all spare hardware, I have in my company. It would be great to have simple PaaS running on one machine, it would be awesome to utilize them all. If someone could give me step-by-step instructions / solution how to do this, I would really pay for that (or support open source, if that's the case).

The knife solo page should help with this: http://www.octohost.io/knife-solo.html

I don't think so. Why would I need vagrant on the server ? ~/octohost-cookbook$ sudo rake knife_solo user=root ip=172.16.90.151 rake aborted! Kitchen::UserError: Vagrant 1.1.0 or higher is not installed. Please download a package from http://downloads.vagrantup.com/.
Post reply on HN