Slowly exploring the lemmy ecosystem, since I don’t want to use reddit, and was wondering if selfhosting would be a good idea?
Do you mean hosting a server just for your own personal use? Technical knowhow aside there are pros and cons.
Pros:
- You’re very unlikely to get defederated from anywhere and can control exactly who you defederate from
- You’re not at the whim of your server owner suddenly deciding to shut down one day
- You can decide whether or not to host communities on your server, in which case you’ll have control over exactly which ones get to be hosted there
Cons:
- You’ll need to search harder for communities to build up your subscription feed because you won’t have other users searching and indexing new things all the time, so you’ll be fairly reliant on sites like lemmyverse.net at least at first.
- Anecdotally I’ve heard that once you’ve got some bigger communities federated with your own, the database storage requirements can be surprisingly big. That’s just from off-hand comments from other admins though, I don’t know enough to comment or have any hard numbers on it.
@thegiddystitcher @RedirectedPotato
Another con: You become an admin/moderator and have to keep up to date with the latest bad servers to defederate from and you’ll have to deal with all kind of bad posts yourself instead of relying on a moderation team.
Yes. I am immune from the beehaw/lemmy.world drama or similar. I can block instances as I please and I can tinker with my instance.
There is already drama? Lol
Eh, kinda. lemmy doesn’t have super great moderation tools yet, and the influx of users on lemmy.world and lemmy.ml included people posting some content that was against beehaw’s moderation guidelines. Rather than deal with being overwhelmed without much option, they decided to temporarily defederate until there was a clear path to resolving the issue (i.e. better mod tools).
I think people are making it out to be a bigger deal than it really is, and those flames are probably being stoked by the trolls.
There are plenty of “no actually assault weapons are good for society” and “actually Ukraine is the aggressor” groypers around now, but I guess that just means Lemmy is getting popular enough to attract the masses - which in the end is a net positive.
Lemmy.ml wasn’t defederated. It was lemmy.world and sh.itjust.works.
I also feel like users assume Lemmy is a lot more developed than it is.
Reddit went through several back end changes as it grew over time, and Lemmy has done very little in that regard.
You also have such a small user base that Lemmy isn’t important. Once Lemmy becomes important, it is going to need to deal with a lot of issues that it currently isn’t designed to deal with.
Lemmy is going to need to learn to scale.
I can tinker with my instance.
I didn’t even find a SANE way to set it up with Docker without having to tinker with the instance. I just want a container not generating half a dozen of other containers and volumes.
A single container for everything gets away from the point of containerization. If you have a single container for lemmy-ui, lemmy backend, and postgres, you need to rebuild that container whenever any one of those applications gets an update, and they could start to interfere with each other. Keeping them in separate containers makes everything a lot cleaner, it just requires something like docker compose to put it all together.
Did you try the Ansible install? Provided you’re installing onto a supported Debian/Ubuntu version, I found it fairly straightforward.
I see the container thing a little different. A container should contain all things that are needed to run the containered application (and if it is a web application then exposing one single port). Creating containers should not create multiple other containers ( have no other use for) or networks, or volumes.
They aren’t all one application. Many of the parts can be swapped out for alternatives, shared with other services, or just excluded entirely. They can also be scaled separately which is important because not all of them need to scale at the same rate.
What you want is explicitly what docker-compose exists to do.
Many of the parts can be swapped out for alternatives, shared with other services
Let’s go through it.
proxy: image: nginx:1-alpine
I already have one running, why do I now need another one installed als another container exclusively for Lemmy?pictrs: image: asonix/pictrs:0.4.0-beta.19
I have no other use for this except for Lemmy, why do I need another container just for this application I never heard of?postgres: image: postgres:15-alpine
I have absolutely no use for Postgres. Why do I need to install a database server as container just for being used by Lemmy, and Lemmy only?
And then, yes, of course,
lemmy
andlemmy-ui
So 5 different containers (and 4 volumes, and 2 networks) all set up only for Lemmy, cluttering my setup – not counted in all the volumes, containers, and networks set up by the 3 additional containers.
And since I’m pinned to specific versions I need to manually check new/changed dependencies when updating Lemmy instead of just rebuilding the container.
I still see no point in that.
It is common to run more than one application in a given server. Nginx, for example, is widely used as a reverse proxy and web server for operating multiple containerized applications on the same server. Postgres is a commonly used database that can potentially be used on hundreds of applications simultaneously. Duplicating them on all containers would just create a mountain of problems and waste resources for no real benefit.
If all you’re running is lemmy then why are you so upset about containers “cluttering” up things? What is there to clutter up, your
docker ps
output ? If you want, just pretend the host is itself a container running lemmy (which it might just be, depending on your host!). Alternately, make your own nested container that just does adocker-compose up
and pointlessly duplicate all the services you want. Complaining that the container managers don’t do this for you, to the detriment of others who don’t share your specific niche, is just blatantly entitled and absurd.Nginx, for example, is widely used as a reverse proxy
I use it as reverse proxy already. Why do I need to install a reverse proxy for Lemmy?
If all you’re running is lemmy then why are you so upset about containers “cluttering” up things?
That’s the thing: i don’t.
But maybe I should get a real or virtual machine used exclusively for Lemmy and adding its Docker environment to my current Portainer installation.
- More private, if you’re overly conscious about your IP being tracker by instance host
- You own your data
- You can experiment with alpha releases
- You can customize everything. Default CSS, javascript, etc
- You can’t be censored (only defederated)
Not the OP, but can you move your account to a private instance or is it not possible at the moment?
It’s not possible at the moment. Lemmy devs acknowledged it was a widely requested feature but last I read, they were focused on maintaining the performance of Lemmy during the spike of users during the great Reddit migration.
You become your own admin, with all the privileges and rights therein. You are also less likely to be defederated since your server is less likely to create problems with other servers.
You end up as the ultimate decider on what you federate with. If you join someone else’s community you might not agree with their administration or moderation decisions.
It’s a fun exercise in system administration, it taught me some new things. It got me interested in Rust as a programming language (not that you need to know that to run an instance - I was just tinkering w: source code)
There are two big benefits in my opinion.
-
Speed and responsiveness. When the bigger instances were (or are) overloaded, my Lemmy experience was still fast and snappy. Content was slower to update for those big instances, but navigating Lemmy itself was still fine, and it gave me an opportunity to engage with some smaller communities.
-
Control of federation. I decide who to federate with, and as long as I follow other instance and community rules, I won’t get defederated.
The biggest downside is that I can’t discover new communities organically since I’m the only real active user of my instance. Nothing new gets federated unless I seek it out. But I solve that by using a fediverse indexer every week or so to search for popular or interesting communities.
But I solve that by using a fediverse indexer every week or so to search for popular or interesting communities.
Is there a way to automatically federate with other instances? Because I started my own Lemmy instance, and its annoying having to manually go to every community in order to federate with it. (The instance is for my own personal use, so I won’t be opening registrations)
Absolutely, there are two tools I use to do so.
-
Lemmy Community Seeder - Very customizable tool that by default grabs the top 50 posts in the top 50 communities of the specified instances every few hours.
-
Lemmony - Less customizable tool that by default grabs pretty much everything. Probably less ideal for larger or more active instances, but my instance has 5 or 6 users, only a couple of which are active, so this tool has been awesome for populating my “All” feed.
I recommend creating a non-admin bot account and using that for these tools.
Badass thanks for this. I’ve enjoyed kinda keeping my instance more catered but starting to want to at least have more available and just subscribe to the stuff I want to see regularly.
-
-