top | item 34065234

Ask HN: Host a website from a living room in 2022?

135 points| tomekw | 3 years ago

As in title. Is Raspberry Pi a viable option (SD card?!)? Should I get an Intel NUC? Fanless would be really, really nice.

Thank you!

EDIT: OK, a web app, not a website, the service is not critical (it's my side project, 5yearsback.com), I'm 100% technical, the app is in Clojure, but I plan to deploy Zig services as well

EDIT2: I've a static IP.

158 comments

order

ocius|3 years ago

I can recommend the Rasperry Pi for self-hosting, if you pick one of the more recent models with more RAM (3 or 4 with 4GB of RAM at least). You just need to keep in mind that the availability of your website is not quite as good as if you were hosting in a datacenter.

Regarding security: you might want to have a look at cloudflared. This is a (free for small projects) service by Cloudflare where your server (Raspberry Pi) connects to cloudflare, and all HTTP traffic is proxied through Cloudflare. This has multiple advantages:

- you don't need to open a port on your router that forwards to your Pi, which is good for security and simplicity (some routers don't even have this option)

- you get all the cloudflare protection with the click of a button, including HTTPS with automatic Cloudflare certificates, DDoS protection, etc

- you don't need DynDNS to point to your dynamically changing IP

spansoa|3 years ago

> You might want to have a look at cloudflared

I think people self-host with their ISP to get away from centralized choke-points such as Cloudflare. Unless you're fine with having Cloudflare have yet-another-datapoint.

digitallyfree|3 years ago

I run much heavier networking equipment (enterprise routing/switching + rack server) but I also host at home using cloudflared on a slow DSL connection. It works very well and the CDN's caching helps with my low upstream bandwidth.

You aren't tied to Cloudflare in the sense that there are other CDN services to choose from, each with their own pros and cons. With the servers on your own infrastructure you can choose the provider you like and easily switch between them. I also have ports forwarded for services that I don't want to proxy.

tomekw|3 years ago

Thanks. Fortunately I've a static IP.

WhiteBlueSkies|3 years ago

Aren't there obvious dangers for example if I use my Macbook and host it a server?

achairapart|3 years ago

Yes, a Raspberry is a viable option. These days I do most of my computing on a Raspberry Pi 4 attached to my home router:

https://fatcity.it/

One thing you really need is an SSD, though. I use a cheap Kingston, it works great but you must pay attention to the right USB->SATA adapter, picking one that's fully compatible with UAS drivers. For booting directly from the SSD with Ubuntu there is this useful guide:

https://jamesachambers.com/raspberry-pi-4-ubuntu-20-04-usb-m...

Performance wise, this little computer runs mostly like a common VPS, I think on par with a droplet from Digital Ocean, for example. Here some benchmarks:

https://pibenchmarks.com/benchmark/62022/

If you don't want to share your IP, a Cloudflare tunnel is a great alternative:

https://developers.cloudflare.com/cloudflare-one/connections...

Also, another essential tool is Tailscale, with it I can access my home server from basically everywhere just like a LAN connected device: https://tailscale.com/

PS: You can also do your own tunnelling with OSS alternatives, if you have enough patience/time.

Anyway, feel free to ask anything.

albrewer|3 years ago

Thanks for the info. I'm in a similar situation as OP and I think I can get this going without an issue.

l72|3 years ago

