Selfhosting

7 readers
1 users here now

All things selfhosting and homelab related Resources: - https://github.com/awesome-selfhosted/awesome-selfhosted - https://github.com/awesome-foss/awesome-sysadmin

founded 1 year ago
1
 
 

I was trying to troubleshoot a home networking issue, and I plugged my laptop's Ethernet cable into the second bridge port. I thought it would recognize that the device wasn't a router and assign a local IP address behind a firewall. Nope. Windows was assigned an external one.
I suppose now I have the option to have my self-hosted services hosted on a different IP address.
Kinda scary that my isp just allows unknowing customers to expose their equipment to the net
If you're wondering, yes, I did change the IP addresses before posting this

2
 
 

Hello all! I would like to address an issue that I find it a bit too little discussed: self-hosting your stuff without relying on any central services, whether you own them or not. Why go with this instead of choosing a cloud provider or a hoster or even a personally owned PC (desktop PC, laptop etc.) to host everything you have?

A good argument is money. You basically pay nothing to host everything on your own devices, as many of them as you want. While storing stuff on cloud services costs you money (or data), and having your home server is still somewhat of a hassle (you have to keep it running all the time, plus the electricity bills associated, plus the fact that you pretty much need to take care of an entire extra computer), relying on your devices only to do your stuff has the added benefit of a smaller learning curve, while also maintaining your privacy. Then you might simply not have an income source of any kind (for example, if you're a student). Not everyone can have the ability, time or money to set up their own server.

Or if your physical space does not allow you to comfortably have a home server in your house, this is also a great option that can increase your privacy.

I wanted to create this post, so I can list all the tools I've used for this purpose over the years. Some of them can be used with a centralized solution as well, so here's what you can do without a server:

Sync Contacts and Calendars

There are several solutions for this, not all open source though, but which have proven pretty reliable for me. This is one of the areas where a dedicated solution is needed. Here's what I've used over the years and I can recommend:

  • GeneralSync: This is a neat little solution to sync your Contacts and Calendars with devices on the same network. It supports Android, Thunderbird and Microsoft Outlook versions from 2013 onwards. On Android, it creates a dedicated calendar and a dedicated contacts section where you can store all your events and contacts respectively, while the program will do the rest. It is currently free to use, and the dev said he plans to do away with accounts entirely (you needed a license when it was first launched). Right now there is pretty much nothing you need an account for. The app is not open source, but is literally just the work of a single person. If you can, do donate him money so he can keep the project running.
  • MyPhoneExplorer is also a proprietary solution but more up-to-date and with more functions. I personally used it a lot when I was using Windows and is one of the programs I missed after switching to Linux (along with Foobar2000 for my music). It can sync to more programs, along with its internal database. It can also sync notes, to-do lists, even your clipboard, browse your phone's file system and retrieve any file from there, send and receive text messages or phone calls, get various device information or mirror your phone's screen. It can use LAN, Bluetooth or a cable to connect to your phone. The program is available for Windows and Android.
  • KDEConnect - this is the last entry on this list, and the last such solution that I'm aware of. It has a similar feature set (okay, I don't see calendar sync support fwiw) but a larger OS support (Linux, BSD, Android, Sailfish, iOS, macOS, Windows etc.) As it's developed by the KDE team, it does have quite some support as of this post, so it has the less chance to go abandoned any time soon.

Sync files

Over here there's a certain solution worth mentioning:

  • Syncthing - this is a serverless file syncing solution that allows you to sync two separate directories between devices. This allows you to sync various files and gives you access to more services.
Some other services that syncthing allows you to use:
  • You can (obviously) backup your photos, music, videos, documents and other files and also keep them in sync if you want (replacing the need for Google Photos for example);
  • You can keep your passwords and OTP secrets in sync between devices with Keepass (Alternative clients). Pass is another option to consider, with apps on pretty much all the most popular platforms;
  • You can sync your to-do list with todo.txt;
  • You can keep your notes in sync, in Markdown format. There are plenty of apps that allow you to store notes in Markdown, the most popular one being Obsidian. What I am aware of that work together well (at least for basic functionality) are Notable, QOwnNotes (cross-platform, but only on desktop) and Notes. Org-mode is also an increasingly popular other option for storing notes in plain-text;
  • Talking about Markdown, there's also a neat little app called Markdownr which saves any link in Markdown format. Perfect for saving articles for reading later (like Pocket), and seeing them in any reader supporting Markdown;
  • You can even sync recipes using Gourmand on Desktop, and Tournant on Android respectively;
  • Last but not least, you can encrypt all these with a Veracrypt container and keep that container in sync.

