I am building a rails app that will host multiple archery league websites. Lets call it myarchery.com, and say I have 2 sites: billsleague.myarchery.com and jimsleague.myarchery.com.
Now when I build this I can either:
-
Have one rails app serve up the subdomains (basecamp style), sharing all models, etc, but putting an account attribute on everything
-
Set each account up with its own rails app instance
I prefer running them all in one instance – (B/C I can set their sites up immediately when they sign up, have a single login, etc). However, I wanted to see if there legit reason to run them independently.
I plan to run this on a Linode using apache/passenger, if that influences your answer
Using rails3, you get subdomain routing ‘for free’. See http://railscasts.com/episodes/221-subdomains-in-rails-3.
I don’t see why you’d need an account attribute on everything; your normal associations should allow you to determine ownership of subobjects.
Running multiple instances per subdomain might seem simpler, but you will pay a heavy price in maintenance. It just does not scale well.