I know, it is a very low user count, the interesting bit is, I wrote this bot in Rust using async with Tokio, and it's running on a Raspberry Pi 2011.12 with 256 megs of ram and a single ARMv6 core.
I was able to compile a fully modern language for a 10 years old architecture, and on avg has a load of 0.2 of CPU usage with 10 megs of ram!
It was a very painless process using cross-rs, and I'm still quite surprised how well has worked until this day.
My family, who is a- technical, would have not even have a clue on where would be what (since they freak already out if an icon on their phone is move 1 millimeter). So from that nonfunctional requirement for my own home solutions, I decided that self-hosting would not be the best choice, since it would be too dependent on me.
My family's knowledge stops somewhere at the concept of that pressing the B makes a word bold in Microsoft Word. Trying to explain how to run a script on a certain OS via a certain connection would be abracadabra.
The only thing i can imagine is if there would be some kind of paid service that would mirror your own home solutions and provide support for the long run if you fall away and which offers, when there would be again someone more technical to again transfer it to a home environment. (they would take care of new versions, bugfixes, change requests, databackups and so on).
Something like that, but that does not exist (well... as far I know).
So therefore, i try to host every solution at the places which are the simplest to understand and document what needs to happen if I would fall away. I also try to minimize the number of services. So I use office365 and onenote to document everything. (This used to be on my own hosted wiki).
Based on the nonfunctional requirement of maintainability.
I think there is however a need for a service that offers something like the above, to provide long term support for selfhosted environments taking into account all kinds of standards. That would possibly enable the self-hosted direction again.
My file / media server has roughly 20TB online and has movies, games, books, personal files, etc served with NFS & Samba. I don't use anything fancy like Plex or Jellyfin, just XBMC which works fine. It also runs the usenet stack nzbget, nzbhydra, etc and has a virtual machine running transmission through a VPN. I also have a custom ruby script that transcodes files to x265.
Once you get into the home server biz, the most important thing is to have a great case. Mine is the Fractal Node 804, which IMO is truly awesome - a big cube that holds a microatx board and 8 drives, and its actually pretty affordable. For hardware specs, I started dirt cheap and then upgraded too much, building a 12-core / 64GB setup that sat at 10% CPU utilization most of the time. I've since downgraded to a i5-10600 w/32GB RAM which is more than capable.
This is beyond the scope of the question, so I won't get into details, but I would also encourage any developer to have a dedicated dev server as it helps you to better understand performance and deployment.
- A Minecraft server for the kids. [EDIT] Buying actual Minecraft is such a huge pain in the ass now that I did try to convert my kids to Minetest with a Minecraft-alike plugin, but they rightly called it out as both very different-feeling and worse. I felt the same way when I tried it but hoped they'd be OK with it, but no, rejected within a minute and it was hard to argue with their verdict when I'd come to the same conclusion myself.
- Pihole. (ad blocking, local-network DNS which is handy sometimes)
- Samba (alternative works-almost-everywhere access to all those files Jellyfin is serving)
- Prowlarr (torrent meta-search, lets you search across dozens of torrent search engines with one query, very handy)
All of these are hosted in Docker on an old Lenovo workstation I bought off Ebay, then added extra ECC ram and a bunch of hard drives to. Linux, but the bulk-storage drives use ZFS.
I'm considering adding:
- Nitter (much-better Twitter interface—though IDK how long this is going to be relevant, the way things are goin)
- Some kind of solution for hosting YouTube stuff. Jellyfin can kinda do it but it's far from ideal. And the 3rd party plugin for it breaks some Jellyfin clients, so that's useless, plus its mode of operation isn't ideal even if it did work, so it only really works OK for YouTube series that happen to have TVDB entries so you can treat them as TV shows. Ideally this would let me use admin-level accounts to browse actual YouTube and save videos from it, then make only saved videos available to non-admins (with the ability to filter some categories or channels out, as you can with "libraries" in Jellyfin, so I can save stuff the kids shouldn't be seeing yet, without their gaining access to it). I dunno what this will end up being, yet, if anything.
- Maybe something for music that's better at hosting music than Jellyfin is. It's OK but could be better.
I have both MariaDB and Postgres databases running and Caddy as my reverse proxy.
I use close to 500 GB of RAM all in.
traefik
filebrowser # dropbox/gdrive
psitrax/psitransfer # very handy for "just send me this big file over here"
traefik/whoami
ghcr.io/home-assistant/home-assistant
thomseddon/traefik-forward-auth # SSO "replacement"
mihaibob/keycloak # Auth provider
openldap
lam # ldap manager
postgres
adminer
waschinski/photo-stream # bare bones gallery
docker.io/mailserver/docker-mailserver # mail
roundcube # mail UI
semaphoreui/semaphore # ansible runner & UI
gitea
drone-ci
- PiHole
- Plex
- Unifi Controller
- Sonarr / Prowlarr
- Homeassistant (+mqtt)
- Heimdall
On a server running Proxmox, with a couple of Portainer VMs;
- Mailinabox : For some extra domains and things
- Cyberchef : For quickly decoding things
- HTTP Bin : To test out APIs
- MinIO : For testing S3 compatible stuff
- Request Bin : Mostly for testing, but also 4 public facing ones to check stuff
- Sish : Because I don't want to pay for ngrok anymore (https://github.com/antoniomika/sish)
- VSCode : Havent really used it yet, still trying to see if it works for me
- Ghost : For blog, but I havent done anything yet and may move to hugo/cloudflare
2. MicroVMs with Tailscale for VPN exit nodes (to bypass various georestrictions)
3. whoogle-search - https://github.com/benbusby/whoogle-search
4. gitea - https://gitea.com
I currently have a Hugo blog, repo hosting with Gitea, a self-developed travel microblog/tracker. I'm thinking about playing around with Mastodon and Matrix at some point, or perhaps Solid.
The last thing I really want is a cataloguing tool for tracking books I read/films + TV I watch/games I play/music I listen to. This would replace the various social cataloguing sites I currently use (Goodreads, Letterboxd, Followmy.tv, Grouvee and Last.fm, respectively).
I've not been able to find a suitable pre-existing tool though. Bookwyrm looked interesting with its ActivityPub social features, but AFAICT it's limited to books only. I also looked into Koillection which was much more flexible, but doesn't seem to have any import ability for my pre-existing data.
Does anyone know of anything that might suit my purposes? I would like if it could automatically download cover art and I am ambivalent towards social features. I could bash together something simple myself but I'd like to avoid that if possible.
- Zabbix: for monitoring my servers
- Uptime Kuma: for monitoring whether sites are up
- Mattermost: for some communication, also automation (e.g. notifications from Uptime Kuma)
- Portainer: for managing Docker Swarm or Kubernetes more easily
- Gitea: for my source code
- Drone CI: for my CI/CD needs
- Sonatype Nexus: for storing everything from my code libraries, to container images
- SonarQube: for static code analysis in my projects
- OpenProject: for managing my projects and some documents/Wiki
- BookStack (now retired): for a knowledgebase/proper Wiki
- NextCloud: for my file management needs
- PeerTube: for my video hosting needs (currently mostly backups of stream VODs, because of bandwidth limitations otherwise)
- Grav: for my blog, over at https://blog.kronis.dev
- Yourls: for link shortening, because the blog sometimes breaks with query parameters otherwise
- Matomo: for analytics on the sites that I develop (cookieless currently)
- BackupPC: for my backups (incremental and deduplicated)
- my own mail server, for automation and as a backup private account
- some other sites that I've developed with the above tools: like my homepage, a forum or two and so on
- oh, and some game servers (like Minecraft) for friends
Historically, I hosted a few more pieces of software (like GitLab and GitLab CI), but I've both cut down on some and added some others over time.Currently some of those run on my homelab (just regular Debian/Ubuntu boxes), whereas some are in the cloud, from a relatively local cloud provider. The total costs of the VPSes are around 425 euros a year, or around 35 euros a month. Currently the cluster has just short of 64 GB of RAM and 12 CPU cores total, over half of which are in my homelab.
There is some maintenance involved, but thanks to Docker containers and stuff like Let's Encrypt it's all tolerable and cheaper than cloud offerings (mostly since I don't care too much if anything goes down for a bit).
Edit: oh, here's something fun. I use Apache2 as my web server(s), instead of Nginx/Caddy/Traefik, because it has bunches of modules and mod_md is pretty okay for managing certificate renewal https://httpd.apache.org/docs/2.4/mod/mod_md.html
Another is an experimental an obscene (so far) video-surveillance setup a day I'll humanize a bit, that allow just video streaming, no web app so far.
The homeserver manage some of my backups (zfs + ZnapZend) and offer some files over webdav, no WebUI again for them...
Long story short: I feel no need nor no reasons to COPY the Big of IT modern web model where I can get FAR BETTER without a modern WebVM improperly named browser for legacy reasons. The personal/home/user power lie in classic Desktop computing not in trying to recreate a buggy and limited GAFAM-alike infra at home... If/when a day enough people will realize that....
I am DevOps since 2+ yrs and I have been working in IT for 4+ yrs. I have seen multiple disastors so I am a huge advocate of managed services.
- SearX, a selfhosted metasearch engine. Has almost entirely replaced Google search for me.
- Gitlab, hosts my projects where I collaborate with some friends. Pretty resource intensive.
- Invidious, alternate Youtube frontend
- Nextcloud, syncs my contacts + calender aswell as notes with my phone, password manager, file sharing with family/friends
- Mail, ol' reliable: postfix + dovecot
I switched to BitWarden a few weeks ago from LastPass. I want to self host VaultWarden which is an API compatible rewrite. I chose VaultWarden due to smaller memory footprint (its written in Rust) and it includes some paid BitWarden features for free.
Using Tailscale, it'll be awesome to test my site on my phone using https://macbook:8080. It was also fun to run `ping iphone` on my server and it works, but only when the phone isn't locked.
- Storage/Backup: https://nextcloud.com
- Database/server Monitoring: https://www.percona.com/software/database-tools/percona-moni...
- Website monitoring: https://uptime.kuma.pet/
- Some other internal tools I created for myself (backups/licensing server)
- mail (Exim/Dovecot/Sieve/Spamassassin/greylistd)
- XMPP messaging (Prosody)
- Video (Peertube)
- Media (Airsonic, mpd, jellyfin, karaoke forever)
- "cloud" (Nextcloud running a host of services, Collabora office (libreoffice online), ...)
- wiki (Bookstack)
- revision control (gitea)
- search (SearxNG)
- "social media" (Pixelfed, Pleroma) (just for experiments)
- remote desktop/remote applications (Kasm, X2go through a VPN)
- VPN (Wireguard)
- privacy-protecting application proxies (Youtube -> Invidious, Twitter -> Nitter, Reddit -> libreddit, search -> SearxNG)
- ad block list provider for Bromite
- mapping/navigation (OSM Maps in Nextcloud)
- p2p (Transmission, MLDonkey, IPFS)
- surveillance (Zoneminder)
- build services (on-demand containers through Proxmox)
- minetest (Minecraft clone) server (for experiments)
- administration/bookkeeping (Elicon online, an old Swedish web-based system which I kept running)
- a virtual router to tie all this together (OpenWRT running in a container in Proxmox)
- Database services needed for the above (PostgreSQL, Mysql, Redis all running in a single container)
- Backup service (rsnapshot) with backup being mirrored off-site (and out of country) to my brother's network
- all the scaffolding needed for the above
...and more. All of this on a single DL380G7 "under the stairs", connected through gigabit fibre. Proxmox on the host, Debian on the containers, OpenWRT in a container as well. Some VMs for Windows-on-demand which hardly see any use. The machine serves my extended family as well as a number of public resources. Waste heat is used to dry produce. The machine hardly breaks a sweat. Power comes from solar panels on the barn roof.
My goal is to
* Pihole - got a PiZero running this. Low-effort setup, and great benefits.
* Jellyfin (kinda) - I say kinda because I only start up the server on my desktop when I want to watch something on the Roku in the living room.
* Whoogle Search - Very fast privacy-centric Google front-end.
Also have a bunch of tiny self-made webapps and a PG database running on an 8GB RAM RPI 4.
- a FreeNAS with a bunch of Samba file shares and a Plex. I tried Jellyfin, because I got annoyed with Plex trying to force me to create an account on their cloud stuff, when I just want to use it locally. But the Playstation wouldn't play videos from Jellyfin, so I stuck with Plex.
On a dedicated server with public IP addresses:
- mail (opensmtpd + rspamd + dovecot)
- blog (made with Hugo, a static site generator)
- git (gogs)
- Nextcloud
- XMPP (ejabberd)
- VPN (tinc)
Each of those services is in a separate jail and the jail with the blog has an nginx that serves as a reverse proxy for all http-speaking services.
I'm considering replacing XMPP with Matrix (looking at conduit) and tinc with Wireguard. With the latter I might wait until FreeBSD 14 with in-kernel Wireguard is out.
AdGuard for ad blocking
OctoPrint for 3d printing
- Main home PPPoE router
- 5ghz AP
- A pihole + coredns setup providing, LAN DNS adblocking via pihole pointing to a DoT upstream, a remotely accessible DoT server pointing to the pihole, a reverse DNS server for my IPv6 subnet and soon a DNS server for my domains :)
- A bunch of PHP telegram bots and static websites
- gitea
- woodpecker CI connected to the gitea instance
- mirror-to-gitea to mirror the projects I've still got on github
- invidious
- jellyfin
- plex (don't really use it, I prefer jellyfin but most of my friends use it so I set it up to aggregate our libraries)
- librespeed for LAN speed tests
- navidrome (really neat music player)
- nextcloud (mainly use it for the mail app via zoho mail)
- tvheadend
- a wireguard server
- vaultwarden
- a basic transmission instance, still gotta setup a nicer *arr combo :)
- Email
- Web (external and internal) and blog
- Matrix for chat (federated with friends)
- Media server
- File server
- Backups
- Password management
- Property surveillance
- Navidrome - PhotoPrism - Shiori - Paperless-ngx - Callibre-Web - Audiobookshelf - Jellyfin - Syncthing
Also previous discussion: Ask HN: What do you self-host? [2019] via https://news.ycombinator.com/item?id=21235957
Audio Station - to listen to my mp3 collection Synology Photos - replaced Google Photos Plex - to access home photo/video library on our TV
I'm generally focused on self-hosting communicating things, slowly branching out into hosting my own media services. Right now it's mostly just Syncthing'ing around my FLACs, but I'd like to set up streaming for my low-storage-space devices.
which consist of:
- nextcloud (to easily share files)
- pihole (for home dns)
- minio (for backups and photos)
- postfix + spamassassin + dovecot (for mail server)
- dashy (to have nice dashboard)
- wireguard (to get a vpn)
- some personal apps
All of this run on a public server and a mini pc hosted at home I dont do a lot of torrenting anymore.
At work: WordPress and an in-house ERP system. We also have a NAS for file sharing, but management wants to ditch it and go the Microsoft 365 route.
In the past, i have self-hosted numerous CMS platforms, Matrix homeserver, mail server, Samba server, etc.; probably not so unique among self-hosters. Lately, I have been thinking of revisiting whether to stand up my matrix homeserver again (just for my family and I), or if I just pay a monthly fee to a matrix provider.
- 2 Minecraft servers
- 2 instances of FoundryVTT for playing D&D with friends
- A Trackmania Nations Forever Server
- 3 License servers for a student project
- A few web experiments
- An XMPP server
On various physical boxes I host a few Instances of Nextcloud and Gitea or Fileservers for some projects.
Alternative social media front ends - Invidious - Nitter - Teddit
Communication - thelounge irc - ngircd irc server - some irc bots
Automation - nodered - home assistant
Knowledge Base - wiki.js - shiori - calibre-web
Etc… - Postgres - redis - searxng - gitea - vikunja - freshrss - firefly
- nextcloud with bulk of data going to ceph s3.
- Unifi controller
- openhab
- blog
- nat gateway, dns server
- tvheadend (so that's basically self hosting IPTV)
Edit: On 2012 Mac Mini. I'd like to get a USB Coral and switch to Frigate at some point.
Tailscale is the key for all of it
- SearXNG
- RSS Bridge
- Tiny Tiny RSS
- Mastodon
- Synapse + matrix-appservice-discord + mautrix-facebook
- go-jamming to receive WebMentions for my blog (so far: exactly one)
- Plausible Analytics (for my blog and marketing site)
- webhookd
On a big cheap box at Hetzner I have:
- A GitHub Actions runner
At home:
- Samba on a big ZFS array
- Duplicati
- Plex
- scanservjs
- Home Assistant
- Homebridge
Everywhere:
- Netdata
- Bitwarden
- Nextcloud
- Transmission
- Dokuwiki
- Selfoss (Feed aggregator)
- Postfix/Apache for a few domains (currently forwarding emails but will add self hosting)
- WebDAV
Local network
- Photoprism
- Samba
- eblocker for network-wide tracker/ ad filtering
Homeassistant
Jellyfin
Unifi Controller
Paperless NGX
MyMedia for Alexa (streaming local music to Alexa)
InfluxDB
VPS:
NextCloud
FreshRSS
Theoretically also Monica and Linkding, but I haven't managed to get into using either so far
- gitea for git - a drone CI - a few WordPress blogs - a Jellyfin server for media
All of these machines are running OpenBSD, except the gaming machines and the HTPC.
• Outgoing Email: OpenSMTPD, with mandatory TLS. Since I’m the only one sending email from my domain, the outgoing relay is hidden behind my LAN and my DKIM keys never leave my network. Outgoing mail gets routed via Wireguard through a VPS so it doesn’t look like it’s coming from a residential IP block.
• Incoming Email: OpenSMTPD on my MXes, with MTA‐STS and DNSSEC/DANE so as many senders use TLS as possible. Delivers to Maildir on my LAN, which I access directly using mblaze over SSH (https://github.com/leahneukirchen/mblaze) and IMAP via Dovecot (which supports Maildir backend).
• Roundcube webmail.
• DNS zones: NSD running on two VPSes, slaves pulling their config via WireGuard from the master which runs in a VM on my LAN.
• Public webserver, with personal (public) homepage, Git repositories (clonable and browsable via CGit), photo gallery, files/images/random files when I need to share them by sending a link in IRC, etc.
• Matrix: Synapse for the server, Element for the client. Besides hanging out in Matrix rooms I use this for one‐on‐one audio calls with my friends (generate a link, send it to them, and chat through the browser).
• Pleroma, so I can interact with the Mastodon network.
• Apertium for text translation. The range of languages is a bit limited but for supported pairs it’s nice to avoid Google Translate.
• A home theater PC in my living room running Kodi, which pulls all my Blu‐Rays from a home NAS.
• A powerful gaming machine that uses Steam to stream games to either the HTPC or my Steam Deck. I only use this at home… I wonder how bad the latency would be if I connected to it when on a trip?
• My music collection, whether ripped from CD or bought digitally, is automatically tagged and sorted with Beets, and I run the web plugin to access it over the web. Beets’s web interface is kind of primitive; I would love to replace it with something like FunkWhale.
• Full mirrors of websites with free content: Wikipedia, Wikimedia Commons, Wiktionary, Stack Overflow, Project Gutenberg, Standard Ebooks
• Full OpenBSD package mirrors
• OpenStreetMap, running OSRM (routing) on top of an open source Leaflet/Mapbox demo I set up years ago. I’ve been meaning to update this to something more modern and less reliant on Mapbox software.
• Radicale for CalDAV/CardDAV, so my calendar and contacts are synced across all my devices automatically.
• Home adblocking with Unbound (what most people use PiHole for I guess). DNS lookups for my home network are anonymized with DoH over Tor (CloudFlare provides documentation for how to do this).
• Ways to access my home network when away from home: WireGuard VPN in a roadwarrior configuration; public‐facing SSH (with WebAuthn‐backed keys); failing that, an HTTPS proxy with Squid. (Yes, I have been stuck at conferences where the wifi network blocked SSH, WireGuard, and all traffic that wasn’t HTTP/HTTPS or DNS from the blessed server!)
- WordPress (2x)
- Joomla (2x)
- FreshRSS
- GlowingBear (IRC proxy)
- Prosody (XMPP server)
Not for the feint of heart.
- Mediawiki
- Apache Roller
- Apache HTTPD
- eJabberd
- SugarCRM
- Bugzilla
- Mosquitto
Those are the big ones we use that are self-hosted.