I have a fitlet2(https://fit-iot.com/web/products/fitlet2/) that I use for hosting various services. It is fanless, 16G of RAM and 500G SSD. This is my NAS, and I am currently running:

- Jellyfin - Media Server for all my tv, music, and movies

- Nextcloud

- Photoprism - Picture Manager

- Yacy - Private Search. I run this in 'robinson mode' and basically use it to replace all my bookmarks

- Homeassisant

- Frigate - Monitors my cameras and does object recognition. I use Coral USB to move detection to hardware

- Snapdrop - AirDrop replacement

- FreshRSS - RSS Server

- Bitwarden - (bitwarden_rs/vaultwarden)

- Imapfilter - Filter/tag/run external software on incoming emails

- Vikunja - Task Manager

- Dolibarr - ERP Manager for side business

- Bookstack - Wiki

- Several Static Websites

- NFS (as a NAS)

Frigate takes the most CPU, even with the Coral, but it is doing object detection on several high-res Remote Cameras. Even with that, my load is < 1.

I run all these in docker (each that needs a DB has its own DB instance too), with nginx-proxy and letsencrypt-nginx-proxy-companion in front of it.

Most of these are internal only (I use the access=internal), and have an always connected wireguard VPN on my mobile devices and laptops. A few are public, but pretty low traffic.

I have a static IP, and am running this on DSL that is 30M/7.5M. My router is a netgear with DD-WRT installed.

pinecamp|3 years ago

This looks really cool. It's the first time I've heard of fitlet, and seems like exactly what I've been looking for to replace my old noisy server.

Did you consider any alternatives when putting together this setup? Or for others reading, are there similar fanless options to compare?

revicon|3 years ago

Neat setup, I've considered starting down this path as well.

With this setup, how do you deal with data backups, especially if multiple of your docker instances have databases of their own?

wrycoder|3 years ago

Very nice!

How do you handle backup?

You don’t seem to me running RAID on the NAS?

RobotToaster|3 years ago

Isn't it normally a bad idea to run a NAS without ECC RAM?

mikedelago|3 years ago

There's a few ways.

Already have an old pc hanging out somewhere? Good - don't buy anything new. Run the HTTP services from there and set up port forwards in your router, and DNS with your domain registrar (or set up cloudflared as other commenters noted). You're done.

Step further, you can go with a RasPi or a similar SBC, but just be aware running with ARM can have its' own challenges.

I'd recommend a cheap x86_64 machine from ebay, such as an HP t730 plus thin client. Native SSD support, higher/upgradeable ram capacity, and better IO would all come together to make a better server machine. The RasPi would win out on a few points (power draw, memory speed), but in this scale it likely wouldn't be noticeable.

Lastly - don't be afraid of cloud services. A GCE/EC2/vultr/hetzner server can get you pretty dang far for just a few bucks a month. Also, this makes it easy to get some exposure to infrastructure provisioning tooling (I prefer Terraform and Terragrunt) and server configuration management tooling (I prefer ansible).

rakoo|3 years ago

I would go for a secondhand old laptop. Not only will it prolong its life instead of pollution by buying even more new machines, you have integrated screen and keyboard for debugging and a battery acting as a cheap UPS. Parts are easily found. x86, so no funny business with experimental builds.

Jeremy1026|3 years ago

Having a battery on your server does nothing for being a UPS for your website if you don't also have one on your source of internet.

ChuckNorris89|3 years ago

>I would go for a secondhand old laptop

But only if you don't live in Europe, as old laptops tend to be quite energy inefficient by modern standards, and at the current energy prices, you'll see the difference on the yearly bills, between an old laptop and a new one running 24/7 in your house.

You can get chines barebones with modern quad core 11th gen Intel Celeron chips that sip power for about 150 Euros. The best part is that some are even flanless so they're dead silent and there's no more worrying about cleaning the dust from the fan every few months. Just chuck it somewhere out of sight and you never have to thin about it physically.

newaccount74|3 years ago

Lithium batteries have a finite lifetime and I wouldn't want an old lithium ion battery hanging on the charger 24/7 in my appartment. Fire risk is too big.

ThrowawayR2|3 years ago

Keeping the laptop's battery at 100% charge on laptops will shorten its lifespan considerably and they won't find out whether the battery has gone bad until the power goes out. Some newer laptops have charge limiting that can mitigate this but a secondhand laptop likely won't.

ectospheno|3 years ago

Get a cheap vps. Set it up as a wireguard server. Stick a barebones haproxy on it. Run it in tcp mode pointing at a wireguard client ip for the backend.

Pick some machine in your house. Make it a wireguard client connecting to the vps. Run whatever web server/app you want. Make sure your home router is running something like fq_codel.

Done. You don't need dynamic dns as your home client will just reconnect. Your ISP won't see any ports open because there aren't any. Your SSL certs and all data live in your house, not on the vps. There is nothing to backup at the vps except for yanking some logs.

pflanze|3 years ago

> Stick a barebones haproxy on it. Run it in tcp mode pointing at a wireguard client ip for the backend.

If you have just one backend server instance, you could also use a DNAT iptables rule instead, which would have the advantage of not hiding the originating IP from the backend. Or am I missing something?

renaissance_tea|3 years ago

Is it public? If you host a high traffic site from residential ISP connection, your account could get banned.

Regardless, I would host an NGINX proxy in front of some docker containers. It’s the easiest and classic way to front apps with custom domains very very easily. Traefik is also very nice and fast (Go based) reverse proxy.

If it’s purely for personal use, then check Cloudflared to tunnel into your network and access it like a VPN.

Again, if it’s Public be weary of DDOS attacks, port scans, etc. Personally I wouldn’t self-host a public web app from my house and instead would use a 4/mo VPS from Hetzner

nirvgorilla|3 years ago

Man, you are way too afraid dude.

It's YOUR internet connection. Who's going to ban you for opening ports and running a server? I've been doing it with comcast for 20+ years.

Maybe not all my server traffic goes through port 80 or 443, but my server is also my torrent seedbox which is high traffic and just another port. WHATEVER.

My server is just a Windows 7 PC in the living room with no monitor, no keyboard, and no mouse. Only connected power and ethernet. I remotely control it with RealVNC and it's extremely stable. The only time it goes down is a power outage because I don't use a UPS.

I use it for a website (nginx/let's encrypt), Jitsi Meet, Mumble, Ventrilo, FTP, proxy (8080), and of course torrents. Not afraid of port scans.

I use a couple of DDNS domains that I give people but I can disable the public one I give to people and change my IP any time I want.

NOT VPN. NOT Cloud. NOT VPS. NOT pay monthly to someone. You can do it all yourself for free and have been able to for decades. Quit being so scared, cell phone generation.

whalesalad|3 years ago

An alternative to relying on your static IP (and all that comes with it, like needing a strong firewall and awareness/monitoring of activity there) would be to use the Cloudflared proxy/tunnel. https://github.com/cloudflare/cloudflared

cramjabsyn|3 years ago

Get a cheap USFF (ultra small form factor) PC. Its essentially laptop components in a small headless box. For the going price of a rpi 4 you could have an i5 or i7 with 8-16G ram and a proper SSD

ksrm|3 years ago

These seem to have laptop-style fans in them - do you know if they can be run silently?

newaccount74|3 years ago

I think the best home server is the 2014 Mac Mini because:

1) internal HDD can be replaced with cheap, big SSD

2) Computer is absolutely silent

