that self hosted itch....

fraydabson@sopuli.xyz to Selfhosted@lemmy.world – 97 points –

Anyone else have it ? The more work I do setting things up like dockers, reverse proxies, single sign on, etc. the more I want to do it. But I’m running out of ideas of things to host that would actually benefit me. But I have that itch where I want more lol.

So far I have the following: (EDIT: added descriptions for those who aren’t familar with all of it. )

  1. Caddy - use this primarily as a reverse proxy to access my applications via my domain and outside the house
  2. Nextcloud - mainly using it for cloud storage but also some of their other apps likes decks and tasks as well as contacts and calendar.
  3. Memos - simple note taking app similar to twitter but personal.
  4. Miniflux - rss
  5. Authentik - sso
  6. Portainer - web view of dockers and status / health
  7. KitchenOwl - groceries / recipe management
  8. Actual - zero budgeting (like YNAB)
  9. Firefly iii - finances management
  10. Immich - images / iCloud replacement
  11. Organizr (barely using it. Trying to think of more use cases) - dashboard of all my services
  12. Speedtest - runs daily speed tests and monitors.
  13. Plex - host my media library
  14. Plex_Debrid / rclone - sync real Debrid with plex.
  15. rsync to backup data to one onsite and one off site location. Automated backups
  16. Watchtower automated docker updates
  17. Home Assistant - home automation
  18. Home bridge - Apple home automation
  19. Zigbee2mqtt - manage zigbee smart home devices
  20. Unifi controller - manage my network

I think that’s everything!

Edit: Thanks for the overwhelming responses! I really appreciate everyone with their opinions. First things first I did get borg setup for both my server and my desktop so thats awesome! I am waiting for response from my backup server admin if they can install rdiff-backup for me so I can utilize that as well for my cloud backups.

Going to take a look at a few other of the many suggestions here! More than a few I like!

83

Monitoring. Try out Prometheus/InfluxDB and Grafana, throw Loki in there too... It'll keep you busy for a few days to a week at least.

I did all of that and I just use Netdata now.

Decided to just start with Netdata. Looks interesting! Got it running on my server and desktop.

Wise move, all the default alerts that came preconfigured are such a timesaver. I realise what I needed was alerts and not really visualization.

Right. And it looks so similar to datadog which I already use at work.

Yet another note about your list, OP... instead of plain rsync, take a look at rdiff-backup which uses rsync as its backend but it creates incremental backups. Very handy when you made a change a month ago and just noticed a problem! (I actually keep a year's worth of backups for each of my servers and it's very easy on the storage space.)

My rsync does do incremental backups. But I will look into rdiff-backup!

Interesting, I wonder if rsync itself has been updated to include this? The whole point of rdiff-backup was to provide a wrapper for rsync to add this functionality. I dunno, I've been using it for many years and it's never let me down.

Hmm now you got me curious lol. I am newer to this so I could totally be wrong. I told it to make logs so I’ll have to check out the logs. I thought I remember it only backing up new / changed data and then deleting deleted data. I’ll have to look into it more !

Maybe we're talking about different types of 'recursive' backups? In the sense I am referring to, it means that I can tell it to recover a specific file from a specific date, and it will provide the file as it appeared on the server on that given date. If I want to know what options I had in fstab on January 1st, I can recover that.

Ohhh yeah we definitely are. I think what you are referring to is like snapshot backups I think. Which you are right I don’t believe rsync can do that without some major tweaking.

Thanks for clarifying now I’ll definitely check it out !

How are you liking KitchenOwl? I saw it in your list and looked it up, definitely seems like something I've been wanting for years, but also appearing to be a very new project that still needs a lot of development.

Basically what you said. It seems really cool with a lot of potential. But too early to say. Someone else suggested this I might try : https://davideshay.github.io/groceries/

Someone else mentioned some other grocery / recipe apps on my post but now I can’t find it. I know Nextcloud has one.

I hope it sees some good progress because the combination of meal recipes and grocery list (maybe with the addition of a weekly meal planner in between) is what I have been looking for. I would have just written my own long ago, but the offline sync to android devices is critical and I don't know anything about writing android apps. I would jump in to try and help with this project but I can't even figure out what language it's written in and I'm most comfortable in javascript and php.

