Live data from Hacker News

Ask HN: How can a total beginner start with self-hosting?

news.ycombinator.com

91–100 of 194 posts

Re: Ask HN: How can a total beginner start with self-hosting?

#92
This might be controversial, but I recommend picking up copies of:

- K&R

- Stroustrup's 'Tour of C++'

- Programming Practice and Principles

You don't have to do the exercises because your main goal isn't to become a programmer. But reading through these and getting an idea how data, types, memory, and files work at a low level will help add a LOT of context to using Unix-based operating systems. The first two books you can probably get through in a weekend or two, the latter is quite a bit more, but you'll go a long way with the first 8-10 chapters + the ones about I/O.

This has little to directly do with networking, but many of the resources on networking assume the knowledge that is contained in those books. Networking is a whole intimidating ocean and using high-level resources is like starting at the surface, looking down into an abyss. With these books, there's still a whole ocean to explore, but now you've got scuba gear and you're standing on the ocean floor looking up.

Re: Ask HN: How can a total beginner start with self-hosting?

#93
Been down this self-hosted route many times … from the ground up … as a local neighborhood IT dude. Don’t you hate being that guy? Not me, I get tons of free stuff from my neighbors.

For a simple default-deny-firewall IPv6 NAT gateway (zero HTTP3 support), I used Gentoo, no initramfs, all static (no kernel modules, eBPF JIT disabled, no strace/perfmon2) on 2013 Dell Optiplex 790 SFF. This is the extreme tinkerer mode a la Slackware/Linux 1.98 ramp up expert learning mode. Has Libvirt running Docker/LXD/QEMU. Virtual DNS/NTP/nextCloud/WireGuard/no-SSH. Stable, consistent, rock solid. Initial cost: $65.00 USD. Electric cost: $8.33/month.

Also a beast called Dell Precision T710 24U rack with a RAID5 having 12 hard drives at 2 TB each running Proxmox/Debian, half of RAID is encryptedFS, and NFSv4 (planned on CephFS upgrade next) for all my photo and important docs. Also an NVS (for storing video streams from doorbell and patio cameras). Also a Git repo (Gitea). And Backups too. Initial cost $100 + hard drives. Electric cost: $12.81/month.

Raspberry Pi 2B is UPS-backed Devuan (systemd-free Debian) (systemd has an open network socket for PID 1, my big no-no as a security analyst) for DNS PiHole serving, Home Assistance serving and cron jobs. Self-hosted home alarm system with Zig devices . Has a cellular GPIO adapter in which to call my phone of any home event. Maximum availability, maximum reliability, maximum uptime. Electric cost: unmeasured. Cellular cost: pay-as-you-go cell time. Filled it with $100. It has been a year, down to ~$45.

Workstation is Debian because maximum packages available for maximum experimentation. Has virt-manager for QEMU/containers hosting macOS, various Windows desktop/server, and Linux distros. ~$4.00/month.

I always start with the workstation, the Raspberry Pi, the gateway, then the file server.

Once gateway is up, is when I do full cut-over from ISP-supplied gateway to mine directly by configuring ISP gateway to bridge mode.

Also I run a $4/month 256MB-RAM 1-CPU Hosted VPS running customed module-less Debian/Linux kernel for my WireGuard and DNS proxy needs for maximum privacy.

Of course my firewall blocks all DNS and any DNS proxy attempt via my custom iCAP server adding to my transparent Squid (also on the gateway).

Re: Ask HN: How can a total beginner start with self-hosting?

#94
post #38

Earlier quoted context omitted.

> - photos: NextCloud If you don't mind horrible experience viewing photos/videos via nextcloud, go on. In my case this was unusable. Thumbnails not pregenerated even after trying (Yeah, didn't spend whole day on that issue) and generates on the fly. So viewing larger directory is... rubbish. Videos don't play as nice not to say they don't even have thumbnails. Feels like "guest book" from 2000 - no features that aut…