3) everything in one package, no mess of cables

4) very reliable

5) very low power usage

MacOS isn't the best OS for running a server, but I'm used to it so I don't mind setting up launch agents instead of systemd units

discordance|3 years ago

There are a bunch of micro SFFs like it (Dell/HP/Lenovo etc) with 6th-8th gen i5/i7s) with the same power, noise profile and are $100 off eBay.

Much better value and power over a raspi.

revicon|3 years ago

Seems like one issue would be that an older Mac device is not going to be able to run new software updates once it ages out and wont get new security updates once that happens.

anaganisk|3 years ago

Go with an intel NUC i literally wrote a script to alert me on raspi stocks and luckily found 4 of them 8Gb versions. Used intel NUC (I bought a beelink one which is so quiet) for much cheaper $130, and actually runs pfSense now. My dell 7080 bought used for $160 consumes like 5$ worth power in weeks and has 32GB of ram. Raspberry Pi is purely good for prototyping, or if you have any use for GPIOs. Else, the above options are far better for cheaper.

user432678|3 years ago

Had the same question a year ago, researched quite a few options. Ended up buying used micro server (Fujitsu Primergy 120 S3) for around £30. Then upgraded it with low power 8 core Xeon and slowly maxed out it’s RAM. Currently it runs Proxmox with a dozen of LXC containers, Go/Node.js web apps and static websites using Caddy, mostly for home usage, only a few exposed to the internet using free Cloudflared tunnels. It also has a few VMs with k8s cluster just for the experiments. Overall I am very happy with this small setup, as a frontend developer transitioning into backend development it helped me significantly to improve my skills. I also sleep well as I don’t need to worry about spinning up quite expensive AWS services incorrectly and taking a mortgage after just to cover my learning mistakes. The only downside, though is that now you need to setup backup and pay for the electricity a little bit more than what Raspberry Pi will cost. But it’s still much much less than the price of around 20 VPSs you might buy at Vultr or Digital Ocean per month.

pomatic|3 years ago

