this post was submitted on 16 Sep 2023
173 points (96.3% liked)

Selfhosted

39256 readers
360 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'm trying to better understand hosting a Lemmy Instance. Lurking discussions it seems like some people are hosting from the Cloud or VPS. My understanding is that it's better to futureproof by running your own home server so that you have the data and the top most control of hardware, software etc. My understanding is that by hosting an instance via Cloud or VPS you are offloading the data / information to a 3rd party.

Are people actually running their own actual self-hosted servers from home? Do you have any recommended guides on running a Lemmy Instance?

top 50 comments
sorted by: hot top controversial new old
[–] J_C___@lemmy.place 52 points 1 year ago (5 children)

Selfhosting is the act of hosting applications on "hardware you control". That could be rented or owned, its the same to us. You could go out and buy a server to host your applications but there a few issues that you might run into that could prevent you from simply standing up a server rack in your spare room. From shitty ISPs to lack of hardware knowledge there are plenty of reasons to just rent a VPS. Either way youre one of us :)

load more comments (5 replies)
[–] space@lemmy.dbzer0.com 34 points 1 year ago

Self hosting basically means you are running the server application yourself. It doesn't matter if it's at home, on a cloud service or anywhere else.

I wouldn't recommend hosting a social network like lemmy, because you would be legally responsible for all the content served from your servers. That means a lot of moderation work. Also, these types of applications are very demanding in terms of data storage, you end up with an ever growing dataset of posts, pictures etc.

But self hosting is very interesting and empowering. There are a lot of applications you can self host, from media servers (Plex, Jellyfin), personal cloud (like Google Drive) with NextCloud, blocking ads with pihole, sync servers for various apps like Obsidian, password manager BitWarden etc. You can even make your own website by coding it, or using a CMS platform like WordPress.

Check the Awesome Self-hosted list on GitHub, has a ton of great stuff.

And in terms of hardware, any old computer or laptop can be used, just install your favorite server OS (Linux, FreeBSD/OpenBSD, even Windows Server). You can play with virtualization too if you have enough horsepower and memory with ESXI or Proxmox, so you can run multiple severs at once on the same computer.

[–] NeoNachtwaechter@lemmy.world 31 points 1 year ago (5 children)

actually have a server at home

I haven't got any piece of hardware that was sold with the firstname "Server".

But there's this self-built PC in my room that's running 24/7 without having to reboot in several years...

[–] cyberpunk007@lemmy.ca 25 points 1 year ago (1 children)

Well technically a "server" is a machine dedicated to "serving" something, like a service or website or whatever. A regular desktop can be a server, it's just not built as well as a "real" server.

[–] VonReposti@feddit.dk 26 points 1 year ago (5 children)

There is though reasons to stray from certain consumer products for server equipment.

[–] tristan@aussie.zone 7 points 1 year ago (22 children)

Yeah I'd stay away from Mac too... but seriously most modern laptops can disable any sleep/hibernation on lid close

My go to lately is Lenovo tiny, can pick them up super cheap with 6-12 month warranties, throw in some extra ram, a new drive, haven't had any fail on me yet

load more comments (22 replies)
[–] user224@lemmy.sdf.org 7 points 1 year ago

Just set it to "do nothing" when lid is closed. That's all.

load more comments (3 replies)
[–] nix@merv.news 8 points 1 year ago (4 children)

How do you install security updates etc without restarting?

Linux servers prompt you do restart after certain updates do you just not restart?

[–] VonReposti@feddit.dk 15 points 1 year ago (2 children)

Enterprise distributuions can hot-swap kernels, making it unnecessary to reboot in order to make system updates.

load more comments (2 replies)
[–] avidamoeba@lemmy.ca 3 points 1 year ago* (last edited 1 year ago)

The right way (tm) is to have the application deployed with high availability. That is every component should have more than one server serving it. Then you can take them offline for a reboot sequentially so that there's always a live one serving users.

