14 ms·
Ask HN: Host a website from a living room in 2022?
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.
- xz18r 4y agoConcerning 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.
- RobotToaster 4y agoRaspberry 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.
- kypro 4y agoWhat's your goals for the project? I mean it's obviously possible, the question would be why?
- roytanck 4y agoConsidering 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 4y agoI know, but (1) it's not critical, and (2) come on! It's so fun and so web1, and I have a static IP! :)
- zegl 4y agoI 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!
- nyolfen 4y agoif you're just serving a static site you could probably serve it from a toaster
- shashashasha___ 4y agoany toaster in particular?
- LeonM 4y agoPreferably one with NetBSD support
- tyingq 4y agoThe Odroid H3 looks nice if you want x86_64, fanless, and reasonable pricing for that. Probably overkill for hosting a website, but perhaps you want to do more later. https://www.hardkernel.com/shop/odroid-h3/ https://www.hardkernel.com/shop/odroid-h3/
- sokoloff 4y 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 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.
- ocius 4y agoI 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
- tomekw 4y agoThanks. Fortunately I've a static IP.
- BlueTemplar 4y agoUsing a different IP than your home network might be a good idea ? ( Your ISP should give you at least a /56 : https://www.ripe.net/publications/docs/ripe-690 https://www.ripe.net/publications/docs/ripe-690 )
- aliqot 4y agoIt'd be helpful for others if you clarified whether you're asking a question or making a statement.
- BlueTemplar 4y agoLet's say that I am considering this too, have looked a bit into it, but I am not a network engineer, and haven't done it yet, so I am not sure how good that advice is ? I guess this depends a LOT your ISP, and especially the router they gave you, how much IPv6-only friendly are they ? Yes, you can buy your own router, but this come with even more complications and potentially negotiations with the ISP.
- yawgmoth 4y agoWhile 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 4y 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.
- justusthane 4y agoIs this true? My laptop has been on 100% of the time (although usually asleep) and also plugged in much of the time since I bought it in 2014.
- mschuster91 4y agoBattery vendors generally recommend you do not keep them on a charger all the time since the charger will keep it at 100% charge, and the longer a battery is at 100% charge, the more degradation it will experience for electro-chemical reasons. Sooner or later, that can lead to battery swelling and eventually a catastrophic thermal runoff. Additionally, keeping a laptop shut and running usually messes with its thermal design as the heat can't escape to the top via the keyboard, further heating up the battery.
- windowsrookie 4y agoMost laptops in the last few years have an option to not fully charge the battery if it's going to sit plugged in. I know this option is available on Dell, Asus, and Apple laptops. I assume others have it as well.
- icoder 4y agoI doubt it, as I n++ your n=1 by experience, but also since I think it shouldn't be hard, electronics wise, to stop charging once full (or even, optionally, 80% / 90%) and fully run on AC as long as it's available. Also I'd say this is an apparent user requirement for laptops.
- opan 4y agoYou can use a RockPro64 and set up USB boot to avoid the headache of SD cards. https://wiki.pine64.org/wiki/ROCKPro64#Booting_from_USB_or_PXE https://wiki.pine64.org/wiki/ROCKPro64#Booting_from_USB_or_P...
- bakugo 4y agoDepends 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.
- Stranger43 4y agoEven 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.
- renaissance_tea 4y agoIs 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 4y agoMan, 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.
- erellsworth 4y agoYour mistake is thinking that it is YOUR internet connection. It's not. It belongs to your ISP. If it belonged to you, you wouldn't have to pay for it every month. A lot of ISPs specifically forbid running a web server from your connection. Comcast is one of them. Among their restricted uses they include: "use or run dedicated, stand-alone equipment or servers from the Premises that provide network content or any other services to anyone outside of your Premises local area network (“Premises LAN”), also commonly referred to as public services or servers. Examples of prohibited equipment and servers include, but are not limited to, email, web hosting, file sharing, and proxy services and servers;" https://www.xfinity.com/Corporate/Customers/Policies/HighSpeedInternetAUP https://www.xfinity.com/Corporate/Customers/Policies/HighSpe... Just because you've been getting away with it doesn't mean the risk of having your account suspended isn't real or worth considering.
- WJW 4y agoA 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 4y 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)
- lytedev 4y agoI use netlify for serving frontend assets and have used fly.io's free tier, supabase's free tier, and all the major public cloud free tiers (though the latter is the most difficult to manage from a cost perspective).
- 0xCMP 4y agoAnd fly.io has a special feature to serve the static files for you so you can do it all in one place without putting load on your app server. Simply need to specify what folder to look in for the static files in your fly config file.
- revicon 4y agoWith AWS you can host a very robust website using API Gateway, (AWS Lambda or ECS) and either RDS or DynamoDB for a datastore. All of this can come in under their free tier for a huge amount of traffic.
- newaccount74 4y agoI 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 4y agoThere 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.
- rzzzt 4y agoServeTheHome reviews lots of small machines like the ones you mention: - https://www.servethehome.com/introducing-project-tinyminimicro-home-lab-revolution/ https://www.servethehome.com/introducing-project-tinyminimic... - https://www.servethehome.com/tag/tinyminimicro/ https://www.servethehome.com/tag/tinyminimicro/
- newaccount74 4y agoI wonder why noone except Apple manages to build a small device with an integrated PSU. If you put them into a cupboard, those PSUs take almost as much space as the computer itself.
- revicon 4y agoSeems 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.
- newaccount74 4y agoYes, that is true. OpenCore [1] allows a few extra years, but at some point the 2014 mini will be too old. That being said, if you use the Mac as a server, behind a NAT/Firewall with only some ports open, use up to date server software, and don't use it to surf the web, then the security impact of using an outdated OS is minimal. You could of course also just install Linux on it. [1]: https://dortania.github.io/OpenCore-Legacy-Patcher/ https://dortania.github.io/OpenCore-Legacy-Patcher/
- kindofabigdeal 4y agoYou 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.
- Nican 4y agoI 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-workstations/p/1VK-0001-60GC6 https://www.newegg.com/dell-optiplex-7090-business-desktops-... - but older, and found on a local recycling center.
- Semaphor 4y agoThere are a lot of suggestions already, so I’ll just mention two useful communities: https://reddit.com/r/selfhosted/ https://reddit.com/r/selfhosted/ & https://www.reddit.com/r/HomeServer/ https://www.reddit.com/r/HomeServer/
- kkfdkerpoe 4y agoYou 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.
- ta988 4y agoYes 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.
- belltaco 4y agoAny 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 4y 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?
- belltaco 4y agoLooks like you're right about compute. https://docs.aws.amazon.com/whitepapers/latest/how-aws-pricing-works/get-started-with-the-aws-free-tier.html https://docs.aws.amazon.com/whitepapers/latest/how-aws-prici...
- endisneigh 4y agoAs 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.
- iforgotpassword 4y agoGet a second redundant power line, battery backup for a couple days, multiple independent internet connections, ....?
- endisneigh 4y agois it even feasible to have a redundant power in a regular home? the rest is easily doable, though.
- notakio 4y agoYep. Most electric companies will be more than delighted to run a second line to your home, as they then get to collect those sweet installation costs from you. So if you're willing to pay, they're probably more than happy to let you.
- endisneigh 4y agoI don't see how that would be redundant though, wouldn't it be just as likely to fail for the same reason the other line does?
- riffic 4y agoIf 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.
- endisneigh 4y agoThough I personally wouldn't do this, why not? There are places where business gigabit internet is plentiful and weather is stable so power outages are very rare. Find three of said types of places and run kubernetes and you're good, no?
- wiz21c 4y agoIs 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...
- jhoelzel 4y agothis 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.
- cientifico 4y agoIf 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.
- hardware2win 4y agoYou folks arent worried about fire hazard? I'd probably never pick having some device running 24/7 when there are 3$ VPSes
- flakeoil 4y agoHehe, 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.
- iforgotpassword 4y agoUnless 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.
- spansoa 4y agoAlso worth investing in a surge protector device if you're worried about your electronics getting fried due to electricity surges.
- hardware2win 4y ago>Unless you unplug everything when not in use I do
- jhoelzel 4y agoI 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?
- mynegation 4y agoI 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).
- jhoelzel 4y agoi 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.
- themoonisachees 4y agoI have my old computer doing this, it replaced a rpi in 2017. I now run a proxmox node on it, and one of the VMs serves https://poggers.website https://poggers.website
- me551ah 4y agoMost home broadband connections aren’t that good with upload bandwidth. I would suggest something like https://lowendbox.com 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.
- mikedelago 4y agoThere'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).
- t312227 4y agopersonally 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 https://www.youtube.com/watch?v=rXc_zGRYhLo
- ilyt 4y agoThat 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.
- cm2187 4y agoMy 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.
- gwbas1c 4y agoA 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.
- throwaway0x7E6 4y agoa 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
- achairapart 4y agoYes, 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/ 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-mass-storage-boot-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/ 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/connect-apps/ 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/ 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 4y agoThanks for the info. I'm in a similar situation as OP and I think I can get this going without an issue.
- taubek 4y agoCheck if your ISP allows this. Some ISPs forbid self hosting.
- rakoo 4y agoI 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 4y agoHaving 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.
- wolrah 4y 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. Having a battery specific to your server allows the UPS for your network to last a lot longer. I use one of the 1500VA class desktop UPSes to run my home network, the largest variety normally sold for use with a 15 amp circult. It's good for about 30 minutes with my server turned on, or three hours just running the router, switch, and WAP. If I were able to use a laptop as a server I could instead have the big brick doing just the network and then the "server" could get a few hours of runtime on its own.
- ChuckNorris89 4y 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.
- rakoo 4y agoIt's definitely not cheaper, but it's much better for the environment. It is clear today that digital pollution happens mainly during the production stage rather than the using stage.
- blmayer 4y agoIf 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.
- l72 4y agoI have a fitlet2(https://fit-iot.com/web/products/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 4y agoThis 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?
- l72 4y agoThe primary other I looked at was an Intel NUC. I also use several raspberry pi for some smaller iot things, but I find it is nice to have one decently powerful server to run a whole bunch of services on. It also has two external 8Tb drives in software raid0 that I use for my NAS storage.
- revicon 4y agoNeat 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?
- twistedcheeslet 4y agoYes 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.
- scrappyjoe 4y agoI 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.
- notakio 4y agoI'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.
- johnklos 4y agoPi 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.
- abadger9 4y agoCoincidentally, 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 4y agoEven 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 :-)
- seba_dos1 4y agoWhy are you asking instead of just doing it? Nobody else knows what is the exact workload you intent to put there.
- ectospheno 4y agoGet 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 4y 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?
- ectospheno 4y agoI'm assuming actual priority is keeping your home internet connection usable to your family. Easier to fail gracefully under configurable loads in the haproxy config. I'd rather enormous amounts of traffic never reach the house than try to handle it there.
- pflanze 4y agoThat's a good point, thanks!
- bibelo 4y agoThink 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 4y agointeresting hint – what is the percentage of infected windows boxes again? 80%?
- anaganisk 4y agoGo 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.
- whalesalad 4y agoAn 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 https://github.com/cloudflare/cloudflared
- deleted 4y ago[deleted]
- riffic 4y ago> my side project You have a lot of options here that don't involve hosting a site from your own living room. Try looking at these lists for ideas: https://github.com/jixserver/free-for-dev https://github.com/jixserver/free-for-dev https://github.com/ripienaar/free-for-dev https://github.com/ripienaar/free-for-dev
- dusted 4y agoMy 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.
- andrethegiant 4y agoCheck out KubeSail https://kubesail.com/homepage https://kubesail.com/homepage
- cramjabsyn 4y agoGet 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 4y agoThese seem to have laptop-style fans in them - do you know if they can be run silently?
- cramjabsyn 4y agoFan volume has never been an issue tbh
- pflanze 4y agoA 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.pcengines.ch/newshop.php?c=48881 https://www.olimex.com/Products/OLinuXino/Home-Server/LIME2-SERVER-NO-HDD/open-source-hardware 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.
- rsolva 4y agoI 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!
- galleywest200 4y agoI 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.
- kissgyorgy 4y agoAny 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.
- user432678 4y agoHad 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 4y agoDo you know what the average power consumption of this box is? It sounds like you may have found a sweetspot!
- user432678 4y agoHaven’t measured precisely, unfortunately. But according to my average electricity bill growth per month it drains around 50W to 60W per hour. Mostly thanks to Xeon 1265L CPU.
- Eleison23 4y ago
- Jugurtha 4y agoWhy?