Do you know what the average power consumption of this box is? It sounds like you may have found a sweetspot!

abadger9|3 years ago

Coincidentally, I was thinking about this about a week ago. If you look at my post history my career traces a pre-ipo FAANG where everyone knew how to spin up a service and connect it to the internet (think bootstrapping 101). I had a thought experiment last week where if I were to ask this to new grads entering FAANGs, the majority of them probably would not be able to elucidate the steps required.

quickthrower2|3 years ago

Even someone who I know was wasn't a coder or that technical (but in IT) did it back in the day (early 2000's). I guess it was the changing the engine oil of the time. That said the new kids will know their SSR for their React Hydration better than me :-)

rsolva|3 years ago

I host personal and semi-commerical websites/apps from home on a 500/500 fiber connection. The hardware is an older HP G1 800 SFF, which you can buy refurbished for ~€150, much more bang for your bucks than a Pi. Proxmox makes it possible to host many webservers and services on LXC containers. But of course, a Pi would work too :)

I have choosen to treat IPv6 as the default stack as I can point directly to the address from outside without any NAT. A reverse proxy handles all "legacy" IPv4 requests. My IPs do change once in a while, but I have made a little bash script that updates the DNS via my domain registrars API, works like a charm!

Nican|3 years ago

I just have an old Dell computer [1]. They are pretty small, quiet, has an SSD, and I do not need to fiddle in having everything compiled for Arm.

I would also put your app behind CloudFlare.

Also- if you are able to afford an intel NUC ($200?), and the app is low resources enough to be able to run on a Pi. You could also consider getting a VPS ($10/month).

[1] Something like https://www.newegg.com/dell-optiplex-7090-business-desktops-... - but older, and found on a local recycling center.

WJW|3 years ago

A pi is a viable solution up to at least a few thousand visitors a day, depending on how spread out they are. You will need to find a way to give your pi/NUC a static IP address though. Many ISPs will give you a static IP, then you can simply set up port forwarding for port 80/443 on your router and be off. If not, ngrok or a similar service can work as well.

That said, unless you have an ideological reason for hosting it from your own home there are many platforms out there that can comfortably fit most non-critical webapps in their free tier with even less hassle than setting up a pi.

fsloth|3 years ago

"there are many platforms out there that can comfortably fit most non-critical webapps in their free tier with even less hassle than setting up a pi."

What are "the best" at the moment? (best being whatever metric one feels is relevant for this scope)

bibelo|3 years ago

Think about security on your home network. If your publicly accessible webserver gets compromised, it can be used to reach your personal computers at home.

Or the other way round, which IMO would not be so serious (ie your already compromised personal computer being used to access your public webserver...)

You could try to isolate your webserver, but would need a dedicated router with specific features to do it (best being able to do VLANs).

mro_name|3 years ago

interesting hint – what is the percentage of infected windows boxes again? 80%?

johnklos|3 years ago

Pi devices are more than capable of running web sites and web apps. I'm running a somewhat busy SearXNG instance on a Pi 4, for instance. Just get self-powered USB attached storage and a Flirc case, and it can be completely fanless (so long as the storage is fanless), and you don't have to worry about your SD card wearing out.

Even if you don't get storage with its own power supply, you can use a "Y" USB cable for extra power, provided the same power source is used for the Pi and for the storage. This can have the added benefit of backfeeding power to the Pi, which, again, is fine so long as the power sources are the same.

While my Pi 4 is colocated, it has a Flirc case so it can run all four cores at 100% without ever having thermal issues, and the two USB attached disks are mirrored (raidframe), and it has been 100% stable for many, many months of heavy use.

sokoloff|3 years ago

"How thick does my rope need to be?"

I serve a website for my 3D printers from a Raspberry Pi (some are 3B+, some are Zero-W). It's just for "the set of people in the house who use the 3D printers", so the Pi is fine and obviously a viable candidate.