This is taken to an extreme in cloud best practices where we don't even update any servers. We update the versions of the packages we want in some source code file. From that we build a new OS image contains the updated things along with the application that the server will run and it's ready to boot. Then in some sequence we kill server VMs running the old image and create news ones running the new. Finally the old VMs are deleted.

load more comments (2 replies)
[–] ProtecyaTec@lemmy.world 3 points 1 year ago (4 children)

Do you have any recommended resources for getting started? I do have a secondary PC...

[–] morras@links.hackliberty.org 9 points 1 year ago

First, you need a use-case. It's worthless to have a server just for the sake of it.

For example, you may want to replace google photos by a local save of your photos.

Or you may want to share your movies accross the home network. Or be able to access important documents from any device at home, without hosting them on any kind of cloud storage

Or run a bunch of automation at home.

TL;DR choose a service you use and would like to replace by something more private.

[–] bender@insaneutopia.com 6 points 1 year ago (1 children)

Get a copy of vmware (esxi) or proxmox and load it on that secondary pc.

[–] tinysalamander@lemmy.world 10 points 1 year ago (1 children)

Proxmox absolutely changed the game for me learning Linux. Spinning up LXC containers in seconds to test out applications or simply to learn different Linux OSs without worrying about the install process each time has probably saved me days of my life at this point. Plus being able to use and learn ZFS natively is really cool.

[–] bender@insaneutopia.com 6 points 1 year ago

Ive been using esxi (free copy) for years. Same situation. Being able to spin up virtual machines or take a snapshot before a major change has been priceless. I started off with smaller nuc computers and have upgraded to full fledged desktops.

[–] PlutoniumAcid@lemmy.world 3 points 1 year ago

The simple way is to Google 'yunohost' and install that on your spare machine, then just play around with what that offers.

If you want, you could also dive deeper by installing Linux (e.g.Ubuntu), then installing Docker, then spin up Portainer as your first container.

load more comments (2 replies)
[–] h3ndrik@feddit.de 31 points 1 year ago (5 children)

Me, yes. But it's still selfhosting if you do it on a VPS. And probably easier, too. I mainly do it at home, because I can have multiple large harddisks this way. And storage is kind of expensive in the cloud.

load more comments (5 replies)
[–] Oha@lemmy.ohaa.xyz 25 points 1 year ago

Are people actually running their own actual self-hosted servers from home?

My lemmy instance is hosted in my basement

[–] Voroxpete@sh.itjust.works 25 points 1 year ago

"Self-hosted" means you are in control of the platform. That doesn't mean you have to own the platform outright, just that you hold the keys.

Using a VPS to build a Nextcloud server vs using Google Drive is like the difference between leasing a car and taking a taxi. Yes, you don't technically own the car like you would if you bought it outright, but that difference is mostly academic. The fact is you're still in the driver's seat, controlling how everything works. You get to drive where you want to, in your own time, you pick the music, you set the AC, you adjust the seats, and you can store as much stuff in the trunk as you want, for as long as you want.

As long as you're the person behind the metaphorical wheel, it's still self-hosting.

[–] hitagi@ani.social 18 points 1 year ago

I'm sure the original spirit of selfhosting is actually owning the hardware (whether enterprise- or consumer-grade) but depending on your situation, renting a server could be more stable or cost effective. Whether you own the hardware or not, we all (more or less) have shared experiences anyway.

Where I live, there are some seasons wherein the weather could be pretty bad and internet or electricity outages can happen. I wouldn't mind hours or even days of downtime for a service whose users are only myself or a few other people (i.e. non-critical services) like a private Jellyfin server, a Discord bot, or a game server.

For a public Lemmy server, I'd rather host it on the cloud where the hardware is located in a datacenter and I pay for other people to manage whatever disasters that could happen. As long as I make regular backups, I'm free to move elsewhere if I'm not satisfied with their service.

As far as costs go, it might be cheaper to rent VMs if you don't need a whole lot of performance. If you need something like a dedicated GPU, then renting becomes much more expensive. Also consider your own electricity costs and internet bills and whether you're under NAT or not. You might need to use Cloudflare tunnels or rent a VPS as a proxy to expose your homeserver to the rest of the world.

