-
awesome-selfhosted
A list of Free Software network services and web applications which can be hosted on your own servers
Koel, Emby, Nextcloud, Pihole, FreeNAS, Bitwarden, Mastodon
Whenever I want to set something up, I check https://github.com/awesome-selfhosted/awesome-selfhosted to find a solution.
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
I have a _terrible_ memory and am constantly forgetting things about friends I have known for almost a decade. I host this in a container that I am likely going to move to a RPi: https://github.com/monicahq/monica
-
Home Assistant
:house_with_garden: Open source home automation that puts local control and privacy first.
-
portainer - easily manage all of the above.
The coolest thing is that I don't even need to ssh into the instance (Synology NAS) to update / add / remove something. Literally everything can be achieved via portainer.example.com in this setup.
I just recently made my setup public so here's the repo if you're interested. https://github.com/tomwojcik/homeserver-traefik-portainer
-
PhotoPrism [0] is an excellent way to manage your local photo collection.
[0]: https://photoprism.app/
-
rathole
A lightweight and high-performance reverse proxy for NAT traversal, written in Rust. An alternative to frp and ngrok.
I'm not affiliated with either, but I use rathole (https://github.com/rapiz1/rathole) and kamatera (https://www.kamatera.com/) as my own kind of ngrok. But I've also heard good things about tailscale (https://tailscale.com/pricing/) which has a free hobby tier. Gonna give that a try after work today.
-
Photostructure, Actual, Tandoor Recipes, and a load of media stuff. If anyone is interested in home hosting, but not sure where to start, we’re trying to make it easy with custom hardware https://pibox.io ! I maintain a ton of Kubernetes templates for various self hosted apps as well!
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Lychee
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.
-
-
grocy
ERP beyond your fridge - Grocy is a web-based self-hosted groceries & household management solution for your home
-
Emails (Postfix, Dovecot and their friends), Nextcloud (files, contacts, agendas), Invidious, and WordPress I guess for the few websites I maintain. And Trivabble [1], a network Scrabble game I started, which is used quite a bit, so I guess it counts, but not by me (because I don't enjoy playing Scrabble). I probably forget something but those are the most used.
[1] https://trivabble.org/demo/ | https://gitlab.com/raphj/trivabble
-
Yacht
A web interface for managing docker containers with an emphasis on templating to provide 1 click deployments. Think of it like a decentralized app store for servers that anyone can make packages for.
Portainer looks popular but it's actually not easy to use, can't see which container is upgradable and doesn't even care to support mobile.
I found an alternative which is still a very young project but I've replaced Portainer.
https://github.com/SelfhostedPro/Yacht
-
Jump
Jump is a self-hosted startpage and real-time status page for your server designed to be simple, stylish, fast and secure. (by daledavies)
Shameless plug but if you are looking for a homepage to list all the apps you self-host, I made one called Jump that you might get find useful...
https://github.com/daledavies/jump
-
CyberChef
The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis
Top two are definitely Syncthing and Navidrome. I really couldn't live without either of these.
Organizing music is always a pain. But I use MusicBrainz picard on a desktop or laptop over an sshfs mount to my server. It works quite nicely.
I use Calibre-Web, but the whole Calibre system is just plain awful. It's straight out of the 1990s in terms of UI and work flow. I'd like to replace it one day, but I haven't found anything better.
I also self-host an instance of Cyberchef[1] which is an incredibly cool web app that does a variety of data conversions and other things. No real point to hosting it I guess, but nice if you're working with private data.
[1] https://gchq.github.io/CyberChef/
-
-
I have primarily used Plex and pretty much everything you said is accurate for Plex as well. Limited transcoding based on the machine it is running on. As disc has become cheaper, I have pretty much stopped doing batch transcodes, which is great for the most part. But there are definitely negatives when you want to watch something offline, or remotely. Biggest pain point is subtitles though. Since they aren't ripped as text and then sent to a client, they have to be burned in to the video itself and transcoded on the fly. Which means losing out on 'forced' ones if it can't transcode fast enough.
Plex has definitely started to try and commercialize itself more and offer other stuff, when all I want is access to my own media. So I may look into Jellyfin more soon.
As for batch transcode jobs, I had a system that I was able to set up as essentially a black box. Drop a rip into a folder and out the other side comes a smaller one at a reasonable quality. With forced subs burned right into the actual video. Mostly based on https://github.com/donmelton/video_transcoding
-
ZeroBin
Discontinued This Project has been renamed and moved to https://github.com/PrivateBin/PrivateBin (by elrido)
-
-
sserver
sserver is a simple headless server for hosting blog/static content and selling courses from your private github repository
-
-
Thanks! You should get a broker set up first and play around on localhost: this makes it easier to get acquainted with what you can and can't do. Experiment with the QOS and 'retain' settings to make sure you don't lose messages.
I did a writeup at https://petergarner.net/notes.php?thisnote=20190811-Lightwei... which should give you some ideas. As regards clients I'd recommend the cross-platform MQTT Explorer https://mqtt-explorer.com/ and for iOS, I've settled on EasyMQTT which also provides some graphing options. I don't use Android but most of the clients are good (and free). Hope this helps!
-
I setup https://paperless-ngx.readthedocs.io/en/latest/ with a Brother ads2800w scanner and I no longer have a pile of paper mail sitting by my desk. I just scan it, tag it in Paperless-ngx, and then shred it. I just pushed up my script here if anyone wants to give this a try:
https://github.com/jdoss/ppngx
I will most likely move this to a Hashicorp Nomad job on my home server once I find the time.
-
paperless-ngx
A community-supported supercharged version of paperless: scan, index and archive all your physical documents
I setup https://paperless-ngx.readthedocs.io/en/latest/ with a Brother ads2800w scanner and I no longer have a pile of paper mail sitting by my desk. I just scan it, tag it in Paperless-ngx, and then shred it. I just pushed up my script here if anyone wants to give this a try:
https://github.com/jdoss/ppngx
I will most likely move this to a Hashicorp Nomad job on my home server once I find the time.
-
If you want an alternative to Pi-hole. I highly recommend AdGuard home. https://github.com/AdguardTeam/AdguardHome. Every thing is way more intuitive and list management is a breeze.
-
Over time I've tried to whittle down my homelab and move more of it to Microsoft 365/Google Suite/iTunes Store with mixed results.
Currently my must haves are:
* Router - pfSense - https://www.pfsense.org/
-
Redirector
Browser extension (Firefox, Chrome, Opera, Edge) to redirect urls based on regex patterns, like a client side mod_rewrite.
I use a Firefox extension to do it - https://einaregilsson.com/redirector/. You might be able to do some local DNS with a wildcard shenanigans, but this is much easier to set up.
I actually don't redirect my Reddit requests, since once in a blue moon I will want to comment on something, which libreddit doesn't support. However Invidious does have the option to let you follow certain channels, and since I don't comment on YouTube videos, it covers all of my use cases, so I redirect all Youtube traffic to it.
-
awesome-tunneling
List of ngrok/Cloudflare Tunnel alternatives and other tunneling software and services. Focus on self-hosting.
> You'd need to find a way to expose it to the Internet
This can be tricky if you're stuck behind a CGNAT, which is becoming more common. I maintain a list of solutions to this problem here:
https://github.com/anderspitman/awesome-tunneling
-
Since you asked; My most used is ntfy [1] - It provides push notifications for pretty much anything and everything and can be easily integrated. It's used by a ton of selfhosters already, and I'm trying to make it better every day.
(Disclaimer: I wrote it.)
[1] https://github.com/binwiederhier/ntfy
-
Pinry
Pinry, a tiling image board system for people who want to save, tag, and share images, videos and webpages in an easy to skim through format. It's open-source and self-hosted.
-
Initially I spent a lot of time as I used it as an opportunity to learn Nix/NixOS. I used Nix intentionally as it's a rolling release and also it's declarative and intended for reproducible deployments, so I don't need to deal with an OS like Ubuntu that slowly gets crufty and out of date and needs a clean-up or upgrade or complete re-install. And if I do need to re-install, it should be mostly a one-liner.
For security there are these scanners:
https://github.com/flyingcircusio/vulnix
https://github.com/andir/nix-vulnerability-scanner
I also run all services in docker and my network uses VLANs behind an OPNSense firewall. I use Wireguard as a pinch point into my network to access most services. So I'm not too worried about the security aspect.
Upgrading on Nix is pretty easy - just bump your lock file and it will get the latest packages, assuming you are on the unstable channel. But unstable does break on occasion. You an also use the latest stable release of Nix and selectively choose unstable packages, which is probably the way to go. I rarely need to fix anything - it's pretty stable. It only starts eating time when I want to add or upgrade some element to the system, but I always make sure to never do any action that isn't captured in Nix config and backed up, so that I don't have to come back and figure out what exactly I did or how something works again. It's been fine. Nix has a pretty steep learning curve, but considering its power, I think it's absolutely worth it.
-
Initially I spent a lot of time as I used it as an opportunity to learn Nix/NixOS. I used Nix intentionally as it's a rolling release and also it's declarative and intended for reproducible deployments, so I don't need to deal with an OS like Ubuntu that slowly gets crufty and out of date and needs a clean-up or upgrade or complete re-install. And if I do need to re-install, it should be mostly a one-liner.
For security there are these scanners:
https://github.com/flyingcircusio/vulnix
https://github.com/andir/nix-vulnerability-scanner
I also run all services in docker and my network uses VLANs behind an OPNSense firewall. I use Wireguard as a pinch point into my network to access most services. So I'm not too worried about the security aspect.
Upgrading on Nix is pretty easy - just bump your lock file and it will get the latest packages, assuming you are on the unstable channel. But unstable does break on occasion. You an also use the latest stable release of Nix and selectively choose unstable packages, which is probably the way to go. I rarely need to fix anything - it's pretty stable. It only starts eating time when I want to add or upgrade some element to the system, but I always make sure to never do any action that isn't captured in Nix config and backed up, so that I don't have to come back and figure out what exactly I did or how something works again. It's been fine. Nix has a pretty steep learning curve, but considering its power, I think it's absolutely worth it.
-
nixcfg
My nix configuration(s), using flakes. It's my laptop, it's my servers, it's my everything, in code. (by MatthewCroughan)
-
-
-
-
-
-
-
HRConvert2
A self-hosted, drag-and-drop & nosql file conversion server & share tool that supports 445 file formats in 13 languages.
-
HRCloud2
A full-featured home hosted Cloud Drive, Personal Assistant, App Launcher, File Converter, Streamer, Share Tool & More!
-
yunohost
YunoHost is an operating system aiming to simplify as much as possible the administration of a server. This repository corresponds to the core code, written mostly in Python and Bash.
Asking for advice:(to HN of all places but eh...)
I know nothing about docker. I have a handful of VMs. Want to be able to set up useful self-hosted services at home without killing my family downtime.
My current plan: yunohost https://yunohost.org/ and a RPi4 to see the possibilities. Then if I see a rock solid requirement maybe go for something more specific. (NixOS config seems interesting...)
Seem fair?
-
lua-resty-openidc
OpenID Connect Relying Party and OAuth 2.0 Resource Server implementation in Lua for NGINX / OpenResty
Yes, I believe the way to do it with the free version is to use this: https://github.com/zmartzone/lua-resty-openidc
You'd have to be careful with custom code like this, though, because it's very easy to try to get the server to send a redirect but end up sending actual content that just has its HTTP status code changed to 301. The example seems to fail with 500 instead of redirecting, that's one way to do it.
-
timeline
Timeline generator. Turns your photos, calendars, GPS tracks and more into a nice timeline of your life.
My own timeline thing.
It hosts all of my data plus my personal diary. I update it at least once a day. My photos, backups and geolocation are automatically uploaded to it.
https://github.com/nicbou/timeline
My home server gets a lot of use too. It's mostly my own code, plus Transmission.
https://github.com/nicbou/homeserver
I also have a few lines of code that take my browser's search queries and routes them according to keywords. Browsers do this natively now, but old habits die hard. Every search query goes through it.
-
My own timeline thing.
It hosts all of my data plus my personal diary. I update it at least once a day. My photos, backups and geolocation are automatically uploaded to it.
https://github.com/nicbou/timeline
My home server gets a lot of use too. It's mostly my own code, plus Transmission.
https://github.com/nicbou/homeserver
I also have a few lines of code that take my browser's search queries and routes them according to keywords. Browsers do this natively now, but old habits die hard. Every search query goes through it.
-
Joplin
Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Related posts
-
Debian's approach to Rust – Dependency handling (2022)
-
There’s really only one way to solve the API problem:
-
Looking For: inventory for music albums
-
Password protected static file download page?
-
I finally got my Linux server built and set up. I installed and configured Pi-Hole on it this morning and I am loving it. I cant wait to figure out what else I can do with it. So far it's a NAS and PiHole. Give me some more ideas.