Hosting a Ruby App From Home - Approach?

Hi,

Any advice/comments on the potential for hosting some personal Ruby
applications from home? (i.e. for learning, sharing with friends etc)

Would the basic concept be:

  • Need to buy a static IP address from you ISP

  • By a domain name and point it to the static IP address

  • Run Apache as the front end web server

    • Q: What basic lockdown/security steps should one take?
  • Perform a PORT redirect on my router for traffic on port 80 to the
    internal IP address of my PC

  • Run the Rails App on the PC

  • Redirect Apache for the appropriate URL for the application through to
    Ruby

How does this sound?

Regarding comparitive cost of using RailsPlayground.com I guess for this
option it would seem I would still need to at least my a domain name.

Tks

The wiki and this list archive can help you with the rest, but do
yourself a favour and go dynamic dns and save yourself a bundle.

I use easydns, which supports various dynamic dns clients.

cheers,
Jodi

On 7/18/06, Greg H. [email protected] wrote:

Hi,

Any advice/comments on the potential for hosting some personal Ruby
applications from home? (i.e. for learning, sharing with friends etc)

I find it more educational to manage the app on a remote host. Check
around for hosting deals, you can get deals for under $5 US/mth. Doing
this on a remote host will teach you about deployment and managing via
ssh. The hosting companies also have a lot better net connections. I
got in on a Dreamhost coupon and got an account for $1/mth.

I see that you can make your own www.dreamhost.com coupons now if you
have an account.
This one gives the maximum discounts possible for all types of signups.

DREAMROR

$120 - $97 = $23/year

777 is still better if it is active (it comes and goes)
777 = $0.77/month = $9.24/year

You really don’t need a domain, just a static ip. This is what we do
with the test boxes at our company but I have to say that it’s a huge
pain in the ass if you don’t already really know what you’re doing.

From the standpoint of someone that sets up servers I would say get a
cheap host like dreamhost and enjoy playing with rails instead of
dealing with servers (unless you’re into that).

-Chuck V.

Agreed. And a lot of ISPs call running your own servers a breach of the
service agreement. :frowning:

On Wed, 19 Jul 2006 02:49:34 +0200, Greg H. wrote:

  • Run the Rails App on the PC

  • Redirect Apache for the appropriate URL for the application through to
    Ruby

I do almost exactly this; www.jay.fm is in my living room. It hosts all
my
mail, web, DNS, etc. It’s not my main PC, though, but a separate Linux
box.

Advantages:

  • I get to keep my sysadmin skills current, because I’m the only one I
    can
    call when things break. I’m semi-dot-com-retired, and this keeps my
    mind
    in shape for the eventual next job.

  • There are no restrictions on what I can host, what versions of which
    libraries are installed, etc. I’m root. I can even physically upgrade
    the
    machine if desired. I get to run whatever mail, web, etc. packages I
    want.

  • Likewise, when troubleshooting, I can do anything I want or need to
    do;
    the whole system is accessible to me, whether it be running ethereal to
    analyze the web traffic, or grepping the whole hard drive to find
    something.

  • X11 over a LAN is blazing fast. emacs, or even Eclipse, is fully
    usable.
    Uploading images or video to the web site, instant.

  • Backups get handled with my regular backup software.

Disadvantages:

  • Your ISP may not allow you to host servers, even with a static IP.
    (Some
    offer static IPs solely for gamers’ convenience.) With Comcast, I
    needed
    to get a $100/mo business-class package before they’d give me a
    hands-off
    AUP.

  • If there’s any significant traffic to your web site, your connection
    will
    slow down. Even fast 6M downstream connections often have only 768K
    upstream. You may want to run one of the throttling modules on apache
    to
    reserve some upstream bandwidth for yourself, or do that in the router
    if
    it allows traffic shaping.

  • No redundancy. If your power/net/etc goes out, you’re down. Any
    decent
    colocated space will have redundant power and network, but few homes do.

  • No tech support.

As for what basic lockdown steps - I highly recommend getting the
O’Reilly
books “Building Secure Servers with LINUX” and “Apache: the Definitive
Guide”. The former has a good chapter on Apache.

If you’re serious (and a little flush), I’d also recommend getting a
real
commercial-grade router - at least a Cisco PIX-501. That way, you can
have
fine-grained control over what traffic gets to your PC, and you can log
intrusion attempts, etc.

A midway possibility is to lease a virtual private server from a local
colo
company. You’ll still get all the “I run it myself” advantages, but
with a
better net connection and presumably some power redundancy.
Character-based editing will have a little more latency, but if you’re
developing at home and deploying remotely, you won’t be doing much
development on the remote machine anyway.