If the concern is just data privacy and security, then honestly, I have no idea. I know it's common practice to encrypt your backups but I don't know if the Lemmy database is encrypted itself or something. I'm a total idiot when it comes to these so hopefully someone can chime in and explain to us :D

For Lemmy hosting guides, I wrote one which you can find here but it's pretty outdated by now. I've moved to rootless Docker for example. The Lemmy docs were awful at the time so I made some modifications based on past experiences with selfhosting. If you're struggling with their recommended way of installing it, you can use my guide as reference or just ask around in this community. There's a lot of friendly people who can help!

[–] MolochAlter@lemmy.world 18 points 1 year ago (1 children)

Yep, big ol' case under my desk with some 20TB of storage space.

Most of what I host is piracy related 👀

[–] bender@insaneutopia.com 4 points 1 year ago (4 children)

how much of the 20tb is used?

[–] bingbong@lemmy.dbzer0.com 11 points 1 year ago (2 children)

Free space is wasted space

~19.5 tb of hardcore midget porn

~500 gigs of whale sounds to help me sleep

load more comments (2 replies)
load more comments (3 replies)
[–] thisisawayoflife@lemmy.world 15 points 1 year ago

Some stuff is just better hosted in a proper data center. Like mail, DNS or a search engine. Some stuff, like sensitive data, is better hosted on your own hardware in your home.

[–] PuppyOSAndCoffee@lemmy.ml 12 points 1 year ago (2 children)

Certain cloud providers are as secure, if not more secure, than a home lab. Amazon, Google, Microsoft, et al. are responding to 0-day vulnerabilities on the reg. In a home lab, that is on you.

To me, self-hosted means you deploy, operate, and maintain your services.

Why? Varied...the most crucial reason is 1) it is fun because 2) they work.

[–] aard@kyu.de 3 points 1 year ago (6 children)

Listing Microsoft cloud after their recent certificate mess is an interesting choice.

Also, the "cloud responds to vulnerability" only works if you're paying them to host the services for you - which definitely no longer is self hosting. If you bring up your own services the patching is on you, no matter where they are.

If you care about stuff like "have some stuff encrypted with the keys in a hardware module" own hardware is your only option. If you don't care about that you still need to be aware that "cloud" or "VPS" still means that you're sharing hardware with third parties - which comes with potential security issues.

load more comments (6 replies)
load more comments (1 replies)
[–] dandroid@dandroid.app 11 points 1 year ago (2 children)

My "server" is just my old gaming PC that I slapped Ubuntu on.

[–] Spider89@lemmy.world 7 points 1 year ago

My "Server" is a small 32bit ARM Orangepi.

load more comments (1 replies)
[–] niisyth@lemmy.ca 11 points 1 year ago (1 children)

I have a salvaged HP 3500 Pro with an HTPC case and 8.5 TB storage. Started mainly for Jellyfin and now have half a dozen docker containers on it. Great test bed for getting used to linux before I slowly creep towards having it as my main OS on my PC.

[–] surewhynotlem@lemmy.world 12 points 1 year ago (2 children)

I'm starting to realize that jellyfin is a gateway drug to self-hosting. And I'm here for it.

load more comments (2 replies)
[–] anteaters@feddit.de 10 points 1 year ago (1 children)

No that's a homelab. Selfhosted applies to the software that you install and administrate yourself so you have full control over it. If it was about running hardware at home we'd see more posts about hardware.

[–] towerful@programming.dev 3 points 1 year ago

I would say that a homelab is more about learning, developing, breaking things.
Running esoteric protocols, strange radio/GPS setups, setting up and tearing down CI/CD pipelines, autoscalers, over-complicated networks and storage arrays.
Whereas (self)hosting is about maintaining functionality and uptime.
You could self-host with hardware at home, or on cloud infra. Ultimately it's running services yourself instead of paying someone else to do it.

