
Self-Hosted Homelab Website - ashitlerferad
https://hydn.dev/homelab/
======
calibas
I was impressed by the performance, especially with ExpressJS, and started
digging deeper until I noticed "cf-cache-status: HIT".

What I'm seeing is not really a "self-hosted website", but a Cloudflare-hosted
cache of a self-hosted website.

 _Edit_ : I wanted to get an idea of the "real" performance, so I went to a
non-existent page so the cache would miss. I waited 930ms for a 301, then
another 590ms for the 404 page.

~~~
ashitlerferad
Of course it's using cdn/Cloudflare. I live in the Caribbean. Good thing it
was! A topic such as Home Lab will see traffic from all over globally. No cdn
would be terrible idea.

Not sure of you are located but Pingdom test for 404 does not match your
claim:
[https://tools.pingdom.com/#5ca8d73c1e400000](https://tools.pingdom.com/#5ca8d73c1e400000)

And of course 404 pages will be slower. Because Cloudflare still has to
receive the request first, then check origin server roundtrip before
responding.

The site is just a hobby page and the only thing public facing that I self
hosted. Even my main blog which is hosted in North America uses full-page-
cache CDN courtesy Bunnycdn.

~~~
calibas
I understand the need for Cloudflare in this case, I just didn't realize it
was being used at first and got rather excited about the prospects of self-
hosting. I don't mean to insult, I just got a false impression and wanted to
make sure people here knew that the resources aren't really being served by
your server, at least in most cases.

I just ran that Pingdom test again, 938ms for the 301 and 3861ms on the 404 on
a missed cache. Now that it's in the cache, _everything_ loads in less than
247ms.

~~~
ashitlerferad
No worries. I understand what you mean. I have not seen high response times (3
secs u report on first request) for 404s yet via Pingdom but then again the
site has only 3 or 4 pages so not worried about 404 performance.

Thanks!

------
whalesalad
Sweet! Here's my homelab -
[https://i.imgur.com/QS0o4ni.jpg](https://i.imgur.com/QS0o4ni.jpg) \- I should
self host an about page, too.

\- Netgear Cable modem

\- Edgerouter ER4

\- 8-port POE Edgeswitch, powers the nanoHD AP in my hallway and acts as the
backbone of the network.

\- Raspberry Pi 3 as a dedicated pihole DNS server

\- TPLink 16 port switch serves all the 'lab' gear.

\- 2x R720's. One is off, the other is a VMWare ESXi host.

\- ESXi is pretty light at the moment - running Unifi controller and a
dedicated VM that just runs Elasticsearch for a side project. For a while I
was heavily using it to simulate an AD deployment for a small business.

\- Synology DS918 is a network drive and network time machine backup
destination. It backs itself up to Backblaze nightly.

\- Everything is on a simple Cyberpower 1500VA UPS. I can run everything for
about 80 minutes without power, but if I shut down the R720 the runway gets
much longer.

I got my start in about 2003-2004 by trying to run my own mini ISP out of my
home during High School. I was doing everything over a residential DSL
connection that only got 1.5mbit down and a fraction of that for upload.

I still remember asking my bud to help me 'test my mail server' which was a
Qmail installation via the Qmail rocks guide. The machine was a Pentium 3 with
128mb of RAM. My bud Anand (Founder of Gyrosco.pe) sent a handful of test
emails to it and brought it to its knees! Absolutely hilarious incident at the
time.

I wish that I had more photos of that time in my life.

~~~
pbk1
Can someone ELI5 why PiHole is preferable to an in-browser blocker like
AdBlock Plus?

~~~
OJFord
Some not very technical reasons:

1) Run once, use everywhere. (Including devices without a browser, like an
Android/Apple/'smart' TV.)

2) iPhones.

3) Configure alongside rest of networking, not clicking buttons to manually
sync within browsers of the same type.

~~~
kohtatsu
iPhones can run DNS blockers locally[1], and Apple has a good API for privacy-
preserving content blocking[2].

[1] [https://apps.apple.com/ca/app/dnscloak-secure-dns-
client/id1...](https://apps.apple.com/ca/app/dnscloak-secure-dns-
client/id1452162351)

