
Self-Host Everything - pavs
http://www.slashgeek.net/2013/02/17/self-host-everything/
======
dhimes
Totally OT rant here: more and more I'm seeing certain grammatical mistakes
crop up that disturb the hell out of me. I understand that the first two 'w's
in www are for 'world wide,' and that not everybody is a native speaker of
English.

But these things are creeping into native speakers' use also. They are:

1) Confusing the words 'lose' and 'loose.' Lose is the word you use when you
mean the opposite of 'find.' It is also used to mean the opposite of 'win.'
Loose is something that is the opposite of 'tight.' There is no 'loosing,'
(EDIT: a1k0n corrects me here, see his comment below) there is 'loosening,'
however, as in what you do to your belt after a large meal. OP makes this
error.

2) Using apostrophes for plural. Apostrophes are used to show (a) possession
and (b) contraction (leaving letters out of a word). Writing "I'm buying two
car's" is incorrect. Replacing your car's winshield wiper blades is ok. So is
leaving out the car entirely when drawing a 'toon.

~~~
a1k0n
To be even more pedantic: There is 'loosing', as in releasing, but it's
probably not what you mean unless you can already spell 'lose'.

~~~
TillE
My favorite mistake along these lines is "payed", which is a nautical term and
not synonymous with "paid".

~~~
pbhjpbhj
AFAIK both forms are acceptable [in en_GB] for both the past participles of
caulking your boat and making a financial transaction, cf
<http://en.wiktionary.org/wiki/pay#English> or
<http://oxforddictionaries.com/definition/english/pay--2>.

This IMO highlights why one shouldn't get too anal about specific word forms
as long as the intent is apparent. Of course one can generate inaccuracies
this way but generally an honest attempt to receive the communicated
information doesn't _gan aft agley_.

------
asb
Have to admit, I smirked that SlashGeek is outsourcing its comments system to
disqus.

Edit: even better, the Disqus comments are now failing to load with the
message "Sorry, we're undergoing temporary maintenance."

------
cmsj
I would say you should own your own domain and only use services which can
hang off your domain. That way you get the convenience of third party
services, but any time you want/need to, you can shift to self-host without
having to change your email/blog/whatever addresses.

~~~
reidrac
I totally agree. I started on the Internet circa 1998 and I've always
regretted using popular free services back then, because most of them didn't
survive to our days (the popular "X got acquired by Y, X was closed").

I got a domain in 2002 and since then I've used it as part of my identity. It
costs some money, but not much and it's totally worth it.

Non technical people may freak out a little bit when they ask you for your
mail address because you don't answer with the expected gmail.com (and
hotmail.com before that), but that's all right.

EDIT: typo

------
fiatpandas
Self hosting is fun and fulfilling. It's simple and cheap. The problem of
course is replicating the services you already use. Web hosting is painless
but email is absurdly involved if you want to make sure that gmail etc. accept
your messages as non-spam. The rules are not made clear and there doesn't seem
to be a universally accepted way of setting up email where you can say "this
message I'm about to send will 100% be accepted by the recipient's mail
server"

~~~
reidrac
I've never had problems to get my email accepted by gmail, but well... I don't
think Google gets a 100% either.

There must be a checklist somewhere, but off the top of my head:

\- Your server's IP must be static and must have a reverse map (IP -> name);
check your IP is "clean" and not in a blacklist, specially when you get it
from your ISP range (may be someone used it before you and it has a poor
reputation).

\- Setup your DNS correctly using MX records.

\- Use SPF or DKIM so other servers can detect forged emails not coming from
your server(s); besides this is nice to filter backscatter spam.

\- Obviously don't configure your mail server as an open relay, use SMTP with
SSL or TLS, always with user authentication.

I've been using this setup for years and most of my problems are receiving
mail and never sending it (ie. misconfigured servers not playing nice with
graylisting, Google servers blacklisted by my DNSRBL, etc).

EDIT: formatting

~~~
fiatpandas
Thanks for sharing the tips. Will give email another attempt soon, and maybe
write something up

------
perlgeek
One problem with self-hosting is that getting security right and tight is
really hard. You have to be aware of all the components used in your stack,
and monitor them all for known security problems. And then know how to react
to them.