I guess self-hosting is a small step away from earning money (or does earn money). Reliable uptime, regular maintenance etc.

Homelabbing is just a money sink for fun, learning and experience. Perhaps your homelab turns into self-hosting. Or perhaps part of your self-hosting infra is dedicated to a lab environment.
Homelab is as much about software as it is about hardware. Trying new filesystems, new OSs, new deployment pipelines, whatever

[–] poVoq@slrpnk.net 8 points 1 year ago (6 children)

It's not strictly defined like that. Some people do, others don't.

load more comments (6 replies)
[–] sparr@lemmy.world 8 points 1 year ago

Most people who "self host" things are still doing it on a server somewhere outside their home. Could be a VPS, a cloud instance, colocated bare metal, ...

[–] KingThrillgore@lemmy.ml 4 points 1 year ago (2 children)

I pay Dreamhost for a beef pc VPS, that's what "selfhosted" means to me. I host all kinds of shit on it.

load more comments (2 replies)
[–] t0fr@lemmy.ca 4 points 1 year ago

For me it does. I'm sure some other people use a VPS or something and self host using a cloud provider of some kind.

[–] BrightCandle@lemmy.world 4 points 1 year ago* (last edited 1 year ago)

I do both. I have a custom built NAS based on a Ryzen 3600 and ZFS across 4 drives which runs about 20 self hosted applications and stores the majority of my files but its only accessible from within the home. I also rent a small VPS for personal webspace and hosting self hosted apps I want out of the house.

In the past I have also hosted raw servers from Hetzner or bigger VPS from Amazon for the purpose of hosting a game server. Alongside those I often had community applications like website, forums, wikis and custom chat and voice comms services.

Its all self hosting to me since I run it. The various options are all about the trade offs of security, accessibility, cost and performance. The cheaper cloud options when you add it up can be cheap compared to buying and running your own hardware when you take into account electrical costs and the likely hardware replacement needs within 5 years. The big cloud providers aren't price competitive but Contabo/Hetzner really surprisingly are especially if you pay a lot for electricity. But then if you need a game server it can be quite hard to find good fast CPUs on the cloud and its not going to be 24/7 for communities, so the trade off flips back to having your own.

Since I got 1 gbit/s fibre internet my need for internal NAS has definitely reduced as the internet is nearly as fast as the local network so I could now have my NAS needs remote.

[–] Decronym@lemmy.decronym.xyz 4 points 1 year ago* (last edited 4 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
CGNAT Carrier-Grade NAT
DNS Domain Name Service/System
Git Popular version control system, primarily for code
HTTP Hypertext Transfer Protocol, the Web
IP Internet Protocol
LXC Linux Containers
NAS Network-Attached Storage
NAT Network Address Translation
Plex Brand of media server package
SATA Serial AT Attachment interface for mass storage
SSD Solid State Drive mass storage
VPN Virtual Private Network
VPS Virtual Private Server (opposed to shared hosting)
nginx Popular HTTP server

[Thread #139 for this sub, first seen 16th Sep 2023, 05:05] [FAQ] [Full list] [Contact] [Source code]

[–] russjr08@outpost.zeuslink.net 3 points 1 year ago

I do not think that self-hosting necessarily means that you have to host it at home. As others have pointed out, its more about hosting it on hardware you control.

I do think there is certainly a trust factor involved if you host stuff on hardware that you don't own, but at the end of the day only you can deem whom you can trust. For example, I rent a couple of dedicated servers from a provider, but I also have a pretty good personal connection with the owner of that provider - so I have no concerns about the safety of my data. In general, I tend to just be pretty conscientious about what data is going to any server, and anything that I wouldn't want falling into the wrong hands doesn't leave my house unless I can guarantee its safety (with the likes of encryption and such).

I do also keep in mind that with the various providers out there, reputation is paramount to them (or at least, the good ones) so it is generally in their best interest to say, let someone walk into their datacenter and just start ripping the drives from your systems.

load more comments
view more: next ›