File transfer

  • BitTorrent. Yep, that's the most obvious option. In fact, nowadays, it's not only transfer, but also sync. There's a tool called Resilio that uses BitTorrent to sync files, similar to Syncthing. But if you want to simply send some files to someone all you need to have is a Torrent client (like qBitTorrent, Transmission, Deluge etc.) and a tracker. Here are some instructions for using qBitTorrent with the embedded tracker, but I also used this as my tracker in order to test it out with somebody, and it worked just fine.
  • Pairdrop touts itself as a a sublime alternative to AirDrop that works on all platforms. It's a Progressive Web-App (basically a website with a few more features) that uses your local network to transfer files. You can optionally transfer the files online as well, directly to other people (files are not stored anywhere). Pairdrop is a fork of Snapdrop, a tool which provided me some mixed results.
  • Warpinator is a tool created by the team behind Linux Mint, but can be used on pretty much any of the most popular OSes. In order to use it, the devices must be on the same network.

Communication

  • Here, the most obvious option is to use your phone for regular calls and SMS messages. Of course, calls and messages are only as encrypted as your carrier wants, and this option is obviously generally not available on desktop. So depending on your needs, you might need a different option.
  • Briar is a messaging app that uses no central server to communicate with others. The messages are encrypted and sent directly to the other user through the internet via TOR when available, but it can also use your LAN network (if you're connected to Wi-Fi and the other devices are on the network) or Bluetooth. As it has no central server, users must always be online to communicate, but you can also install their Mailbox app to receive messages while offline. It kinda works like a server, indeed - though not really defeating the purpose of the current guide - as you only need to keep one spare phone turned on and connected to your Wi-Fi. As long as the device where you have the main Briar app connects to that mailbox, it can receive messages. Briar is also available on desktop, but there doesn't seem to be a way of having the same account across devices (any time you're creating a different account, basically). I also tried adding my phone to Briar on my desktop, but couldn't add the two contacts. Phone-to-phone communication worked flawlessly, though.

Disadvantages and closing words

As you might have already noticed, most of the options listed here use LAN in order to work. For many people, including me, that means connecting to the same Wi-Fi network and turn the router into a middleman. This might be a limitation for specific cases when you cannot connect to any network to sync your files over. There are also issues on the colaboration side. There's no easy way to give someone access to a certain file, then have the edits in sync with you. The other person must also set up Syncthing, Resilio or some other solution locally in order to sync the changes. Otherwise, since no central server is involved, there's no way to use the browser to sync a file, at least that I'm aware of. I'm also not sure how well that file would stand being edited by multiple people without getting corrupted.

Last but not least, it's harder to shut access to a device if it ever gets stolen. You can change your password to your cloud account and shut the device off it, but if you use a solution like Syncthing, for example, there's no easy way to cut access to all the sensitive data you might have in sync. There are all sorts of stories (sometimes funny) of people being able to locate and recover their devices by using cloud services.

On the flip side, for people who like tinkering with their devices and not being so much on the move, as well as being the sole users of their services, I believe this approach is highly feasible. What do you think of this? Did you find any other serverless solutions that are worth giving a try?

3
 
 

As I'm sure some of you noticed, very shortly after Ernest posted the update to KBin that allowed for abandoned magazine adoption, I took over this magazine.

After a quick flurry of activity kicking the former moderator and owner who hadn't logged in in over 3 months and using a spammer as some target practice for my shiny new ban hammer, I haven't done much aside from contribute a pair of crossposts.

It's been quiet, which is totally okay of course. There are other great Threadiverse selfhosted communities I hope all who are interested have already found.

But I'd ideally like to find a niche for this community to fill. My small contribution back to the community at large I've been benefitting from for over a decade now.

Do any of you have cool ideas? We could do themed days, giveaways, weekly posts, a wiki, a matrix server, whatever really.

Or we could simply update the sidebar to redirect to other selfhosting communities.

Any and all ideas welcome!

4
 
 

Good conversation here. I migrated from Duplicati/B2 to Kopia/B2, happy with it so far!

5
 
 

Not your typical selfhosting, but a very cool use case.

6
 
 

For those who enjoys craving a bit of a "nerdy feel" to your daily routine, have at it. Just slap this bad boy on any raspberry pi 4 with a touch screen, and enjoy your pseudo-reality at the cost of "almost nothing". Steps on how to run it are included in the link @ title as always.

  • Pros:

- Isolated, does not run as root, ready to use, no need to go through lengthy installations

  • Cons:

- You have to type something to use it.

Have fun.

7
 
 

I have a QNAP NAS which uses RAID 5 across 3 HDDs. There are lots of good videos online for setting up RAID (even DIY solutions using linux), but how do I know when there's a problem and what's the typical way to maintain it?

I'm guessing that these systems log an indication somewhere that a disk is about to fail, and when I see that log entry I should power down the system and replace the disk with one of the exact same size. Is that right?

Edit: I have found a good overview here: https://yewtu.be/watch?v=OhzrPInWMyo

In essence, he's saying:

  1. Enable a recycle bin feature so that accidentally deleted files can be recovered.
  2. If the device itself (not the disks) fails, one option is to replace the device and insert the disks in the same order as before. But there's a chance that the disks were corrupted by the failing device, in which case the next point is what you need.
  3. EXT4 is a common filesystem format with QNAP and specialised recovery software can help you recover information from the disks. He demonstrates Hetman RAID recovery. You will need to connect all disks simultaneously though, so if you don't have enough ports for this you'll need to get an adaptor of some kind.
  4. If just a single disk has failed, then in theory you should just be able to replace it, but there can be complications, which he discusses at 6:37 in the video (the video is just 7:51 duration).
  5. RAID is not a backup. Please backup your data too.
8
 
 

Hi Selfhosted,

I'm looking for the best recommendation to replace spotify for music on the go and at home.

Currently at home I use moOde for multiroom audio and spotify connect to play music, my wife also casts to it using airplay. I then just use the spotify app on android when out of the house.

I already have a large music collection but I am not sure of the best way of making it accessible. Any ideas?

9
 
 

I know what most will say, I'm not supposed to be connecting to my home servers from my work computer. I get it.

I currently use Dex on my Samsung phone to have remote access to my home systems which I connect to my work laptop but run into some bugs here and there.

Is there a more efficient way to have encrypted remote connections to my home system? I was considering seeing if I can route VPN traffic through a split tunnel to my home network through a specific interface on my windows laptop that connects to a Hotspot while maintaining LAN connection to my work environment.

10
 
 

Looking for creative ideas, and feeling xkcd.com/910 strongly here

11
 
 

Good Morning fellow nerds,

I'm setting off on a journey to self-host a small Matrix server for my direct relatives and wife to use instead of whatsapp. Can you guys recommend any resources or communities before I start purchasing hardware?

This will be a private server only used by 5-10 people mostly from their phones.

What should I have into consideration?

Pic unrelated

#selfhosted

12
 
 

Hey!

Im the founder of Formbricks (here is our repo) and we'd love to make self-hosting as EASY as possible!

We're providing a Docker image and are now looking into One Click Hosting for Railway, DigitalOcean, etc.

What is important for you to make self-hosting seamless?

Which platforms do you want us to offer OneClick Hosting for?

Thanks for your insights!
Johannes

13
 
 

Hey!

Im the founder of Formbricks (here is our repo) and we'd love to make self-hosting as EASY as possible!

We're providing a Docker image and are now looking into One Click Hosting for Railway, DigitalOcean, etc.

What is important for you to make self-hosting seamless?

Which platforms do you want us to offer OneClick Hosting for?

Thanks for your insights!
Johannes

14
2
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/[email protected]
 
 

I'm considering getting back to self-hosting again, but I remember a problem I never quite figured out.

My first services were a gemini server and lighttpd server and these were easy to set up, very satisfying and continue to work well for years. I also have FreshRSS and Calibre-web running well here.

But as I try to add more, sometimes instructions would include apache settings that clashed with the apache settings for something else. The instructions assume I don't already have apache installed and can just apply any settings I want.

Another issue, the new service might take over the domain, becoming the default service for the domain. I'm assuming that this is a port issue but I don't know.

Then there were docker containers. Some used docker compose while some did not.

One that I just couldn't get working was Nextcloud, which I wanted to host surveys from. They won't answer my support questions on their community hub unless I set up SSL though (which I don't plan on doing).

Does anyone have general advice on these issues? If it's just part of the difficulty of self-hosting, then maybe it's not for me. Too much time and energy was getting spent on it.

Thanks!

15
2
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/[email protected]
 
 

Yesterday I followed the docker guide for setting up a new KBin instance. Some parts of it are working, but it seems like it's not federating properly.

What does work:

  • I can create new local magazines and threads. They show up in my feed.
  • I can search for magazines/communities on other instances and they are added to my magazines list (well about 90% anyway)
  • I can (un)subscribe to those communities

What does not work:

  • If I visit those magazines from my instance, there is no content. Visiting the community on it's home instance shows new content since I subscribed to it on mine.
  • Searching for my user from something like Mastodon yields no results; however, I can search for and find my kbin.social account.
  • I cannot access my newly created magazine from the kbin.social instance
  • (This is probably unrelated) Since I made my admin accout using the kbin:user:create command, I cannot create any other users with it.

Any ideas on where I can look to resolve this?

This reported issue sounds a lot like my situation: https://codeberg.org/Kbin/kbin-core/issues/73

16
 
 

For the last 6 months or so I've been working on Pinepods. I have never been able to find the perfect self-hosted podcast app that I wanted to use. podgrab's player is rather lackluster and misses a lot of features that I would like.

With Pinepods you can play, download, and keep track of podcasts you enjoy. It allows for searching new podcasts using The Podcast Index or Itunes and provides a modern looking UI to browse through shows and episodes. In addition, Pinepods provides simple user managment and can be used by multiple users at once using a browser or app version. Everything is saved into a Mysql database including user settings, podcasts and episodes. It's fully self-hosted, and I provide an option to use a hosted API or you can also get one from the podcast API and use your own. There's even many different themes to choose from! Everything is fully dockerized and I provide a simple guide found below explaining how to install Pinepods on your own system. It’s also super easy to import podcasts from any app using OPML files.

There's also lots of modern features like MFA, self-service password resets, and some Podcast 2.0 functionality (more to come)

In addition to all that, I've built a client version of the app that can connect via API to your home server over something like a reverse proxy or tailscale.

Pinepods just had is on version 0.3.1 with all the basic functionality implemented. Currently, you're likely to experience issues, but I certainly invite pull requests or opening issues if you have the time. You can also get setup assistance on the discord server. I invite you to try it out!

Check out the official site here:

https://www.pinepods.online/

Github here:

https://github.com/madeofpendletonwool/PinePods

Discord Server:

https://discord.gg/bKzHRa4GNc

17
 
 

I want to self host my own kbin instance. But dream host (my current host) doesn't let me do postgresql unless I get a dedicated server (very expensive). And I don't want to put it on my home machine because I want professional hosting.

So what are my other options? And what are you all doing? Are there preferred hosts?

18
 
 

I have a PC I have installed Portainer on, with various docker services (home assistant, jellyfin, etc..) with an ISP supplied router fixing various device IP addresses and reaching out to dyndns.

I really want to move everything over to HTTPS connections by supplying certificates, tls termination, etc .
The issue I have is self signed certificates mean I have to manage certificate deployment to everything in the house.

I figure I need to link a domain to the DynDNS entry and arrange certs for the domain. However I can't make the link function and everywhere wants >£100 to generate a certificate.

How are people solving this issue?

19
 
 

If you want to host your own genealogy tree all options were (are) fairly janky. Gramps.js is the best options in my opinion.

Why now?
They finished core features that let you manage the tree fully online.

Gramps started as a desktop java app... and that desktop app works but synchronizing it is mess. The Gramps.js repo started using same data structures just new UI and finally they added delete function finishing CRUD bigo.
This means you can use the web app without ever using desktop app and since it is all hosted everybody who cares can contribute ~~without~~ with less of a risk of corrupting all the data.

Cons.
I think gramps.js is still incredibly janky (you have multiple objects that are handled independently for a single record i.e. family and person) and the maintainers priorities are bazar (implementing delete 2 years after starting the project and adding UI niceties like maps and alternative graphing views...)

Importing.
If you have your genealogy on some site somewhat curated you should be able to export most of the core information and import into Gramps.js (pictures can be an issue). For the import you may need the desktop app to convert to correct format (desktop app still has a lot more features and if you need to do merges I recommend using it ).

20
 
 

The Google Photos feature of finding photos of a specific person in your collection by their face is the key feature my wife really loves. Is there a self-hosted tool (ideally Synology NAS compaible) that gives similar functionally I could have more control over how it's using/analyzing our photos,, rather than needing to trust Google with our family photos just for that feature?

21
 
 

Hey self-hosted community! I thought I'd pose this question to you all as you seem to have a lot of experience with hosting things on limited budgets with usually a single person administering!

I am volunteering with a small rural news organization that operates in my home country. They do rural news for people living in villages and they give people (particularly women) in these villages the opportunity to be reporters. It is a really cool organization that empowers people in these villages through journalism. When they hire a reporter they give them an android-based smartphone and a handheld microphone. The reporters will shoot selfie-style reports, interviews and b-roll in the field and then file the video back to the main office where the videos can be edited. Currently they use whatsapp and signal which has worked decently well but both platforms compress the video a lot so the quality is degraded by the time it is received.

What they need is an easy way to transfer the original video files (usually mp4 h264) over spotty rural cellular networks.

Do you all have any recommendations for protocols or platforms to use? This is an organization with a very limited budget. I was thinking some kind of SFTP server that I could maintain remotely but I do not know if the clients are very robust against network dropouts and also are they easy enough for someone who has grown up in a rural village to learn. I have some IT skills but never tried anything like this.

A secondary issue they have brought up is when the field reporters do file their video in, it is increasingly difficult over time to keep everything organized. The filenames will be something like YYYYMMDD_XXXX.mp4 and the editor has to do a lot of work to organize and rename the files. I know there are MAM (Media asset management) softwares out there but from cursory googling it seems like a lot of the solutions out there are really built for large organizations that can pay a lot of money for the hardware/software. Is there any software that could automatically file away these videos possibly based on who is sending them or maybe the if the metadata has location data in it?

Any advice would be welcome!

22
 
 

I have a synology NAS where I backup my photos to. What would be the most cost effective way to encrypt and back up this data without having to purchase another NAS and install it at a family member's house. It would be about 5 TB and would not touch the data unless my NAS completely takes a crap.

23
 
 
24
 
 

Hey all

I wanted to show off my new project, webmesh. It's yet another solution for creating WireGuard mesh networks/VPNs between multiple hosts.
It differs from others in that there is a controller-less architecture that maintains the network state on every node via Raft consensus. This allows for any node to become the "leader" should one go away.

More infoz in the README and on the project website: https://webmeshproj.github.io

Excited to hear any feedback :)

25
4
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/[email protected]
 
 

I'm hoping to find a build list for a general home server/NAS. The goal is to have a server capable of running 2-3 VMs along with a handful of containers, act as a Plex server, and act as a NAS for media storage.

The VMs will be game servers so probably on the beefy side. Plex will need to transcode but never likely more than 3-4 simultaneous streams at most.

Budget isn't too important within reason, my general preference is to go bigger than needed to future proof myself a little and give a cushion for changing needs. I'd like to keep the build < $3000 if possible.

I have no preference on specific hardware or OS so long as the end product can perform well and meet my needs. I'm also not opposed to buying something premade if there something out there that might fit the bill.

Really appreciate any insight, thanks!

EDIT: Should add I'm also not super concerned about noise, this will be located in an out of the way closet so it shouldn't be an issue.

view more: next ›