Nextcloud released a new version of their photos app a few days ago ( https://nextcloud.com/blog/announcing-nextcloud-hub-3-brand-... ). Haven't had the chance to try it yet though

What’s the difference between nextcloud hub and the good old nextcloud server?

Re: Ask HN: How can a total beginner start with self-hosting?

#95
post #82

A bit of self-promotion regarding your:"host my own bare git repos and not rely on GitHub." objective: Here is a work-in-progress code for 1-command deployment of a self-hosted GitLab server over tor, with free, limitless self-hosted CI (that can still report build status results to GitHub if you want): https://github.com/TruCol/Self-host-GitLab-CI-for-GitHub Tor because that way your self-hosting works from wherever…

> even if you're in a flat behind a gateway

Perfect example: to my ears, this could be (1) networking jargon, (2) American football jargon, (3) puerile sex euphemisms

Re: Ask HN: How can a total beginner start with self-hosting?

#97
post #11

This is a long but satisfying road if you're a tinkerer. Start by prioritising. In my case, I was worried about Google locking me out so I started there, other things such as VPN could wait because I wasn't locked in on my VPN service. In your case that might be migrating your photos off iCloud. I found the awesome-selfhosted[1] list to be excellent for trying out different products that match the size of the VPS you…

Thanks for the tips. Yes, the subjective experience I'm looking for is tinkering-and-independence-satisfaction.

Re: Ask HN: How can a total beginner start with self-hosting?

#98
install ubuntu server either locally or on a cheap VM

read the ubuntu server docs about setting up a firewall and get started setting up a firewall that only allows inbound ssh and https ( be careful and don't firewall yourself out of your system! :) )

https://ubuntu.com/server/docs/security-firewall

from there, read the docs on setting up a webserver and create an index.html with just the text "hello world" https://ubuntu.com/server/docs/web-servers-apache

from there, read and learn how to setup letsencrypt as manual as possible https://letsencrypt.org/how-it-works/

buy a domain and learn how to setup A records to point your domain to your external IP. Your domain registrar will allow you to make your own dns records

https://www.cloudflare.com/learning/dns/dns-records/dns-a-re...

if you can get https://mycustomdomain.com/index.html to output hello world in your browser with no certificate warnings then you've learned enough to start tackling self-hosting some packaged service out there. You'll at least know enough to know what to search for when looking for answers.

if you're installing all this on a computer in your home network then you'll need to login to your home router and port forward 443 to your ubuntu server. This would be a good learning experience too https://en.wikipedia.org/wiki/Port_forwarding

edit: if you're looking for hardware to buy i've heard mac minis work really well for home servers. you wouldn't be installing ubuntu server in that case, you'd be following mac docs for firewalling and webserver setup.

Re: Ask HN: How can a total beginner start with self-hosting?

#99
post #98

install ubuntu server either locally or on a cheap VM read the ubuntu server docs about setting up a firewall and get started setting up a firewall that only allows inbound ssh and https ( be careful and don't firewall yourself out of your system! :) ) https://ubuntu.com/server/docs/security-firewall from there, read the docs on setting up a webserver and create an index.html with just the text "hello world" https://…

I do basically this, plus I add WAF rules in Cloudflare to block access from any other country than my own (I live in a 1X mio country so no USA, Russia, China). Do I need to set up e.g. Tailscale etc to make it more secure?

Re: Ask HN: How can a total beginner start with self-hosting?

#100
post #96

"Linode VPS": this isn't self hosting 8-( You're still on someone else's computer. However, self hosting is easy!!! Follow these 3 steps: 1. Get a computer 2. Install freebsd or linux 3. Install apache or nginx Enjoy self hosting!! Maybe that's 4 steps?

It's a fair point, like jaequery's SPOF sibling remark. I think ultimately my goal is to have local/remote redundancy, and get to the point where I am sufficiently informed to trust myself to administer everything.
Post reply on HN