

- You host it yourself
- You can get a cool domain name
- It’s pretty low maintenance
DevOps as a profession and software development for fun. Admin of lemmy.nrd.li and akkoma.nrd.li.
Filibuster vigilantly.
Docker isn’t super necessary, there are some scripts out there that hide a good bit of how it works like the official ansible playbook or lemmy-easy-deploy.
I use docker to easily run many pieces of software in isolation from each other, it’s like VMs if you’re familiar with those, but different in some key ways that don’t really matter for this discussion.
I would still go with one that isn’t one of the biggest. My general advice is to find one that fits the vibe you’re going for, communities you’re interested in (e.g. some are focused on art or cybersecurity, etc), or is somehow tied to your locality. It shouldn’t matter that much, though some servers will be a little more (or less) strict with things like federation, content warnings, alt text, etc. Usually the server will have some info telling you some of this, and their admin should be linked and likely has a post or two pinned to their profile explaining some of this as well.
I am partial to kind.social, though have opted to run my own instead of joining up anywhere.
Honestly it depends on what your experience level with running software is and what you want out of it. For me things have been rather smooth sailing as I already host a number of things for myself (so know all about domains, DNS, servers, reverse proxies, docker, etc.) and I am the only one actively using my instance right now so (local or admin-level) moderation isn’t really an issue either.
I am very aware of what it takes to run a small instance, you are indeed correct that domain registration is not the hardest part.
Just run your own instance, I say… that way it’s your fault when you forget to renew the domain name instead of the poor soul running vlemmy.
It depends on what specific thing you want to add geoblocking to, but often something like the MaxMind GeoIP database, which then can feed into a firewall to pre-emptively geo-block at a connection level, or as part of e.g. nginx geolocating the IP a of the connecting IP then making the blocking decision at request time.
There’s a project that works with Traefik’s forward-auth middleware to do this, which is probably how I would go about it if I wanted it at an HTTP level.
No, these issues are pretty much by-design. In ActivityPub IDs are inherently tied to the domain on which they were created. Based on the nature of federation it is safe to assume someone somewhere will still go looking for that thing via the outdated URL.
If you’re taking that approach make sure you shut down the stack before you copy the data over so everything gets copied over consistently (e.g. the DB isn’t in the middle of a write), and yes it should pretty much be that easy.
Nope, not from a DNS level. All the posts you are reading are cached by whatever instance your account is on. Basically the only thing served from the remote instance is full-size media uploaded to that instance. Even thumbnails are served from whatever instance you use. Mastodon/Akkoma/etc can be set up to even proxy full-size media for users, which is a feature I imagine will eventually make its way into Lemmy. Your best bet at the moment would be to find an instance that defederates those you don’t want to see (or run your own and do so yourself). I know “blocking” an instance is an often-requested feature, so that may end up a feature in Lemmy itself at some point.
Whoo, can’t wait for this season of “Wait, I thought we made progress last episode/chapter!?”
I am a bit behind on the manga, but it has been really hard to be motivated to read it. It feels like any minuscule piece of progress is followed by immediate regression. I was very much in the mindset of “Fuck you, I’ll see you next week” for a while, haha.
I’ll comment my thoughts after I get around to watching the episode a bit later today.
Things don’t get backfilled, so until a new action happens on an old post/comment/etc they won’t show up on your instance. New things should make their way in eventually though.
Taking the link of a specific post/comment from the community instance and searching for it from your instance should populate it on your instance, just like you probably had to do to get this community to show up so you could subscribe/post at all.
There are backfill tools/scripts, but unless you really want old posts I wouldn’t use them. It unnecessarily increases the load on already struggling popular/overloaded instances like lemmy.world.
Agreed, I recommended filtering to only http(s) links in the github issue, I just made this x-post. I don’t see a strong reason to let people link to weird things like file:
and data:
, or deeplink to installed apps on your computer/phone. Filtering the scheme to just http(s) is how Nutomic seems to have fixed it in the backend from what I can tell (I am not a rust dev).
May the Lord have mercy on us all.
As someone who hosts a bunch of other stuff already including my own email (because I am a madman), does stuff like this as a job, has developer experience, etc. it was simple.
Figuring each of these things out (and how they all work together) for the first time was a hell of a journey.
Asklemmy isn’t really a place to ask about lemmy, it’s for asking general questions to users of lemmy, jut like you wouldn’t ask for Reddit support in /r/askreddit.
Regardless, this question gets asked and talked about in the !selfhosted@lemmy.world community fairly often, here is a (slightly edited) comment I made a while back.
You will need a domain name, you can buy one from a registrar such as hover or namecheap (for the love of all that you consider holy do not use godaddy).
You will need a way to expose the server that you set up via port forwarding or similar on your network.
You will need to set up DNS records on the domain you buy to point to your home IP. You may want to figure out a different way to avoid just handing that information out, cloudflare can help with that. You will want to make sure the DNS records get automatically updated if your IP address changes, which is not uncommon for residential ISPs.
You will need to figure out how to get an SSL certificate, Let’s Encrypt will issue them for free, cloudflare gives you one if you use them as a reverse proxy.
Some of this would likely be easier to do on a cloud provider like digitalocean or linode and could be done reasonably cheaply.
These are all common things for setting up any website, so lemmy docs won’t cover them. In addition to those (this answer was just addressing “how to get a URL”) you will need to install and configure lemmy, lemmy-ui, postgres, and pictrs somewhere (the join-lemmy docs cover this well).
If you want your instance to send emails you will have to figure out how you want to do that (too many options to cover in this answer).
When 0.18.1 gets released if you want captcha you’ll probably have to figure out an mCaptcha provider or set that up yourself.
Not to mention thinking about backups, high availability, etc, etc.
As far as hardware to host on you could get away with like ~$10/mo on most any cloud provider, run it on a Mini-PC in your closet, etc. My instance uses 1-2 GB of RAM, ~13GB of disk (and growing a few hundred MB per day), and ~30% of a CPU (an old i5).
Best of luck.
Posts will make their way over when someone interacts with it (comments/votes on it). I think old comments may make their way over under the same conditions. Old votes will not make their way over.
You can search for a post or comment to force your instance to load it (copy the federation link, the rainbow-web-looking icon) just like you would do for communities.
Not sure if it’s relevant as pretending to be form Germany may be the point here, but “Tor clients” aren’t “from” anywhere you can know, that’s just where the exit node is located.
They have been tuning the algorithm for that in the past releases, so may be related to that. Also, there is/was a bug where if you don’t restart lemmy (on the server) regularly stuff will get stuck at the top of hot and/or active.
Pretty sure it needs to be
https://$user:$pat@github.com/username/repo.git#branch
.