And then you probably want backups, and monitoring, and what not.

Ideologically I'm fully a favor of self-hosting many bits, but having some
experience with it, I'm also acutely aware of the downsides.

------
DanielBMarkham
Somebody needs to come up with a universal self-hosting plan that
automatically captures everything I create on to a box where I have _total_
ownership. I'd pay for that. So if I reply to a friend on FB, it captures the
thread including my reply. If I tweet, it captures that. My email would be a
separate folder. And so forth. Heck even lifelogging would go there.

In this fashion the things I create in my life would be under my control, at
least to a certain degree. Computers are an extension of our minds, and we
deserve to own and control our output in one place, even if we choose to share
lots of things in various forums.

~~~
wfn
Have you considered (for the time being) moving to e.g. Tent
(<https://tent.io/>) and/or Diaspora (<https://joindiaspora.com/>)? Of course
the whole trouble is migrating your current implementation-dependant social
circle (e.g. facebook friends), but I've seen people tweet their last messages
along the lines of "I'm not staying in twitter for reasons X,Y; moving to Z
(join me if you'd like [to follow me])"; my (very limited) exposure to these
cases would seem to show that it might just work (to an extent / YMMV) for (at
least) folks on twitter with significant amounts of followers.

In any case, I like Tent as they are developing / have developed a generic
distributed social networking _protocol_ (with some sample implementations
etc.) [/old news]

------
ridruejo
Small plug related to the learning curve. Many of the most popular apps, like
ownCloud, WordPress, etc. you can get free, easy to install packages at
<http://bitnami.org> You can choose to self-host (downloadable installers) or
run on Amazon/Azure

------
casca
I've self-hosted as much as I can since 2000 and as with everything, one
should weigh up the costs of self-hosting versus the benefits. First, honestly
assess your own level of skill. Then pick a service and decide what it would
cost you to host and the cost of failure. For example, let's look at hosting
your own email service.

The cost of hosting for someone not comfortable with email is quite high.
Setting it up correctly requires many steps and if you get it wrong, perhaps
your emails don't get delivered and you lose business. Compare this to the
cost of using Gmail - effectively zero. However, this does not take the risks
into account. Google owns your email and email address. If they, or one of a
number of governments decide that the service should no longer be available to
you for whatever reason, your email is lost. You could mitigate this by
mirroring all your Gmail through IMAP/POP3 and using your own domain name. In
security terms, the risk of Google taking away your account is low, but the
impact is very high.

As an aside, I'd love to use Owncloud but after a incidence where it deleted
files, I decided that it's not yet ready for production use.

------
kordless
For me it's not so much about hosting it myself as it is having control of my
data. It's a trust issue.

I used <http://github.com/coto/gae-boilerplate> to write a few sites which
host data objects in GitHub gists. Here's my OpenStack blog which uses it:
<http://StackGeek.com/>, and an example of a raw post stored in a gist:
<https://gist.github.com/kordless/93e491c4880a416907be>.

I still rely on GitHub for keeping my data safe, but most of my code there
also lives on my desktop in the form of cloned repos.

------
jvehent
Coincidentally, I just gave a talk last tuesday at the Philadelphia LUG on DIY
email hosting at home. [http://jve.linuxwall.info/ressources/taf/DIY-
eMail@Home-PLUG...](http://jve.linuxwall.info/ressources/taf/DIY-eMail@Home-
PLUG20130212-jvehent.pdf) [PDF, 4.5MB]

------
iuguy
I wouldn't use something like owncloud as a dropbox replacement right now if
you were looking to go ahead with this. It seems to be going through that
phase where the security bugs are being identified and fixed.

------
SirSkidmore
I self-hosted for a long time, knowing it breaks my ISP's ToS. just recently,
I received a letter regarding the web server and an extremely throttled
connection until I shut it down.

------
ricardobeat
If you use just a couple services, good. Now imagine self-hosting all of
these:

    
    
        - version control
        - bug tracker
        - invoicing app
        - document sharing
        - project management
        - file server
        - mail server
        - static server
        - ruby/node server
        - php / wordpress blog
    

Just off the top of my head. That will cost you _a lot_ of time and head-
banging.

~~~
autarch
I do at least some of this with the server in my basement.

* version control - git and gitweb - I mirror all my repos to github for discoverability though * invoicing - I've done this with text files to track hours and PDFs for invoices (via LibreOffice) - low tech but simple enough * document sharing - my home dir on my server (weak, I know, but simple) * file server - see above * mail server - postfix, amavis, and spamassassin aren't _too_ hard to set up * static server - apache or nginx are trivial to set up * ruby/node - well, I mostly serve Perl stuff, but same deal using Starman - this isn't too hard either * wordpress - yep, installed this too

Things I don't host myself:

* bug tracker - I mostly use rt.cpan.org and github * project management - I use Hiveminder

Now if I had to learn all this from scratch it would indeed be a lot of time
and head-banging, but I've learned about this stuff over many years of using
Linux and hosting my own stuff. And they're all useful skills to know as a
developer.

I think any developer who's working on web apps should understand at least the
basics of how web and mail servers work. Even if you outsource this stuff to a
CDN and something like Sendgrid you should know the tradeoffs involved instead
of just picking the outsourcing because you can't set it up yourself.

------
testimoney2
I can be fun if you have your own server, I have webhosting with 1and1 but no
virtual/dedicated server. So hosting everything myself would cost me money to
take the server.

Also I don't find it very secure, you would need to have multiple backups to
make sure nothing gets lost if your server gets erased.

~~~
DoubleMalt
What is the backup guarantee of 1and1 ? Usually hosting providers don't give
any guarantees for that.

And even if it feels safer because you assume they have people working on it
that know what they're doing, in many cases this is a very bold assumption.

------
crisnoble
How would one go about self-hosting a website? I have shared hosting but would
love the challenge of setting up a LAMP server that is physically in my
possession and have full control over it.

~~~
fiatpandas
Pretty painless:

1\. Get an old computer and plug into router

2\. Install ubuntu server

3\. Buy your domain from namecheap.com and look up their documentation on
dynamic DNS (assuming you are on a home net connection

I did self hosting for years (age 16 - 24) with the same K6-II box. Just
recently retired it and use a VPS now, but I highly recommend doing it to
anyone

~~~
ams6110
4\. Fight with your ISP who doesn't want you hosting services on a "home"
internet connection.

Honestly this might work OK for a personal blog or something but is not a
realistic approach to hosting anything with volume or for business purposes.
Also you will still probably need to pay for SMTP service as there is almost
no chance of anyone accepting mail from your self-hosted SMTP server when the
reverse lookup resolves to an e.g. Comcast residential DHCP name.

~~~
fiatpandas
Of course you aren't going to have access to outstanding bandwidth, but I've
used it for business purposes for years. Whether or not you would want to use
it for business depends on a number of factors, but I don't think you can
flat-out say it isn't realistic for any business.

I've personally never had issues with my ISP blocking it, but I read accounts
from time to time (in this thread for instance) where people had issues with
ToS enforcement. You'll have to evaluate your own situation, or just give it a
shot until they explicitly react.

But you are right about email- it's a pain. Most likely you will have a bad
time trying to get something authentic-looking working with a home ISP. Even
doing it on a legit VPS is fairly complex.

------
i04n
self hosting an e-mail server is a headache.

~~~
quesera
Well, the headache is in making careful selection and configuration choices.

Done properly, it really requires very little ongoing maintenance. Maybe a few
hours per year. DNS requires even less.

~~~
glomph
Spam filtering? Security updates?

------
tlrobinson
Add to the list of reasons it's a bad idea: Security.

Unless you're confident you can securely configure your network and services
AND stay on top of patches, etc it's probably a bad idea to self host.

------
WayneDB
Couldn't we start a co-op where every member user/company/organization owned
the servers? That way nobody is hosting on a third-party server where the
federal government feels that they have eminent domain?

~~~
snowwrestler
Whether the servers are owned by a co-op or a big company, if the U.S. federal
government comes calling, you will have to answer if you or your servers are
in the U.S. That is just the nature of a government.

