Feedback for a small server project

Russell L. Carter rcarter at pinyon.org
Fri Nov 13 20:48:59 UTC 2020


On 11/12/20 5:13 PM, Christian Baer wrote:
> Greetings Programs! :-)
> 
> This is not exactly a FreeBSD question, so please don't throw rocks at
> me! :-) FreeBSD will however most likely be utilized for this project!
> 
> Because of the lockdown here in Germany (I know, in many other places
> too), I have way too much time on my hands. And since I haven't
> had the chance to really spend any money since April, I can afford to
> spend a little. Don't go crazy, everybody! :-P
> 
> I would like to build a little server for my own use. This server is to
> be reachable from the outside, so this is not really a home NAS thing.
> A few things I'd like to run:
> 
> - Webserver (Apache or nginx)
> - Nextcloud
> - Jitsi
> - Dovecot
> - maybe an XMPP (like Prosody)
> - maybe a Matrix server
> 
> I am currently using Nextcloud on shared hosting but would like to port
> that to hardware I control, not so much due to trust issues but because
> some of the NC-apps use a few more CPU-cycles than my ISP likes. While
> the performance for up- and downloads is more than fine, phonetrack is
> pretty laggy. This would be the first service I would set up. I
> currently also use XMPP, Matrix and IMAP, but on external servers and
> this works fine for me. So Jitsi would probably come next. But I do
> want to run all services in the long run.
> 
> My internet connection is fast enough to run this sort of thing for my
> purposes.
> 
> I am thinking about doing this using an ODROID N2+[1], the 4GB version.
> I have two main reasons for this:
> 
> - ludic drive
>    Doing this on an ARM is way more exciting than on an AMD64. :-)
>    I have alread got a case for everything (an old modem from
>    the early 80s). It would look pretty cool. :-P
> 
> - energy cost
>    Electricity is annoyingly expensive in Germany (a kWh costs ~30
>    Eurocents). So the fact that this computer needs a relatively small
>    amount of electricity (compared to the alternative) is a good factor
>    for me.
> 
> The alternative would be a computer I still have standing around here.
> It's an AMD A10-7800 with 32GB of RAM on an Asus ROG board. It was
> bought for a special (non-gaming) purpose (hence the high amount of
> RAM), but never really got used, so it currently just collecting dust.
> 
> The usage scale of this project is pretty minute actually. We are
> talking between a dozen an two dozen users at the most - closer to the
> one dozen, probably even less. It would be my family (including my
> brother and his family), maybe one or two people from work and a couple
> of friends. Most of the time, the system would be used for file storage,
> text messages (possibly photos or media messages). Video calls may
> cause some slightly higher loads.
> 
> I am guessing that the "real" computer (as apposed to the SBC) will
> probably have more CPU-power and the extra RAM will also make a
> difference, but with a 65W TDP CPU, it will [probably] also *need* more
> power. :-) I have also considered that the "real" computer has much
> better connectivity for HDDs, which do not have to be connected via USB.
> 
> What do you guys think? Would the SBC be able to deal with
> the said tasks or would it be worth using the machine I already own and
> deal with the electricity bill? I do want to have some reserves, so I
> do not have to turn anyone down, who may wish to join the club, but I
> do not want to go for an overkill either.
> 
> Please give me your thoughts!
> 
> Best regards und stay negative!
> Chris

In your place I would build and debug the services on the
existing machine with its plenty of RAM.  4GB won't be enough, I
suspect.  I would spend some time looking at the RAM requirements
for the mature services configuration, even watching htop is helpful. 
Then if the energy costs were vexing I would replace the energy hog
with something that exceeds your peak memory loads.

Someone mentioned a Supermicro SuperServer, that looks great.  There
are many systems like that, and in my experience for maintainability
there's nothing better than a case that is big enough to get your
hands into.

I have only a few systems that are as small as what you want.  I got
a used Facebook 32 thread xeon motherboard with 128GB and discovered
it gave me capabilities I hadn't thought of.  For instance, weekly
or even daily poudriere runs over a 1700 port set are feasible.
Overall I am killing the planet at about $100/month.  This supports
four "large" servers, 3 boundary routers, a nice 24 port PoE 1Gb
switch, which serves some Unifi access points and a couple of video
cams (all are little servers too).  Ubiquity runs on obsolete
debian versions, and it turns out bhyve is perfect for hosting
those.  128 GB is ample for 32 threads running 200 poudriere
thasks (I never touch swap) and a few bhyve vms.

Since I live in the country I have to keep some spares (power
supplies, drives) around.  The big servers make noise so go in
a closet.  This needs a fan.  The fan needs a spare.  All this sounds
awful I suppose but I think it's fantastic for the flexibility.  I
can access a lot of hardware trivially with multiple operating
systems.  I have a lot of redundancy on my border servers, so 
dovecot/postfix setup is for instance replicated.  I purposely
stay as stupid in my replication as possible because conceptual
and algorithmic complexity seems to explode as you try to google-ize
everything.

Anyway I read those threads on Hacker News about the FAANGs taking
all of the fun out of living an entire physical compute life on
an Apple laptop, and I just shake my head.

I just want to encourage your project.  From what I have seen, the
"cloud" works fantastic for all the reasons people say, and it is
even, in general, the most perfect vehicle for hosting a trunk to
stuff all its customers into, with hatch closed and the key locked
in some corporate vault.

Good luck with your project,
Russell

> [1] https://www.hardkernel.com/shop/odroid-n2-with-4gbyte-ram-2/
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
> 



More information about the freebsd-questions mailing list