There was a point I had a minimum of one service from each category of the awesome-selfhosted repo. I've since scaled down to a more minimal approach, but still enjoy looking for new services to try out.

Monitoring is one that's interesting, graphs can be fun to look at though, so Grafana for that, and it's fun for family to see, even if they don't exactly know what it means, lines and charts are pretty.

I have since setup most of my monitoring to only alert if there is something that is unusual or outside of some threshold. Previously I had it alert me when a process or script had finished, however it was too noisy, and instead now it checks to make sure the script succeeded and if it didn't to alert me.

Thanks for that link, I had no idea it existed. Great resource to keep on hand!

As someone else already said, automated backups should be up on the priority list.

But also maybe try out self hosting Lemmy. It's been a fun little journey and helped me flesh out my Caddy config more than I thought possible.

Interesting. I did self host Lemmy once a few months ago but that was when I was using cloudflare. Maybe this would be a good way to learn more about Caddyfile and tricks.

I've been running it behind Cloudflare with no issues. I'm also doing it a completely different way than the official docs and the ubergeek method. Mostly because I have a particular way I do my docker stuff.

Every time something has broken it's been 100% on me. My favorite way to learn is by breaking things though, so I also have an account on a different instance in case I break mine and have to wait a bit to fix it 😅

Oh yeah 100% I had no problems with the cloudflare tunnel or anything. I just didn’t know much about Lemmy at the time and was having issues federating and that was an older version. I’m definitely going to look into hosting one again for me and my friends and probably mastodon too !

I've been selfhosting for almost a year, and I'm still on the lookout for anything I can host.

I've reached a point where if I don't have a use for something, i'll still try to make an unraid template if there isn't one. Just to install it and try it out. Lol

I need to look into unraid. I always hear people talking about it but haven’t really looked into it.

I love posts like these just to look for more stuff to host!

My current list -

hex - main server (Intel NUC 8GB)
    Nginx Proxy Manager (reverse proxy)
    Dokuwiki
    Nextcloud (file sync) - also used for the following
        Bookmarks
        Contacts
        Calendar
        Location tracking
        Notes
    Airsonic (music streaming)
    Audio Bookshelf (audiobook streaming)
    Calibre-Web (e-books)
    FreshRSS (RSS reader)
    Kavita (comics)
    Batch monitoring scripts
    N8N (workflow automation)
    Transmission (bittorrent client)
    Vaultwarden (password and 2FA sync for Bitwarden)
    Glances (fancy top replacement)
    Paperless-ngx (process attachments and scanned documents)
    Uptime Kuma
    Dozzle
charon - Raspberry PI4
    Pi-hole (Ad blocking DNS server)
    PiVPN (wireguard VPN server)
    PiAlert (network intrusion detection)
    Time Machine (backup for MacOS)
    Borg Server (backup for main server)
coeus - Raspberry Pi Zero
    PiHole

Ooh, self hosted location tracking? Tell me more!

I already run Nextcloud for file sync. One of the apps available in Nextcloud is called PhoneTrack which is a compatible server for collecting and displaying data collected by the owntracks app on my phone. Nextcloud sits behind an nginx reverse proxy

I haven’t tried it on Nextcloud yet but I do this already on home assistant with my girlfriend and I. We can basically replicate the iOS find my app with it.

I personally just started using Owntracks, which is a standalone location tracker. There is also Traccar which I looked into but opted not to make use of.