I have an ESP32 (or it might be an ESP8266 even; I'd have to look) that serves a status page for the boiler and near-boiler temps. That's also in-house only, but even that's on the slow side. https://imgur.com/a/JmeXYnj

What is the load this site is expected to serve? To what visitors? How static/cacheable is it? For me, an RPi goes a long way for anything in-house. Out of the house traffic, I'd look at a cheap VPS pretty early in the journey.

pflanze|3 years ago

A drawback of the Pi 4 is that if you want to do RAID with USB hard drives, I found that you need a separate powered USB hub for each disk. That's (A) to give them enough power (although I used spinning disks, it may or may not be necessary for SSDs), and (B) I found that when I had them on the same hub or on the Pi directly, when one disk went down, it would lead to the other disk becoming inaccessible as well. It seems with separate hubs, that's not an issue. (Don't ask me about the technical details why that might be so, if you know more and can explain that I'm wrong, go for it, it was simply the result of my experiments (with an n of 2 or 3 or so), and does make sense in that there's more electronics between the drives to shield, and it's indirectly addressed so maybe the kernel is less confused, whatever.)

My current setup with two hubs has been working reliably so far, but in spite of it all being USB3 it's still not that fast (about 100MB/s serially top--I'd hope that the 3.25'' disk drives (new 4 TB drives, WD Elements 2620 and Seagate Basic STJL4000400) could do more, but maybe I'm wrong). So for my next tiny servers / appliances, I want to try either of the following instead, which have SATA which should be more reliable and faster:

https://www.pcengines.ch/newshop.php?c=48881

https://www.olimex.com/Products/OLinuXino/Home-Server/LIME2-...

Also, since Pi 4's are unobtainable here (Switzerland) currently: the Tinker Board 2 seems to be a bit faster than the Pi 4, and it has its wifi board as a plug in board, and I have been wondering if that can be replaced with a SATA interface, but haven't investigated.

Edit: seeing achairapart's comment, I realize that going directly from USB to SATA and then attaching disks there might have been a better option.

dusted|3 years ago

My server is literally 2 meters behind me (yes, I mind the noise, don't cohabitate with full depth 4u machines, on the other hand it does help with heating this winter..)--

Static IP is most difficult, if you got that, you're good to go... If your website or app is light enough, sure, go with a pi4 or similar, don't put a fan on it, maybe a nice enough heatsink (use real thermal glue, NOT adhesive tape, some of the cheaper stuff actually melts and the block falls off).. Consider a 3 way router, like an edgerouter lite, so you can have a DMZ for the "server" so that if someone decides to visit, they're isolated from your other LAN machines.

bakugo|3 years ago

Depends entirely on how much power you need. Pi is fine if you don't need much, NUC is good if you need something more and, from my experience, can run comfortably with the fans off if you don't mind capping the CPU frequency a bit.

zegl|3 years ago

I don't know how experienced you are. Yes, you can host "a website" on a Raspberry Pi, even on something tiny like the Zero W. It all depends on your needs, a Pi 4 (if you can get a hold of one) is a great option!

notakio|3 years ago

I've used the Pi (both a 3 and 4) as a temporary server when moving (read: leave the old server up at home until move-day, while placing a Pi in the new home, configured to take the www load normally pointed at my old server. I'm hosting 14 sites from home, none of which are high traffic, but under those circumstances, the Pi held up just fine. Once move-day comes, I'd make the DNS change to point at the new Pi, pack my stuff, move, then reverse that process once I've brought the old server back online.

I'd say unless your web app is resource-hungry, the Pi is totally viable as an option.

Stranger43|3 years ago

Even an pi is basically in the same performance range as the average lowest tier cloud vm so if your considering something bellow say a aws t2.medium to be enough then your only real concern is if your app is iobound enough for the sd card to be a bottleneck and it's very likely that your app is not.

If you want to go with a more traditional x68 any of the many intel n4000/n5000 series systems being sold on aliexpres and similar sizes by no name brands as firewall appliances or network something do support modern m.2/nvme storage.

twistedcheeslet|3 years ago

Yes absolutely a Pi is likely plenty assuming it's fairly light load. That said, if you prefer x86 you may have better mileage using an older thinclient or perhaps even something like the ODroid H3 (or frankly any old laptop).

Just be sure to have a decent backup system in place as consumer grade equipment like the above may fail rather abruptly with little route to recovery.

Edit: you may want to check out Jupiter Broadcasting's Self-Hosted podcast. The show is very much geared towards DIY enthusiasts/small businesses.

wiz21c|3 years ago

Is the carbon footprint better if I host my own RPI instead of using a cheap virtual server somewhere ? Having a Raspberry on all the time will consume some electricity I gues...

cientifico|3 years ago

If you use a cheap recycled server you will be running in years old computers. If we compare that to buying something (including building and transportation) I bet that RPI have higher impact.

jhoelzel|3 years ago

this depends on your datacenter i would wager.

If the energy of your server is green and the heat is reused, as some modern datacenters do, the only concern becomes EOL of hardware and how quickly they change it.

Otherwise, yeah, shared cloud vm is always more economic than single hosted hardware of any kind.

belltaco|3 years ago

Any particular reason why? You can get a free VPS in many places, for example: micro instances on AWS free tier, Azure free tier, etc. I don't know if they give you a unique static global IP, probably not. But as another commenter said, you can proxy it to Cloudflare with their free service with cloudflared. That will protect you from others knowing your home IP and general location, and also you don't want DDoS interrupting your home connection.

spansoa|3 years ago

> AWS free tier

Maybe I'm wrong, but I thought AWS' free tier only lasts a year. Then you have to tear everything down and spawn a new account and re-upload and re-configure everything, which is burdensome?

mynegation|3 years ago

I don’t know about Raspberry Pi, but I went for the familiar Intel/Linux setup: mini-ITX computer, fanless, similar to Intel NUC but bought off Alibaba, 4 GB memory, reasonable 256 GB SSD, 4TB WD passport, synced to my OneDrive account. I replaced big noisy NAS setup with this and it has been great and working for many years now. I do not host any public facing web server though and connect to it only through VPN (being hosted on the same computer).

taubek|3 years ago

Check if your ISP allows this. Some ISPs forbid self hosting.

RobotToaster|3 years ago

Raspberry Pi is hosting their own mastodon instance on one, although it's slow as hell right now, but obviously they have a lot of hits.

Security is a bigger issue IMO though.

scrappyjoe|3 years ago

I have experimented with many small form factor servers over the years. A Pi3 or 4 should work fine, but you as others have said you are limited by no SATA, source your own power brick, and source your own case.

My most bomb proof SFF servers are a fit-pc3, still running since 2014, and a lattepanda alpha, which has been running for about 2 years. Of the two, I’d choose a fit-pc3 or whatever the most up to date model from compulab currently is.

blmayer|3 years ago

If your web app is not very heavy you can use a Rpi to serve it, else get something more powerful. Either way I recommend:

1. Having a no break with surge protection: I have my router and Rpi connected to a no-break, so even if the power goes down my site stays up.

2. Configure port forwarding in the router: I forward port 443 to some higher port, so in the Rpi I don't need root for anything.

3. If your traffic is very high consider getting another internet link.

kkfdkerpoe|3 years ago

You could also take a look at used fanless thin clients from HP and such. Cheap, totally silent, still fairly low electricity consumption but more power.

nyolfen|3 years ago

if you're just serving a static site you could probably serve it from a toaster

me551ah|3 years ago

Most home broadband connections aren’t that good with upload bandwidth. I would suggest something like https://lowendbox.com. You should be able to easily get yourself a cheap server for 1-3$/month which would come with Linux, public IP ,x86 cpu, proper SSD and good bandwidth. It would also have much better uptime.

jhoelzel|3 years ago

i have been pondering the same lately because my internet got upgraded and so far i decided against the pies because of resiliency.

My go to setup plan right now is 3 8 core 16 thread mini pcs because they dont use anywhere near as much power as a full setup and still allow me to run a small kubernetes cluster.

My main reason for the cluster is not because its fancy, but this way i can actually update my services without downtime and the underlying machines too.

As other have mentioned, make use of cloudflare and the different services it provides and you shall have a simple secure setup that can handle a magnitude of loads.

As for the app: the true enemy will be rate limiting for you. But if you decide to take a frontend that is chacheable by cloudflare you should be golden with a queue based setup. Pingdom does that perfectly for instance with their speed tests for websites.

kissgyorgy|3 years ago

Any of the microcomputers are perfect for hosting a web app from home, you don't even need a static IP, you can use some kind of dynamic DNS. One thing to keep in mind for a write-heavy application: it will fry an SD card, so you should use an SSD attached to it instead.

kypro|3 years ago

What's your goals for the project? I mean it's obviously possible, the question would be why?

ta988|3 years ago

Yes this would work.

There are a lot of alternative SBCs to the Raspberry that are easier to find these days.

If you plan to use the SDCard make sure you do not write logs to it or that you change it regularly. I recommend that you mount a harddrive/ssd or usb stick for the logs if you really want them.

xz18r|3 years ago

Concerning security: look into Traefik or Nginx Proxy Manager to proxy from your server to your domain. Then, attach a Cloudflare proxy to your domain so people won't ever know your home IP. Only expose port 443, and I think you're okay. Happy to hear otherwise.

gwbas1c|3 years ago

A lot of NASes can host web sites. My Synology NAS is just a computer without a monitor.

I know it's point-and-click to run Apache on it. (I personally haven't set it up.) At some point I might try to set up NodeJS to run some blog software I wrote between jobs.

cm2187|3 years ago

My experience with Intel NUCs (but that's not recent models) is that they are very quiet as long as you don't push them, but super noisy if you push them. So I'd stay way from NUCs in a living room unless you are doing low power stuff.

kindofabigdeal|3 years ago

You could probably even host on an old phone if you really wanted to, at the end of the day it doesn't matter what you're hosting on but how you're managing assuming internet speed and hardware latency aren't an issue.

roytanck|3 years ago

Considering that your system, power supply, storage and connection won't be redundant, I would not recommend this if you want the website to have decent uptime.

The cost of a Pi would likely also pay for a decent low-end VPS for a years or so.

tomekw|3 years ago

I know, but (1) it's not critical, and (2) come on! It's so fun and so web1, and I have a static IP! :)

ilyt|3 years ago

That app depends how good your internet/power is. But between most ISPs giving poor uploads and remote chance of someone deciding to be ass and DDoSing my IP I eventually opted in for VPS.

endisneigh|3 years ago

As a slight variant of this question - how would you host a production site from your living room? Assuming you have a static IP and a business account.

riffic|3 years ago

If by "production" you mean it's something you intend to use to produce revenue, then you absolutely shouldn't until you've evaluated and exhausted all of your better options.

iforgotpassword|3 years ago

Get a second redundant power line, battery backup for a couple days, multiple independent internet connections, ....?

t312227|3 years ago

personally i would go with some silent and cheap system: an existing old pc, a (cheap) ITX-board which already includes a CPU or a raspberry with enough ram and external storage for data.

btw. i recently watched a video, in which the creator compares different used smaller formfactor pcs from ebay

* https://www.youtube.com/watch?v=rXc_zGRYhLo

galleywest200|3 years ago

I have a mini PC (some 2010s HP Elite Desk) that runs Proxmox. You could easily have multiple VMs going on the quiet device in the corner.

yawgmoth|3 years ago

While you're not concerned with uptime an old laptop isn't a bad way to go: built in battery backup!

As far as exposing to the net, ngrok seems cool.

mschuster91|3 years ago

> While you're not concerned with uptime an old laptop isn't a bad way to go: built in battery backup!

That is a sure way to kill off the battery and a fire risk as well. Laptops aren't designed to run 24/7.

seba_dos1|3 years ago

Why are you asking instead of just doing it? Nobody else knows what is the exact workload you intent to put there.

throwaway0x7E6|3 years ago

a RPI 4 is a more powerful machine than most website servers were in the 00's

serve a lightweight static website from RAM or a well-optimized webapp and it will handle a decent amount of traffic

hardware2win|3 years ago

You folks arent worried about fire hazard?

I'd probably never pick having some device running 24/7 when there are 3$ VPSes

iforgotpassword|3 years ago

Unless you unplug everything when not in use, you already have a dozen fire hazards at home. A PC that's powered off still delivers power to a bunch of components like the Intel ME, or nic for WOL; your TV, dish washer, washing machine, fridge, Alexa, smart hub, router, PlayStation 4 have some soc running 24/7. A pi is probably very safe, I've never heard of one going up in flames just like that. It's much more likely the USB charger it's running off will blow up of it's a cheap one from Walmart.

jhoelzel|3 years ago

I thought the same as you for a long time and have a new fear for you:

You know that water pipes are in those walls too?

flakeoil|3 years ago

Hehe, you have so many things running 24/7 in your house already. Refrigerator, freezer, heating system, laptops in standby, printers in standby, routers in standby or active 24/7, HVAC systems etc.