Selfhosted
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:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
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.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
-
No low-effort posts. This is subjective and will largely be determined by the community member reports.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
generally it is fine but it is kind of resource intensive
And now running both Lemmy and PieFed side by side (OP, posting from my PieFed account).
I think admin wise I am going to stick with PieFed. Definitely liking it more!
AS a ex single lemmy user, yes. I use PieFed instead. Background: https://jeena.net/lemmy-switch-to-piefed
Yes join the dosins of us 🥧
*Baker's dozens
I mean you jest, hence upvoting, but I also find it funny that more people use PieFed now than are on lemmy.ml (edit: to explain, that is by far the most talked about instance across the entire Threadiverse). On PieFed.social alone there are >1k active users.
I have heard from others who have done this that the storage space for the content will fill up incredibly quick unless you keep it disconnected from federation.
Ah, good catch. This is something I have to look into. Other self-hosted apps I have usually keep a local cache for a few days only and fetch on demand when needed. Need to explore if both Lemmy and PieFed to something similar.
Lemmy fetches everything that has ever been posted in any community that any user on that instance is subscribed to and keeps it indefinitely.
Since most activity happens in big communities that most people are subscribed to, most instances keep full, persistent copies of most things that were ever posted to lemmy.
That's why Lemmy scales so badly. If Lemmy was the size of Reddit, every instance would have to have storage capacity in the same order of magnitude as all of Reddit itself.
The problem only gets worse with time, since all that has been posted still remains.
The total replication also means that the copies need to be moderated by every instance individually, since every instance stores a copy of everything. So if e.g. someone posts illegal content on another instance and your instance stores a replica, you are just as legally liable for that illegal content as the original instance. Thus you have to moderate everything that runs over your instance.
Moderation effort is thus also replicated across all instances.
That bad scaling in storage and moderation is btw the reason why e.g. lemm.ee shut down. It was just too much cost and work to keep the instance running.
As far as I can tell PieFed already handles deleting old content (1 week by default, but I’m looking at the code on my phone so not the best way of doing research). I’ll do some more code reading later if I have a chance.
It's something I've wanted to do for a while. Honestly I want to host a Lemmy instance and my own peertube instance.
Two things are stopping me. I don't understand certain points of how things interact in the software or how to set it up properly to self host and be comfortable in it's security. I barely understand docker and some other stuff. It sucks because I understood how to use DOS at an around 14 by reading the manual. I also don't have the funding to do so in a way that I would feel comfortable at this point. I don't fully trust co-mingling my home services with web services due to the security risks.
Maybe try something like YunoHost. That's a web server Linux distribution. And it's supposed to take care of the set up and come with somewhat safe/secure defaults. You'd need some kind of server, though. Or run it in a VM to isolate it from your home services. They have PeerTube, Lemmy, PieFed installable with a few clicks. (There are other projects as well, Yunohost isn't the only option to help with the set up.)
But yes, some kind of isolation is probably nice with web services. Also from the home network, and from storage with personal data on it.
YuNoHost is a great alternative, but if you really want to learn, I would instead recommend really spending some time learning Docker; you don't have to understand how to build your own images (although that is also very useful), but mostly what is going on at a high level, and then switch to Docker Compose. These days it is extremely easy to run very complex architectures with a single compose file.
You also don't need to make it public for your tests, you can always start with local ip addresses and you own computer, or if you have a small computer that can run headless, then you can setup your experiments in there.
This is like the opposite of what you want to do for complex software - don't add more abstraction, or you won't know what to do when stuff goes wrong!
Not sure if I get your point. Abstraction is a concept used by IT people to deal with complexity. You'll use Docker containers in order not to have 200 very specific problems and learn about the intricate details of all of them. Or use a turnkey solution because a working day has a finite amount of hours and you can just not care and have somebody else set the XY value of Postgres to 128 because that's somehow needed for software M on python x.xx... Of course you're then not going to learn about these things. It is not "bad", though, in itself to abstract these issues away from you. Same for the other things I mentioned, networking, virtualization. Abstraction there allows to swap out complex things, do things once and in a clean way because it's easy to miss things without abstraction and you always need to pay attention to a bazillion of specifics. Also helps with backups, deal with issues because things should break within confined layers, punch above one's weight, security, do something once and roll it out several times...
I think what you want to avoid is poorly designed or written software. Or poorly done setups. Or not learn about important things. Abstraction is generally something you want, especially with complex things.
I will have to take another look. I've seen it before but didn't see anything about Lemmy and such.
As others have already said, piefed is much lighter than lemmy, and is what I’m running as well, my instance isn’t necessarily single-user, (anyone’s free to join), but there’s only one other user on my instance
yeeeeaaaahhhhh boiiiiii
And there they are!
Hi, single user lemmy instance here. I'd say it's been smooth sailing for now. I might consider moving to piefed like other folks here, but I'll keep it and see. Right now i can't even upgrade due to arm64 docker images are broken at the moment, but it's sufficient enough.
EDIT: Seems like it's fixed, yippee :D https://github.com/LemmyNet/lemmy/issues/6201#issuecomment-3693373333 kudos to mattlqx :)
How much storage is it using?
~3GB according to postgres, ~545MB for the pictures. Not too bad actually.
That's pretty good!
Running "my" own single user instance here.
Great! Love it! The whole idea.
For how long and how do resource usage and storage space used look by now?
Disk space 10gb, CPU/ram not noticeable on my server (lots of other services using more than Lemmy).
I think it's been up about one year. One user but I subscribe to all communities I find remotely interesting.
Thanks for the reply. So what kind of magnitude are we talking on the RAM usage here? Some people here talked about not being able to fit it inside 2G total. So I assume it's probably like hundreds of megs which is only really significant in such low memory configurations.
My instance runs great... I've got it on NVME drives and a system with 64GB of RAM. When I was hosting it on Digital Ocean, I often ran into performance issues with RAM (I think I just had 2GB). Since the switch it's been rock solid.
I am running them on a Raspberry Pi 5 with 8GB of RAM and a 2TB NVMe SSD. Loving it.
as a single user lemmy, no
I did it for a while and it was a fun little technical project but once the pictrs image cache exhausted the amount of storage I got in the cloud host service's free tier, I stopped because I didn't feel like spending money on it
I run a single user PieFed instance for a month now. Compatible with Lemmy. Everything runs smooth so far.
Thanks for all the feedback!
I’m going to take a look at PieFed, maybe run both in parallel for a few weeks and see which one fells better 😉.
I run a single user instance and it's horribly slow. Mostly because I only have HDDs and not enough RAM to compensate. I hope Lemmy 1.0 will increase database performance.
Piefed is supposedly much more performant. But I'm shying away from migrating because I don't want to lose my post history and uploaded pictures.
Another single-user Piefed guy weighing in. Do it.
I did it for a while but my system was constantly busy and there was this controversy about the image cache and possible CSAM which then prompted me to switch to using the flagship instance. Haven't tried any of the alternatives, though.
Having to run a full-blown PostgreSQL instance just for a single user is a show-stopper for me.
I don't really worry too much about running multiple DBs; all the apps I am currently running are dockerized. As far as I can run everything I need for an app can run as a container, I am good. For apps like these, they run in their own network and only the main entry point is visible to the interwebs via private tunnel.
In my case it's a matter of RAM (a few hundred megabytes available only).
Also might be worth thinking about what else you are self hosting. Don't want to self host all of your communication apps; that would be brittle.
Oh, I am running a bunch of things already, so adding one more to the stack is not a real problem for me. The only service I would think at least 100 times before even trying is email; yes, it is tempting to do it, but just thinking at all the ways that could go wrong gives me nightmares.