Really just video for me, I can't handle paying for streaming anymore.
Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Jellyfin Plex (I wanted to get rid of it but I found my son's TV has no Jellyfin client available so I have to keep Plex up for him) Nginx Caddy Ddclient to Cloudflare for my home dynamic IP Syncthing (such an underrated app) Wireguard HomeAssistant Some other stuff that isn't all that interesting
The main things for me are: Wireguard, NextCloud and an NFS/SMB share and a torrent client (Deluge)
I've seen a few mentions of PiHole and AdguardHome, I started on PiHole, then moved to AdguardHome for adblocking. Then I heard about and have been using TechnitiumDNS server which is sort of overkill for our needs, but with the right ad-lists, it is fantastic at blocking advertisements on my home network. Super fast install too, even on a Raspberry Pi 2 :) I run that along with Proxmox-VE (Protected behind OIDC Login) and several other containers on my cranky old Dell Desktop server.
Mostly Vaultwarden, and a few other services for home private use such as PairDrop for inter system sharing and a self destructing file sharing server for when we need to send documents to our Attorney's (rarely but sometimes we need to) office via Pingvin.
I also run:
- Home Assistant
- Transmission Dockerized so I can help contribute to the Linux community and share the ISO's.
- For some of my externalized sites, I run Authentik It acts sort of like a Reverse Proxy if you configure it to do so. I love that I can simply identify myself with my WebAuthn device skipping any passwords. :)
With Authentik setup, I can login to things like my Fresh Tomato Router TechnitiumDNS (Both use HTTP Auth headers) and Memos which uses OIDC/SSO. It's meant to replace our Google Keep notes.
- Tailscale is installed and I connect to it from my phone when away from home to always stay on my network. Sometimes, hotspots block it so I generally avoid those as much as possible.
- Wallos to help keep track of our re-occuring subscriptions.
- Grafana and Promethus - both are staged and ready for configuration and one of those I will get around to eventually.
- InfluxDB - I plan on moving Home Assistsant logging soon to that which should tie nicely into Grafana later.
- Ben Phelps' Homepage - it's my main server dashboard my wife and I use to access our server. Quite simply one of the best dashboards IMHO.
- Wyze Cam Bridge - One of the better services in which you can log into your Wyze cams and convert their streams to RTSP, RTMP or HLS streams easily. I have that feed to my Home Assistant Security Dashboard.
- Baserow It's a good Airtable alternative and I use it to keep track of my Static IP assignments, Sleep tracker (I suffer from insomnia), and other data points. It's pretty amazing. I even created a pain logging for for my wife so she just accesses it and answers basic questions about her pain levels and it pushes it to the database for later retrieval.
- Joplin Server - Sorry, I don't have the link, but it's installed via compose. I use Joplin Notes on my phone and computer for keeping my code snippets. I've tried Obsidian and it didn't really meet my needs and Also Anytype, but that's not self-hosted. Joplin server is for me and that's become handy a time or two when on the road.
- Bookstack - my grand plan for that is to build a Wiki for my family to use in the event something should happen to me, they can know how to manage the server with nice screenshots and instructional steps. I have that protected behind Authentik's OIDC logins.
- IT-Tools - hands down one of the coolest self hosted tool sets you can use.
- Webcheck - All-in-one OSINT tool for analyzing any website https://web-check.xyz/ is their demo site. :)
- Stirling PDF - Kind of like a Swiss-army knife for PDF's. :)
- Dozzle - For those times with you really need to see what your Docker logs and too lazy do run a
docker logs -follow
command.
I still use Portainer-CE and am happy there, I may try Dockage or the others, but it's fine for what I need it for (It's also protected by OIDC)
I'm sure I may have missed a few, but this post has gone on long enough. :)
A bunch of people recommend dozzle in this thread.. I've been using Dockge. I wonder how they compare. I'll have to check that out later.
Dozzle is just log viewing plain and simple. Dockge shows more that's all I know. I tested Dockge earlier on in development and haven't been back since, I know it's grown a lot more since.
It's not so much that Dockge shows more, and more that it does more. Log viewing in Dockge is actually pretty bad; it's honestly the one thing that really needs more work. But Dockge is a full management plane; it allows you to deploy, modify, bring up and bring down entire compose stacks. Dozzle is only a log viewer, nothing else. Given that log viewing is the one thing Dockge does badly, they're actually a perfect complement to each other, and I'd strongly recommend running both.
IT-Tools - hands down one of the coolest self hosted tool sets you can use.
Looks similar to Cyberchef. Any reason to use that one over Cyberchef?
Cyberchef, I've looked at but honestly for me, IT Tools works best for my needs so it's all good on my end.
All of the services that I host are for private use:
- Nextcloud
- FreshRSS
- Immich
- Jellyfin
- RSSBridge
And they are all behind Caddy, which reverse proxies and handles HTTPS. I'm not sure if it really counts as self-hosting, but I also use my server as a host for my backups with Borg. I also use it as a sort of central syncing point for Syncthing.
I did have a Pi-Hole at one point, but I kept running into issues with it — I may look into it again in the future.
At some point I'd like to try implementing some ideas that I've had for Homeassistant (a camera server with Frigate and some other automation things). Once federation has been implemented, I would like to host a Forgejo instance. I may also host a Simplex relay server, depending on how the app progresses. I've been considering hosting a Matrix instance, but I'm not sure yet.
I've been considering the idea of self-hosting lately, especially for my online projects. The thought of having full control over my data and applications is appealing. It seems like a step towards independence and flexibility in managing my online presence. However, I'm still exploring the best way to go about it. I've heard about VPS hosting as a potential option, particularly in the USA where reliability and support are crucial. If anyone has experience with buy vps usa and can share insights or recommendations, I'd greatly appreciate it!
I don't have experience with them. I have been using linode for a few years now and love it!
(Preface: almost all of this is handled in a single Nix config, and no docker in use at all)
At home, in a two-hosts Proxmox cluster:
- blocky for adblocking
- a full *arr stack with torrents and nzbs for uuuuuuhhh Linux ISOs
- Jellyfin so friends and family can watch, I mean use the Linux ISOs
- Paperless (HIGHLY recommend)
- Wastebin (Pastebin alternative)
- Sterling-PDF (also really recommend, allowed me to get rid of Acrobat Reader for filling out and signing PDFs, plus a bunch more)
- Homeassistant
- Linux and Windows clients available for whenever you might need them (not often, but can come in handy)
- Borg client, backing up parts of my NAS to a cloud storage box
- OPNSense backup for the hardware firewall
- Forgejo
On a bare metal machine at a reputable cloud provider:
- my personal Email, Calendar, Contacts (super easy with Nix)
- another blocky instance
- another borg client
- Rustdesk server (OSS Teamviewer)
- wireguard that's just used by my TV so crunchyroll thinks it's in (other country), Lmao
Wishlist:
- Vaultwarden
- Immich, once added to nixpkgs
- PeerTube
- Pixelfed
If you want to keep everything inside a singular Nix configuration while still using Docker, you can check out the NixOS option virtualisation.oci-containers
- essentially, a declarative way of managing docker/podman containers (similar to docker-compose) but with Nix.
I know it's been three weeks, but thanks for telling me about this! I might actually do this, for the projects here and there which aren't packaged into nixpkgs (yet).
Any chance you could share any of your Nix config? I'm curious how it's being used with Proxmox (I'm using ansible and terraform right now).
I thought about adding a link, but am a bit hesitant to de-anonymize myself on here 😅
But it's basically this:
- Proxmox is not Nix configured. There's a project for that, but IMO t'll take a couple of years to be ready for production.
- I've created a custom nix module that essentially just sets my default values for stuff like bios type, boot order,... And allows to set CPU cores, RAM, IP,...
- all this does though is just setting the corresponding values from the nixos-generators proxmox output
- additionally, all the usual stuff is handled (user, known ssh keys, base config of the system)
- for each VM, I only have a single file containing the VM settings (ID, RAM, cpu, ip,...) and the service config for whatever the VM is for
- then lastly I have a custom script/shell that essentially just allows to do "nixvm-new " which generates the image, moves it to the nas, and calls on proxmox to import the image, plus some cleanup
TBH this sounds way more complicated than it is / feels to use 😄
I want to self host more, but power draw is a concern.
So I have gone the route of running to Pi 4 8gb models as my hosts of choice.
So far I am hosting:
Non-Docker:
- PiHole
- Unbound
- Wireguard (and Wireguard-UI)
Docker:
- ForgeJo
- Dozzle
- Homarr
- LinkWarden
- Traefik
- Watchtower
There are a few other services I want to get up, but I haven't gotten around to it:
- Jellyfin
- Immich
- Nextcloud
As to why:
- ForgeJo to host my own git repositories (Docker Compose files, Chezmoi dot files, Miscellaneous configs)
- PiHole for ad blocking
- Unbound, well, having my own DNS
- Wireguard so I can connect to my home network
- Dozzle for easy log checking for my docker containers
- Linkwaren so I can backup bookmarks in a privacy friendly way
- Homarr for easy access to other web services I host
- Traefik so I can resolve IP:port to a hostname with SSL certificates even though everything I host is internal only
- Watchtower to update my Docker containers
I'm trying to deGoogle/deFAANG/deBigData so I try to host FOSS alternatives to every service I use on the internet, though some services won't be possible or practical (e.g., email).
I host:
- audiobookshelf (to stream and sync podcasts between my devices)
- baikal (to host contacts and calendars)
- cryptpad (for collaborative spreadsheets and kanban, though it does more than this)
- drawio (flowchart-like diagrams
- forgejo (my git repos and oauth2)
- homepage (personal dashboard of services and links)
- invidious (youtube frontend)
- lemmy (duh :) )
- minio (S3 object storage)
- mosquitto (mqtt server)
- nextcloud (can do a lot, but I'm only using it to look at Memories for photo storage and management - I currently selfhost Photostructure, but it's not FOSS)
- peertube (youtube alternative)
- prometheus (metrics monitoring)
- qbittorrent (torrents)
- syncthing (currently only used to sync photos from my pixel to my server, but might be replaced if I switch to a photo management app that has an android app that can sync images)
- tiddlywiki-nodejs (pretty powerful wiki, but I use it just to sync text-based info between devices)
- traefik (reverse proxy in front of everything I host)
- tt-rss (RSS feeds)
- vaultwarden (password management - this is a fork of bitwarden)
- wordpress (for my personal websites)
- xbrowsersync (bookmark syncing between browsers/devices)
I use the d.rymcg.tech framework. It's a little over my head, but the framework makes it pretty easy to use all the apps. It's a bit tricky to add new apps to the framework, but it's fun and all the source is there to learn from and the developer is really nice and really helpful.
I haven't gotten around to setting it up yet, but for a google photos type self hosted setup there is Immich which looks promising!
I am also trying to degoogle/debigdata my life, but it seems we're taking radically different approaches to it. I wish you luck in your journey!
My cloud and in there my keepass file. And a own git remote server. And my media streaming box, which streams in Quality I want ( I need to pirate stuff I pay for to be able to watch the content in the quality the streaming services has advertise it ) 😤
It started with Emby and pihole. I'm now up to about 30 different services from Vault, email, 3CX, home assistant, firefox, podgrab etc.
-
Home Assistant
There's no fucking way I'm using a cloud service to control parts of my home, that just feels so wrong to me on so many levels -
Nextcloud
There's no way I'm saving my files on someone else's computer (the Cloud). Even with encryption, it's expensive. Hard drives are cheap. Put them in a server, install Nextcloud and you have your private, cheap, independent cloud service. -
Immich (currently migrating to Ente) for my photos
-
Jellyfin + arr Stack
I'm not paying $100/month for 5 different streaming services to have access to all the content I like. -
Navidrome for my (pirated) music
-
Audiobookshelf for audiobooks and podcasts
-
Pi-Hole with Unbound set up as a recursive resolver, cause why should I trust someone else with DNS?
I also self-host Matrix or Revolt servers as well as game servers for me and my friends, because it's much cheaper than getting VPS or a hosted option, and I already have this server that I use for a bunch of other stuff, so I can also just use it for that.
For sure anything with private data involved, aside from my email.
So everything to do with images, videos, file/document storage, etc..
Also game servers because they're generally very easy to host at home, and due to generally high RAM and storage needs paying for hosting can be quite pricey.
Also game servers because they're generally very easy to host at home, and due to generally high RAM and storage needs paying for hosting can be quite pricey.
Really?
I thought this was more the case with flexible providers like DigitalOcean. My current provider charges 5,36€ per month for 4 cores (though I assume this corresponds rather to 2 SMT-enabled cores), 6 GB of RAM and a 400 GB SSD. It offers better latency for most players (obviously not for myself) and in most cases has been sufficient regarding performance.
Fair, it does depend on what games you're hosting. I often have multiple servers for different games running and some can use upwards of 10GB of RAM each when in use.
Highest I've had I think was an Avorion server that hit around 20GB of RAM usage with 5 or so players on.
I find that VPS cores are often very low performance cores, since they want high core density in their servers vs fewer high performance cores, and for games like Arma 3, Minecraft, Enshrouded, etc they really need high single thread performance to work well.
Everything
...except email 😑
I self-host email, it certainly isn't something I'd recommend
Yeah hosting email as a company is a pain. I can't imagine selhosting it. At least in a company people can search you online.
The worst part really is just getting off the damn spam lists. There is almost no documentation anywhere for do's and dont's. I ultimately had to setup a sending relay for the mail on my status monitoring VPS because my residential IP triggered most spam filters, but I only found out that that was the problem from forum posts investigating the same problem. I check with stuff like mail-tester, get back perfect scores and yet most of my outgoing emails have a good chance to land in the spam folder anyway (but at least they get delivered so that's a plus I guess)
As others in other threads have said: Google and Microsoft have killed the ability to self-host email simply by black-boxing their spam filters. As a user you have no real way to fix your mail server such that your emails get delivered into the inbox reliably.
I feel ya. And this doesn't take in account users who put one of you mail in spam and it blacklist you for the whole org...
Masochism, paranoia.
I host way more than I probably should, but everyone should have some stuff like immich, vaultwarden, and nextcloud. I also like to host gitea and 30+ other things (check out netboot.xyz, it isn't something everyone needs but why wouldn't you want to be able to boot off the network), but that's just what some people do as a hobby I guess lol.
I just setup netboot.xyz this evening as an experiment. Is pretty cool.
I used to selfhost more, but honestly it started to feel like a job, and it was getting exhausting (maybe also irritating) to keep up with patches & updates across all of my services. I made decisions about risks to compromise and data loss from breaches and system failures. In the end, In decided my time was more valuable so now I pay someone to incur those risks for me.
For my outward facing stuff, I used to selfhost my own DNS domains, email + IMAP, web services, and an XMPP service for friends and family. Most of that I've moved off to paid private hosting. Now I maintain my DNS through Porkbun, email through MXroute, and we use Signal instead of XMPP. I still host and manage my own websites but am considering moving to a ghost.org account, or perhaps just host my blogs on a droplet at DO. My needs are modest and it's all just personal stuff. I learned what I wanted, and I'm content to be someone else's customer now.
At home, I still maintain my custom router/firewall services, Unifi wireless controller, Pihole + unbound recursive resolver, Wireguard, Jellyfin, homeassistant, Frigate NVR, and a couple of ADS-B feeders. Since it's all on my home LAN and for my and my wife's personal use, I can afford to let things be down a day or two til I get around to fixing it.
Still need to do better on my backup strategies, but it's getting there.
Nothing federated. I respect everyone who makes it possible, and there's an actual path to me being willing to participate, unlike corporate social media, but the level of exposure/overhead to prevent having genuinely bad shit touch my server is not something I'm comfortable with. I want stuff I can ignore for a week and not have the end of the world happen, which means at most user generated content from people I know personally.
In terms of what I'm currently hosting, just some mild personal content servers and a discord bot running a couple games on small servers with friends.
I'd like to get further into a personal site, to share my pictures/videos with friends, document/share my reading in ways goodreads and available alternatives don't do, and similar things like that that I genuinely am fine if no one looks at, but I can tell a friend "yeah, these are my favorite psychology books with a blurb on each", and "these are my favorite fiction series (actually organized by series as first class citizens, because no one really does that) with quick summaries of what I like about them", etc. I do a couple of the lists on goodreads, but you can't do blurbs on series, do lists by series, it won't even display your lists ordered or with your reviews properly included any more, and ultimately I'm going to track it all anyways so I want it structured and displayed in a way that actually makes sense to me.
I don't really want social media features and I definitely don't want to try to "grow it" or any of that nonsense, but ultimately I want to better track and organize all of that and don't really love the tools available, so rolling my own and "I might as well pretty up the presentation and make some of it public facing to discuss with friends" once I get the proper structuring handled.
For media, I host the some of the arr apps, qbittorrent, Jellyfin, gpodder2go, and navidrome. For personal photos, I host PhotoPrism. I host a file sharing service fileshelter, and a link shortening service chhoto-url. I host Wiki.js for mostly recipes, and some notes. I've recently started hosting Forgejo for my git repos. I also host SageMath for computation, it's especially useful when I only have my phone with me and need to use it. I use caddy as a reverse proxy and serve these through a VPS using a Wireguard tunnel.