Some people use it as a Find My replacement, I personally make use of it as a Google Maps Timeline replacement (and have imported my previous data as a result) as well as for Tile tracker location history (which I've got custom scripted currently).

I would love to self host more but I feel like I don't have the proper hardware to back it up and I feel like it would take a lot of my free time to manage it properly.

If docker isn't your thing, you can run multiple virtual machines under KVM and make each service its own separate machine. It really doesn't take much hardware to get started. If you meant doing system backups, you could always start with building a simple NAS from an old desktop machine, then run a cron job with rdiff-backup to make daily incremental copies of your other servers.

The point is, don't let old hardware hold you back. I just moved my web servers off of some 20-year-old rack servers earlier this year, it really doesn't take a lot. Just grab any machine you have laying around and get started. The practice will teach you a lot, and you can then figure out if you need a better system.

I use my old gaming computer, before that I used a raspberry pi. The Pi is sufficient for a lot of things.

Managing the dockers doesn't take that much effort. Setting things up did take a lot of time, in many small chunks. I never use the :latest tag, and do manual updates. This way things rarely breaks

I also use my old gaming computer! Makes a perfect home server.

Agreed! It has been solid. Though sometimes I want something smaller 🫣 But with room for disks😅

My stuff is hosted on an Intel NUC celeron, an rpi4 and an rpi zero. You don't need beefy hardware.

A local caching DNS server can be useful and is easy to get set up. And learning about DNS gives you insight into one of the most important pieces of how the internet works. You can go as far as setting up your own root zone which means you have the needed components to run the entire internet (except for the bandwidth it would require).

I don't see an apache or nginx server in your list, do you host your own websites? Get one of those set up, and then read about LetsEncrypt to creating and managing SSL certs.

There's just so many other things you can run from home... Chat servers like IRC, instant messager services like XMPP via OpenFire, a local SMTP relay with postfix, file hosting under something like SeaFile. If you have a collection of music files you could even build your own internet radio station.

I've been wanting to set up NextCloud on my servers, but I've been busy trying to get all the OS upgrades caught up. One of these days...

Caddy is listed instead of Apache or nginx. And it handles all of the SSL on its own.

Ah ok. There's a ton of stuff on these lists that I've never heard of before, and since nobody is adding descriptions for the rest of us who aren't familiar with the projects, I think there will be a lot of possibilities passed over in this post that might have otherwise been of interest.

I agree with you, I don’t know what a lot of that stuff is.

Yeah I was thinking of people giving me ideas didn’t even cross my mind people would use my list for ideas. Updated!

Didn’t think of that. Most eyes are probably already off this post but I’ll edit it with some descriptions !

Updated my apps to describe what I use them for. But it’s funny you mention this because as I switched away from cloudflare tunnels I was learning how to get all of it working with nginx proxy manager. Took me a while cause im a dns/ssl noob. But I learned a lot and then switched to caddy for its simplicity.

Now a local caching dns server is not something I’ve thought about before and while not something I’d probably need it would be a great learning experience.

I did learn a bit about lets encrypt but happy caddy handles it all for me now. I still need to learn more though because I need to do some tls verification skipping for some of my sites. The other ideas are cool too. Thanks !

There's a lot of options for local DNS caching. I think one of the easiest is dnsmasq which not only handles dns but also lets you set up a local DHCP service, and will automatically add local machine names to your DNS lookups. I use the DHCP side for my lan and wifi networks, and then put static IPs of my servers into the hosts files on that machine (which dnsmasq also reads) so everything on my network can easily be addressed by name.

One of the benefits of a DNS cache is that it saves the wait time for lookups of sites you frequently visit (although your desktop may already provide this too). Another advantage is using local names when your various services need to reference each other. For instance if you have a database at a given IP, you could add that info to dnsmasq, point all your services to the name, and if you ever need to move the db to a different IP you only have to make one update to tell every other machine where it moved to.

Oh and thanks for updating the app descriptions, gives me more to look through!

Seems like one of the features I read about for Nextcloud was that it could host a Zoom-like video conference... Am I remembering right? I keep thinking of setting that up because our model train club has a lot of older members that can't attend in person and a paid subscription is out of our range.

I haven’t played with the Nextcloud chat apps yet so not too sure. But I’ve heard a lot of people talk about “Jitsi” as a zoom alternative and planned to look into it.

In no specific order

goaccess-for-nginxproxymanager

filebrowser

smokeping

searxng

duplicati

whoogle

nginx-proxy-manager

flaresolverr

linkding

ntfy

changedetection.io

librex

shlink

portainer

speedtest-tracker

pihole

unbound

wg-easy

bookstack

memos

epicgames-freegames

mind-reminders

teddit

vikunja

uptime-kuma

Bloben

stash

jackett

gluetun

prowlarr

mstream

jellyseerr

sonarr

nextcloud

qbittorrentvpn

komga

bazarr

duplicati

Tube-archivist

homepage

radarr

picoshare

audiobookshelf

lychee

scrutiny

youtubedl-material

deemix

Jellyfin

Invidious

Wefwef

Serge

Host a containerized Bitwarden instance.

I’ve considered this. Since I use it. I always read how people say that’s the one thing they rather leave to the pros lol

I disagree, you'll have your backups, so even if everything breaks you will have a failsafe. If you get compromised it's still not an issue: Everything server side is encrypted, the safety is in the clients and your master password length.

So, I see no particular differences with other services. Considering I hear of some issues with bitwarden servers that are constantly under attack, selfhosting could even increase the availability.

Yeah that’s a good point. I don’t see why not. Thanks I’ll probably give it a shot.

I got it working in my local Kubernetes cluster, by writing all the yml files myself. Then realized someone built a Helm chart for it, which is much easier to maintain. The hardest part was generating the TLS cert.

Helm chart

1 more...
1 more...

@fraydabson

Start automating your backups / maintenance and orchestrate deployments .....

Any guides/resources on how to get started on that? I have backups and could probably get my stuff up and running after some tinkering but I love the idea of some script I can just run on a fresh environment that would bring all my containers up and restore all the data.

My backups are automated via cron jobs and rsync both on and off site. Deployments / maintenance are also partially automated via docker compose files and cron jobs to identify issues with mounts or something and fix and restart.

Any other ideas ?

Also if you're running out of ideas on what to do, try to Nixify it. Install NixOS, learn modules, maybe make some modules yourself. Fun journey.

You could set up specifically clementines and tell me how you got it working 😅😅

I recently started using https://silverbullet.md (note taking with PWA offline support). And nforwardauth (authentication). I like both so far.

I see you are also missing paperless-ngx, syncthing and gitea

What is clementines? I use memos for my note taking and has a real nice iOS app.

Paperless-ngx sounds nice. I’m so bad with physical papers and storing them so that could be big for me.

I use Nextcloud for my file syncing.

Gitea sounds cool if I get back into coding.

clementines is a shopping list program. it sounded nice, but I couldn't get the installation working https://davideshay.github.io/groceries/

I have been using memos too, but I am switching to silverbullet now. I was trying to take/read some notes on an airplane, and memos didn't work offline. So that is the reason for switching. The developers said offline support is on the roadmap, and suggested using telegram integration for offline note taking until then.

I mainly use gitea for revision control of my docker compose file these days.

Ah, yes when I had iPhone I also didn't use syncthing. But now I use Android and like syncthing better than Nextcloud. NC stopped working for me a few times, syncthing has been solid

Oh cool. I am using KitchenOwl and someone else on this post suggested a few recipe managers. I’ll definitely check out clementines (if I get it working haha)

For memos I never realized it doesn’t work offline. Thankfully it’s rare I am offline but that does worry me that when it does happen I won’t have access to my notes. I’ll definitely take a look at silver bullet!

Version control of docker compose files why the heck didn’t I think of that before lol. Would have helped me more than a few times. Going to get that setup as well.

Makes sense. I think I did use sync thing years ago when I was on android. Thankfully the only issues I’ve had with Nextcloud have been user error.

I'm currently using Authelia, but would like to see what Authentik provides. The last time I tried it, I remember circling through multiple sections in the web app to add authentication and bypass certain endpoints.

Also, it was considerably heavy compared to Authelia. Still, I would like to give it a chance again to see what I'm missing.

Yeah I haven’t tried authelia yet. I saw a lot of people talking good about authentik so decided to try it and I like it ! Yeah you have to set up both a provider and app which I believe is different but it’s easy!

Are firefly and actual different enough to justify running both? I'm looking into them myself.

As for suggestions on other things to host, maybe a recipe manager like Mealie, Tandoor or nextcloud cookbook?

I haven’t got deep into using both yet but from what I’ve seen so far they are very different.

Actual is basically YNAB so if you’ve used that before you’ll be familiar with it. I am a current subscriber to YNAB and considering fully switching over to Actual.

Firefly iii is like an accounting program to manage all your finances and less about budget categories and giving every dollar a job. I personally don’t see my self using this much.

I am using KitchenOwl right now for recipe management. I haven’t gotten deep into it yet and I am intrigued to try something different. There was another one I was looking at that hadn’t been updated in a while so I just settled on KitchenOwl I’ll check those others out ! Which one is your preference?

Ill add few that no one mentioned here:

  1. Upsnap - wake-on-lan to wake up my PC when I need remote control
  2. Code-server - txt editor / file browser
  3. *arr - next level torrenting

Anyone else have it ?

Im definitely not commenting from my selfhosted instance lmao

How is it all running? I'd look into moving to proper infrastructure and maybe even go a bit wild and run OpenStack? Maybe with OpenShift on top and migrate your docker stuff into Kubernetes?

Personally I think both OpenStack and OpenShift are cool as shit!

Out of curiosity what makes that a more proper infrastructure? I’m not against it I actually like the idea but curious the reasoning. I think doing that and trying kubernetes would be a great learning opportunity and potentially help me with job seeking in the future.

Well that entirely depends on what you're running now of course. Due to lack of information I assumed the most common setup of community vSphere or Proxmox on old PCs / SFF workstations. If you're already doing used rack servers, USPs, redundant switches and SAN then it's not really any more proper just more modern. I put fault tolerance as something that takes you from less to more proper. If you're hosting important stuff like say security systems, mail, communication like Matrix and the family photos then it stands to reason that it should be run on infrastructure that will last, make upgrades easy and keep your data safe (which also of course requires some kind of off-site capability as well). That said I don't have the space for a server rack at the moment so I can't realize my plans in this area, but one day I will!

I try to find ways to make my setup more bulletproof or faster whenever I get the itch. As an example, I recently switched to OpenSUSE and Podman to take advantage of the LTO optimized packages and rootless containers.

I tried to run my online life through self hosting but I found a lot of the services weren't reliable or capable enough to get real work done. So I went from 30 containers to about 7 and have a lot less to tinker with.

Is "faster" related to rootless here? I switched to rootless docker a while ago and from all I've seen it seems like it would actually suffer in the performance category. I don't run anything particularly demanding and haven't benchmarked anything, so it's more of a gut feeling.

No just LTO. Right now only Ubuntu, Fedora and SUSE Tumbleweed turn it on by default.

I've rebased a few of my containers with SUSE and noticed some improved load times on my web services as well. I don't run anything demanding either, just bored. It's like half a second improvement lol.

How does actual compares to firefly?

From what I can see they are totally different finance apps. Actual is basically YNAB. Where firefly is not much of a budget tool more of a finance manager. I stopped using firefly for now but still using actual. As soon as they finish work on bank linking I think it’s going to be the perfect zero budgeting tool

Well, here's most of my stuff:

  • Jellifin
  • Nextcloud
  • FreshRSS
  • Photoprism
  • Wallabag
  • Audiobiokshelf
  • Calibre Web
  • Tandoor
  • Homeassistant
  • Tvheadend
  • YouTubeDL
  • Guacamole
  • Podgrab
  • Filebrowser
  • Handbrake
  • Pihole
  • Syncthing
  • Nodered
  • Urbackup
  • Uptime kuma
  • Gotify
  • Paperless-ng
  • Scanservjs
  • Linkding
  • Bookstack
  • Mediathekview
  • Ha-bridge
  • Flame
  • Lemmy

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
DNS Domain Name Service/System
HTTP Hypertext Transfer Protocol, the Web
IP Internet Protocol
NAS Network-Attached Storage
NUC Next Unit of Computing brand of Intel small computers
PiHole Network-wide ad-blocker (DNS sinkhole)
SMTP Simple Mail Transfer Protocol
SSL Secure Sockets Layer, for transparent encryption
TLS Transport Layer Security, supersedes SSL
VPN Virtual Private Network
k8s Kubernetes container management package
nginx Popular HTTP server

11 acronyms in this thread; the most compressed thread commented on today has 8 acronyms.

[Thread #44 for this sub, first seen 14th Aug 2023, 17:25] [FAQ] [Full list] [Contact] [Source code]

Shouldn't this account be flagged as a bot account? Or am I missing the marker that says it is?

Good point, it doesn't appear to be. Might be good to drop a note on GitHub (or their contact method of choice) so they can set that flag.

Edit: I just went and sent them a mention on Mastodon. I noticed it's an admin account so I wonder if Lemmy lets both flags be set at once.