[2]
[https://developer.apple.com/documentation/safariservices/cre...](https://developer.apple.com/documentation/safariservices/creating_a_content_blocker)

~~~
OJFord
Sure, but that's not (or equivalent to) AdBlock Plus, which is what I was
replying to.

Specifically, iPhones cannot do in-browser content or domain blocking if the
browser is not Safari.

~~~
kohtatsu
[https://developer.apple.com/videos/play/wwdc2017/220/](https://developer.apple.com/videos/play/wwdc2017/220/)

[https://github.com/ShingoFukuyama/AdsBlock_WKWebView_for_iOS...](https://github.com/ShingoFukuyama/AdsBlock_WKWebView_for_iOS11/blob/master/README.md)

------
ransom1538
If people are showing off a lab. My lab always sparks a conversation. I wanted
to prove I could beat twilio's texting rates.
[https://i.imgur.com/gKknrJn.jpg](https://i.imgur.com/gKknrJn.jpg)

~~~
ian0
I worked in telco in Indonesia where this type of thing is taken to the next
level.

Back in the day you would walk into a rooms filled with racks full of phones
for SMS / Airtime sales "optimisation".

I tried to google some pictures now but it turns out Im behind the times.
They've gotten rid of the phone part completely! [0]

Now you just buy the sim cards and let modems do the rest..

[0] [http://modempool.net/wp-content/uploads/2016/05/2-jual-
alat-...](http://modempool.net/wp-content/uploads/2016/05/2-jual-alat-server-
pulsa-jual-modem-wavecom-jual-modempool-modem-pool-8port-8-port-16-port-
usb.png)

~~~
walrus01
things like [0] are really commonly used for grey market voip in all
developing nations... There's devices which are specifically a GSM-based 2G
voice interface on one side, with a SIM card, and a SIP phone you can register
to asterisk on the other side. With 8 or 16 devices integrated into one
enclosure.

------
floren
A photo followed by a dozen Amazon referral links kind of rubs me the wrong
way, even if I appreciate a nicely put-together setup like that.

~~~
themodelplumber
Not sure if I agree. It doesn't cost you any extra to use those links when
you're shopping for gear (last I checked), it's a creative and unusual setup
to see in someone's house these days, the photo delivers a good amount of
impression, and the resulting website is just nice to look at. On top of that,
he did go to the trouble to list all of the gear, which there's a good chance
won't even be remotely paid for by the affiliation.

Yeah, the more I think about this, to me I think this counts as supporting the
community.

------
zeeg
Looks awesome! I went down the homelab-ish rabbit hole recently myself and it
was probably the most fun I've had in a long time on a project. My goals were
more about hosting a bunch of IoT stuff internally (sensors, cameras, etc),
but I wrote up a bit about at least the rack/equipment here:
[http://cra.mr/my-journey-into-home-automation/](http://cra.mr/my-journey-
into-home-automation/)

At some point, I'm hoping to dive a bit deeper on the software side, which was
also super fun.

~~~
Constant-fly34
Awesome! Love it.

------
DictumMortuum
Nice!

I have a raspberry 2b+ with several services: ldap, syncthing, gitea, cups
server, minidlna, torrent server, NFS, nginx for PHP stuff like phpldapadmin,
phpmyadmin, nextcloud, etc.

I realized that I don't need a public IP. I set up zerotier on all my machines
and pointed a subdomain that I own to that IP. OK, other people can't visit
it, but I rarely need them to.

It's perfect, but nextcloud is slow :( Maybe an upgrade to rpi 4 will help it
be faster.

~~~
jjice
If you wanted it to be publicly accessible in the future, I think you can rent
a cheap VPS (DO Droplet) and set up a VPN, and then connect to that VPN on
your Pi. Then you can have Nginx on the VPS and reverse proxy to any services
you'd like.

~~~
DictumMortuum
I've been monitoring what VPSs are an option. I'd like to have something
faster, because it'll be cost-effective, but I don't want another headache.

------
chrisco255
I haven't self-hosted a website in a long time. Do you still need a static IP
in order to do so, or do you have some kind of service that updates the IP?
How does it interact with DNS?

~~~
creatornator
There are "Dynamic DNS" services with a small daemon you install on your
server that continuously update the DNS address so it remains online even if
your ISP changes your IP on you.

[https://account.dyn.com/](https://account.dyn.com/)

[https://www.noip.com/remote-access](https://www.noip.com/remote-access)

~~~
seb314
btw this can be done with a 'proper' domain name too (e.g. at namecheap)

~~~
bananaeater
yep, I've done this before with a handy tool called ddclient, although there
are other tools out there.

------
VBprogrammer
I feel like I've missed a meme. What exactly is a homelab?

~~~
megraf
Assuming you're not trolling, here's a decent intro:
[https://www.reddit.com/r/homelab/wiki/introduction](https://www.reddit.com/r/homelab/wiki/introduction)

~~~
VBprogrammer
Not trolling, I had no idea. Obviously I got it was basically a home server
setup but I couldn't see where the term came from.

~~~
OJFord
I don't know where it comes from, but the distinction's basically 'when a home
server becomes home servers', or at least becomes a hobby, as opposed to just
setting up and forgetting a Pi-hole once or something.

~~~
detaro
Originally, a "home lab" is specifically for learning and testing, primarily
for professional reasons: i.e. someone going for a Cisco networking
certification might get a stack of old Cisco routers and build test
environments with them, someone learning windows networks might setup a
windows domain on multiple PCs, ...

It's kind of morphed and people fold their home "production" environments into
the term too.

~~~
OJFord
Well, sure, but IME 'production' at home is essentially the same as lab
tinkering. How many home labbers have even one home environment besides
'production'?

~~~
detaro
I meant "production" in the sense of "things you run to use, not just to
learn". I.e. on /r/homelab you get many people with "I have a bunch of
Ubiquiti gear, a NAS and a server running Plex", which isn't that
"experimental", even if they did learn something while setting it up. Whereas
the mentioned pile of Cisco routers might never see traffic that's not part of
testing something. And of course the two can mix.

------
galacticdessert
Well, I have a small living room server/home lab as well, but it's a 12 years
old MacBook pro running Debian. I love the idea of having my own server where
to run small personal projects, have some daemons running in the background
and use it as a NAS, but I cannot justify any investment for it. Scrape parts
or nothing.

~~~
pnutjam
I run everything on an old Dell desktop with a i7-2600 CPU and 8GB of RAM. I
just run OpenSUSE and use it as a NAS(samba), remote desktop (x2go), pihole
server, torrent host, etc..

------
awinder
I went down the edgerouter path (edgerouter x sfp) and have regrets, in case
others get ideas (or if someone has fixes, I'm all ears). Don't get me wrong,
the device works great, I was entertained by it running vyatta which I had
experience with at the time, and I just got
[https://github.com/nextdns/nextdns](https://github.com/nextdns/nextdns)
running on it which is super awesome. But I have a bunch of devices connecting
to wifi, which seems to work waaay better integrated with the unifi line of
products. I'm probably going to swap it out one of these days, and I can make
due with running the controller on a 24/7 box to smooth it out a bit, but I'd
totally go unifi down the line if I had to do over.

~~~
zrail
I tried to start with an edgerouter and a Unifi AP and quickly switched to an
all-Unifi setup. I recently switched from a cloud key to running the
controller on a $5/mo Digitalocean VM when the UCK died for whatever reason.
I’m not sure about how ultimately reliable it’ll be but I like it fine. The
remote adopt function in the iOS app is extremely slick.

------
quaintdev
I have simple note server[1] running on raspberry pi. I want it to be
accessible from Internet but my ISP uses double NAT and theirs no other way
around it. :/

[1] :
[https://github.com/quaintdev/pinotes](https://github.com/quaintdev/pinotes)

~~~
0xCMP
Tailscale or Zerotier are good ways around that.

Or setting up a really cheap server (e.g. I like RamNode) as a central VPN
point.

------
didip
I didn't see your storage solution. Do you just backup everything on S3? or do
you have a SAN, not listed here?

------
jerrysievert
I have my own (not nearly as sophisticated) home lab, with an old self-built
desktop acting as a kvm host.

while it's not as pretty, the biggest win for me was to move all of the vm
disks onto a Synology that I'm mounting via iscsi. it tends to work really
well.

------
distracted_boy
Is your server that is running the website, running in a segmented network?
Meaning, it's not on the same network as your other internal devices.

------
w84death
I have that for a long time :) mine:
[http://194.126.207.20/](http://194.126.207.20/)

~~~
themodelplumber
Right on. :) I like your use of video at
[https://cyfrowynomada.eu/](https://cyfrowynomada.eu/)

~~~
w84death
Thanks!

I found this trick to make vimeo videos "seamless" just as gifs back in the
days. It's surprisingly not distracting yet super vivid :)

------
pak9rabid
Damn that's clean. I think you've inspired me to clean up my home lab rat's
nest.

~~~
lostlogin
The sub [https://www.reddit.com/r/homelab/](https://www.reddit.com/r/homelab/)
is worth a look for inspiration. It has some great posts and threads.

------
dvfjsdhgfv
How do you deal with the noise?

------
nojito
No mention of electricity costs and/or usage.

~~~
LennyWhiteJr
$10k in hardware + $150/month electric + a noisy/hot room :)

~~~
cchance
na dont think its that expensive at all, and most of those items are pretty
silent/cool hes not running big dell r713s

------
wishinghand
Are the 1 unit blanks for cooling reasons?

------
designium
The cables are very well organized.

