this post was submitted on 16 Feb 2024
28 points (96.7% liked)

Selfhosted

40113 readers
792 users here now

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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. 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.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

I wanted te host own matrix server, but it's seems too complicated for the first time hosting. So, what do you recommend?

top 18 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 8 months ago* (last edited 8 months ago)

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

Fewer Letters More Letters
IP Internet Protocol
LAMP Linux-Apache-MySQL-PHP stack for webhosting
SSL Secure Sockets Layer, for transparent encryption
TLS Transport Layer Security, supersedes SSL
VPN Virtual Private Network
VPS Virtual Private Server (opposed to shared hosting)

5 acronyms in this thread; the most compressed thread commented on today has 4 acronyms.

[Thread #520 for this sub, first seen 17th Feb 2024, 10:05] [FAQ] [Full list] [Contact] [Source code]

[–] [email protected] 2 points 8 months ago

if IM was your need, check snikket.org although I can't remember how well they support OTP encryption... of course it's subjective how many layers one need, I'd be happy with just self-host and TLS, that's how far I'd go for me and my relatives for day-to-day privacy.

[–] [email protected] 1 points 8 months ago

Cloudron.io to transform your server into a whole system with hostable apps preconfigured to install in a clic.

[–] [email protected] 6 points 8 months ago

Vaultwarden could be a good start. Everyone needs a good password manager, and setting up one at home is pretty easy.

You don't even need to expose it to the internet, you can start with a local installation (with some limitations).

[–] [email protected] 2 points 8 months ago

I chose Navidrome, with which you can stream music from your hard drive. It has very easy setup and it feels just great to stream your own music. I use Tailscale to connect the server to my phone and Ampery as an iOS app.

[–] [email protected] 7 points 8 months ago* (last edited 8 months ago)

Pi-hole was really simple to set up. It was absolutely worth it and I've got it running on an old netbook. Very easy on resources.

Syncthing is also nice if you have files that you want easily shared between devices. I use it for sharing work files that I want synced between multiple devices. When I edit something it gets shared to all of my devices and it's always up to date everywhere.

[–] [email protected] 4 points 8 months ago

I chose Nextcloud as my first project because I had an interest in the project for a while. I did an old fashioned install which I later rebuilt with docker. I learned a lot doing it manually twice first. I echo the others. Find a project you like, preferably with its own community so you can ask for help when you inevitably mess something up.

[–] [email protected] 5 points 9 months ago (1 children)

What ever you want? I would start by creating a virtual environment out of the gate if you have some hardware. Find yourself a minipc and then install Proxmox. From there you can create a single VM to play with. I would start by installing Nextcloud AIO in a Debian VM once you have an environment to play in.

(Side note: Make sure to follow good practices. Feel free to ask if you want more information)

[–] [email protected] 3 points 8 months ago (2 children)

(Side note: Make sure to follow good practices. Feel free to ask if you want more information)

Not OP, but I'd like some more information about following good practices, please, especially in terms of "the best way" to make services available outside my lan (forwarding ports vs. a reverse proxy vs. a tunnel vs. a vpn -- assuming some of those terms aren't the same thing and I'm too much of a noob to realize).

[–] [email protected] 1 points 8 months ago

I would start with a tailscale network.

Maybe take a look at this: https://tailscale.com/blog/docker-tailscale-guide

[–] [email protected] 1 points 8 months ago

You really should not directly expose services to the public internet. That opens up high levels of risk and anything you do expose needs to be monitored and isolated from everything else.

I would start by creating a separate subnet for your homelab. You should setup firewall rules to disallow traffic to pass between them. For exposing services to your internal lan you should set up basic port forwards.

For remote access you should setup a VPN. Wireguard is going to have the best performance and you can either host it at home or use a mesh VPN solution like netbird or Tailscale.

If you must expose something to the internet be very careful. You should follow least privilege always and restrict access to everything the exposed service doesn't need. Lastly you should assume that you system will be compromised so make sure you have backups.

For me I don't have a static IP so I created a VPS in Linode and then setup Wireguard with a reverse proxy to route traffic into my homelab. This approach is better than exposing your home IP in my option as it moves your Internet activity and hosted services to different IPs. Its not totally unheard of to have a shady website scan your IP for open services that can be exploited.

Another though: you also could set up a honeypot to see attacks in real time. There are tools to do this and it would show you what your up against.

[–] [email protected] 9 points 9 months ago

Reading the title without seeing the category name ...

[–] [email protected] 5 points 9 months ago

Maybe install Debian and setup yunohost.

[–] [email protected] 3 points 9 months ago

https://snikket.org/service/quickstart/

Is fairly easy and you might end up preferring XMPP over Matrix anyway ☺️

[–] [email protected] 21 points 9 months ago (2 children)

I'd first recommend that you think about what you need.

What do you need? Do you want a safe space to back up your photos & videos from your phone? Or maybe a way to stream your movies, series and/or music in a cheap way?

Once you figure out what you want to host, you can look into which program can fulfill your needs. Check out the awesome-selfhosted list for a HUGE amount of services you could host.

[–] [email protected] 8 points 9 months ago (1 children)

I’d first recommend that you think about what you need.

This is the absolutely correct option. I've set up way too many things without a use case and lost interest shortly after. If you have a real world use case for your project, even if it's just for yourself, you'll have the incentive to keep it going. If you're just setting things up for the sake of it the hobby loses it's appeal pretty quickly. Of course you'll learn a thing or two on the way but without a real world use case the things you set up will either become a burden to keep up with or they're eventually just deleted.

Personally, tinkering with things that are just removed after a while gave me skills which landed me on my current job, but it's affected myself enough that I don't enjoy setting things up just for the sake of it anymore. Of course time plays a part on this, I've been doing this long enough that when I started a basic LAMP server was a pretty neat thing to have around, so take this with a grain of oldtimer salt, but my experience is that setting up things that are actually useful on a long term is way more rewarding than spinning up something which gets deleted in a month and it'll keep the spark going on for much longer.

[–] [email protected] 4 points 9 months ago

I think maintainability has a lot to do with it as well, and what you consider maintainable. I see a lot of interesting setups on here but some of the bigger ones I'm iffy about because authentication or some other critical, lower level protocol is outsourced. To some that sounds great and is easily maintained, but I don't personally consider those super maintainable or sustainable for my setups. I prefer to take the greybeard method and do it all myself. As such, when time comes to do maintenance yeah I have more burden on myself but it's a burden that I explicitly put on myself and that I enjoy.

[–] [email protected] 3 points 9 months ago

Really cool list. Thank you for sharing!