Jay L.

On 7/19/06, Jay L. [email protected] wrote:

I do almost exactly this; www.jay.fm is in my living room. It hosts all my
mail, web, DNS, etc. It’s not my main PC, though, but a separate Linux
box.

For me the best model is both ways. I have some things remote and some
local. But my cable modem service is very skewed, 348Kb/7Mb. Not good
for servers. Places like Dreamhost have backbone connections and you
can burst out 100Mb or more.

The remote host will do backups for you. You do them on your home
machine, right? The remote host is also monitored 24/7 which lets you
get some sleep.

Disadvantages:

  • Your ISP may not allow you to host servers, even with a static IP. (Some
    offer static IPs solely for gamers’ convenience.) With Comcast, I needed
    to get a $100/mo business-class package before they’d give me a hands-off
    AUP.

I am on Comcast too. From my calculation remote hosting was a better
deal than the business class pakage. If you are in a Verizon FIOS area
that is even cooler, 5Mb/30Mb for $180/mth.
http://www.verizonfios.com/ Plus you can get about 250 all digital TV
channels over fiber.

If you’re serious (and a little flush), I’d also recommend getting a real
commercial-grade router - at least a Cisco PIX-501. That way, you can have
fine-grained control over what traffic gets to your PC, and you can log
intrusion attempts, etc.

Your Linux box can be a commercial grade router if set up correctly.

A midway possibility is to lease a virtual private server from a local colo
company. You’ll still get all the “I run it myself” advantages, but with a
better net connection and presumably some power redundancy.
Character-based editing will have a little more latency, but if you’re
developing at home and deploying remotely, you won’t be doing much
development on the remote machine anyway.

I’ve been getting better performance out of the shared boxes. I am on
a quad xeon box, it is never very busy. That is more CPU that I would
get out of a VPS and it is a lot cheaper. Of course there are things
that you can do on a VPS that I can’t do on a shared box.

I use ZoneEdit found at zoneedit.com for my dns resolution needs. It’s
free, not as in beer, but as in a cup of water from a fast food
restaurant ( you get the 5 site sample) but more than that and you have
to pay.

You will learn more hosting a site at your house, and as the guy said
above you will have to perfect opportunity to put all kinds of tools on
the box: svn, Trac, rails, php, mod_proxy with apache, MythTV if you get
a TV tuner, postfix, named, a UPS that you’ve always wanted, Firebird
database (because the people that use say it was made by God himself on
the 8th day), and much more, o my.

I actually have a dynamic IP address, but my ISP forgets to change my IP
address. Realistically, my IP address has changed twice this year and
both were power outages.

I’m a huge fan of the University of Alabama. I’ve set up squid at my
house with dansguardian. When you try go to Auburn.edu it takes you to
Alabama’s website.

i have an account with hostingrails for 23 dollars for the whole yr.
that alone saved me the trouble going through the setting up process
that would probably take me a few hrs or even days. but if your doing
for learning, sounds fine to me.

Greg H. wrote:

Hi,

Any advice/comments on the potential for hosting some personal Ruby
applications from home? (i.e. for learning, sharing with friends etc)

Would the basic concept be:

  • Need to buy a static IP address from you ISP

  • By a domain name and point it to the static IP address

  • Run Apache as the front end web server

    • Q: What basic lockdown/security steps should one take?
  • Perform a PORT redirect on my router for traffic on port 80 to the
    internal IP address of my PC

  • Run the Rails App on the PC

  • Redirect Apache for the appropriate URL for the application through to
    Ruby

How does this sound?

Regarding comparitive cost of using RailsPlayground.com I guess for this
option it would seem I would still need to at least my a domain name.

Tks

Once you’ve set it up, you type “cap deploy” and everything magically
gets checked out from svn, directories linked, fcgi’s restarted,
etc. Capistrano is an amazing thing.

http://wiki.dreamhost.com/index.php/Capistrano

        - dan


Dan K. mailto:[email protected]
http://www.dankohn.com/ tel:+1-415-233-1000

Tks guys,

I’ve actually opted for the hosted solution in the end with Dreamhost
noting the promotion codes people kindly pointed out.

I’ll read up on the doco now re getting things set up, however are there
any pointers/ideas people could suggest regarding automating the process
of cutting a production release of a rails application (after commiting
to svn no doubt) and uploading to Dreamhost production? i.e. are there
any script/tools that target this area in the rails community?

Cheers
Greg

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs